From 789df98d8ca03490d40b793fc59af97e989a7fd9 Mon Sep 17 00:00:00 2001 From: tastybento Date: Thu, 27 Jun 2019 08:34:01 -0700 Subject: [PATCH] Fixes issue with entities not in config being limited. https://github.com/BentoBoxWorld/Limits/issues/30 --- .../addon/limits/listeners/EntityLimitListener.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/bentobox/addon/limits/listeners/EntityLimitListener.java b/src/main/java/bentobox/addon/limits/listeners/EntityLimitListener.java index e4f5267..03c03c6 100644 --- a/src/main/java/bentobox/addon/limits/listeners/EntityLimitListener.java +++ b/src/main/java/bentobox/addon/limits/listeners/EntityLimitListener.java @@ -128,7 +128,7 @@ public class EntityLimitListener implements Listener { e.setCancelled(true); User.getInstance(player).sendMessage("limits.hit-limit", "[material]", Util.prettifyText(e.getEntity().getType().toString()), - "[number]", String.valueOf(addon.getSettings().getLimits().get(e.getEntity().getType()))); + "[number]", String.valueOf(addon.getSettings().getLimits().getOrDefault(e.getEntity().getType(), -1))); } }); @@ -141,7 +141,7 @@ public class EntityLimitListener implements Listener { // Not allowed e.setCancelled(true); // If the reason is anything but because of a spawner then tell players within range - if (!e.getSpawnReason().equals(SpawnReason.SPAWNER) && !e.getSpawnReason().equals(SpawnReason.NATURAL) && !e.getSpawnReason().equals(SpawnReason.INFECTION) && !e.getSpawnReason().equals(SpawnReason.NETHER_PORTAL) && !e.getSpawnReason().equals(SpawnReason.REINFORCEMENTS) && !e.getSpawnReason().equals(SpawnReason.SLIME_SPLIT)) { + if (!e.getSpawnReason().equals(SpawnReason.SPAWNER) && !e.getSpawnReason().equals(SpawnReason.NATURAL) && !e.getSpawnReason().equals(SpawnReason.INFECTION) && !e.getSpawnReason().equals(SpawnReason.NETHER_PORTAL) && !e.getSpawnReason().equals(SpawnReason.REINFORCEMENTS) && !e.getSpawnReason().equals(SpawnReason.SLIME_SPLIT)) { for (Entity ent : e.getLocation().getWorld().getNearbyEntities(e.getLocation(), 5, 5, 5)) { if (ent instanceof Player) { User.getInstance(ent).sendMessage("entity-limits.hit-limit", "[entity]", @@ -167,7 +167,7 @@ public class EntityLimitListener implements Listener { long count = ent.getWorld().getEntities().stream() .filter(e -> e.getType().equals(ent.getType())) .filter(e -> island.inIslandSpace(e.getLocation())).count(); - return addon.getSettings().getLimits().getOrDefault(ent.getType(), -1) <= count; + return addon.getSettings().getLimits().containsKey(ent.getType()) && count >= addon.getSettings().getLimits().get(ent.getType()); } }