Esempio n. 1
0
  public boolean withinGroupedLimit(Player player, Region region, Mob mob) {
    if (mob.playerLimitGroup.length() <= 0) return true;

    int limit = region.getPlayerGroupMobLimit(mob.playerLimitGroup);

    if (limit <= 0) return true;

    HashMap<String, PlayerMobCounter> playerLimiters = groupedPlayerMobs.get(player.getName());

    if (playerLimiters == null) return true;

    synchronized (playerLimiters) {
      PlayerMobCounter limiter = playerLimiters.get(mob.playerLimitGroup);
      return limiter != null ? limiter.withinLimit(limit, region.playerMobCooldown) : true;
    }
  }