Beispiel #1
0
  /** Load all of the limits */
  private void loadLimits() {
    // make sure we're working on a clean slate
    defaultLimits.clear();
    playerLimits.clear();
    groupLimits.clear();

    // add the default limits
    defaultLimits.addAll(findLimits("defaults"));

    // add all of the player limits
    try {
      for (String player : configuration.getKeys("players")) {
        playerLimits.put(player.toLowerCase(), findLimits("players." + player));
      }
    } catch (NullPointerException e) {
    }

    // add all of the group limits
    try {
      for (String group : configuration.getKeys("groups")) {
        groupLimits.put(group, findLimits("groups." + group));
      }
    } catch (NullPointerException e) {
    }
  }
Beispiel #2
0
  /**
   * Find and match all of the limits in a given list of nodes for the config
   *
   * @param node
   * @return
   */
  private List<Limit> findLimits(String node) {
    List<Limit> limits = new LinkedList<Limit>();
    List<String> keys = configuration.getKeys(node);

    for (String key : keys) {
      String value = configuration.getString(node + "." + key);

      int limit;

      if (value.equalsIgnoreCase("unlimited")) {
        limit = UNLIMITED;
      } else {
        limit = Integer.parseInt(value);
      }

      // Match default
      if (key.equalsIgnoreCase("default")) {
        limits.add(new DefaultLimit(limit));
      } else {
        Material material = Material.getMaterial(key.toUpperCase());
        limits.add(new BlockLimit(material, limit));
      }
    }

    // Order it
    orderLimits(limits);

    return limits;
  }