From 4f92611df04db53ea354ffe806b418924ca02a86 Mon Sep 17 00:00:00 2001 From: tastybento Date: Wed, 30 Sep 2020 14:46:07 -0700 Subject: [PATCH] Check for specific types and not classes https://github.com/BentoBoxWorld/Limits/issues/105 --- src/main/java/world/bentobox/limits/commands/LimitTab.java | 3 +-- .../bentobox/limits/listeners/EntityLimitListener.java | 3 ++- .../bentobox/limits/listeners/EntityLimitListenerTest.java | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/world/bentobox/limits/commands/LimitTab.java b/src/main/java/world/bentobox/limits/commands/LimitTab.java index 43f5718..f21f035 100644 --- a/src/main/java/world/bentobox/limits/commands/LimitTab.java +++ b/src/main/java/world/bentobox/limits/commands/LimitTab.java @@ -8,6 +8,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Objects; import java.util.Optional; +import java.util.stream.Collectors; import org.bukkit.Material; import org.bukkit.World; @@ -15,7 +16,6 @@ import org.bukkit.entity.EntityType; import org.eclipse.jdt.annotation.Nullable; import com.google.common.collect.ImmutableMap; -import java.util.stream.Collectors; import world.bentobox.bentobox.api.localization.TextVariables; import world.bentobox.bentobox.api.panels.PanelItem; @@ -25,7 +25,6 @@ import world.bentobox.bentobox.api.user.User; import world.bentobox.bentobox.database.objects.Island; import world.bentobox.bentobox.util.Util; import world.bentobox.limits.Limits; -import world.bentobox.limits.Settings; import world.bentobox.limits.Settings.EntityGroup; import world.bentobox.limits.objects.IslandBlockCount; diff --git a/src/main/java/world/bentobox/limits/listeners/EntityLimitListener.java b/src/main/java/world/bentobox/limits/listeners/EntityLimitListener.java index cc4b109..4747a5f 100644 --- a/src/main/java/world/bentobox/limits/listeners/EntityLimitListener.java +++ b/src/main/java/world/bentobox/limits/listeners/EntityLimitListener.java @@ -435,7 +435,8 @@ public class EntityLimitListener implements Listener { // We have to count the entities if (limitAmount >= 0) { - int count = (int) ent.getWorld().getEntitiesByClasses(ent.getClass()).stream() + int count = (int) ent.getWorld().getEntities().stream() + .filter(e -> e.getType().equals(ent.getType())) .filter(e -> island.inIslandSpace(e.getLocation())) .count(); if (count >= limitAmount) diff --git a/src/test/java/world/bentobox/limits/listeners/EntityLimitListenerTest.java b/src/test/java/world/bentobox/limits/listeners/EntityLimitListenerTest.java index 5f8ae58..f7c0354 100644 --- a/src/test/java/world/bentobox/limits/listeners/EntityLimitListenerTest.java +++ b/src/test/java/world/bentobox/limits/listeners/EntityLimitListenerTest.java @@ -8,7 +8,7 @@ import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.Mockito.when; import java.util.ArrayList; -import java.util.Collection; +import java.util.List; import java.util.UUID; import org.bukkit.Bukkit; @@ -48,7 +48,7 @@ public class EntityLimitListenerTest { private Settings settings; @Mock private World world; - private Collection collection; + private List collection; @Mock private Location location; private IslandBlockCount ibc; @@ -81,7 +81,7 @@ public class EntityLimitListenerTest { collection.add(ent); collection.add(ent); collection.add(ent); - when(world.getEntitiesByClasses(any())).thenReturn(collection); + when(world.getEntities()).thenReturn(collection); ell = new EntityLimitListener(addon); }