Fixed bugs with adding entity perm limits.

https://github.com/BentoBoxWorld/Limits/issues/47
This commit is contained in:
tastybento 2020-01-10 16:08:21 -08:00
parent fb6f6757d5
commit 789b73d3b3
2 changed files with 26 additions and 29 deletions

View File

@ -105,7 +105,10 @@ public class LimitPanel {
pb.item(pib.build()); pb.item(pib.build());
} }
// Entity limits // Entity limits
addon.getSettings().getLimits().forEach((k,v) -> { Map<EntityType, Integer> map = addon.getSettings().getLimits();
// Merge in any permission-based limits
ibc.getEntityLimits().forEach(map::put);
map.forEach((k,v) -> {
PanelItemBuilder pib = new PanelItemBuilder(); PanelItemBuilder pib = new PanelItemBuilder();
pib.name(Util.prettifyText(k.toString())); pib.name(Util.prettifyText(k.toString()));
Material m; Material m;

View File

@ -42,7 +42,6 @@ public class EntityLimitListener implements Listener {
if (!addon.getPlugin().getIWM().inWorld(e.getVehicle().getWorld())) { if (!addon.getPlugin().getIWM().inWorld(e.getVehicle().getWorld())) {
return; return;
} }
if (addon.getSettings().getLimits().containsKey(e.getVehicle().getType())) {
// If someone in that area has the bypass permission, allow the spawning // If someone in that area has the bypass permission, allow the spawning
for (Entity entity : Objects.requireNonNull(e.getVehicle().getLocation().getWorld()).getNearbyEntities(e.getVehicle().getLocation(), 5, 5, 5)) { for (Entity entity : Objects.requireNonNull(e.getVehicle().getLocation().getWorld()).getNearbyEntities(e.getVehicle().getLocation(), 5, 5, 5)) {
if (entity instanceof Player) { if (entity instanceof Player) {
@ -70,7 +69,6 @@ public class EntityLimitListener implements Listener {
} }
} }
} }
}
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onCreatureSpawn(final CreatureSpawnEvent e) { public void onCreatureSpawn(final CreatureSpawnEvent e) {
@ -78,10 +76,6 @@ public class EntityLimitListener implements Listener {
if (!addon.getPlugin().getIWM().inWorld(e.getLocation())) { if (!addon.getPlugin().getIWM().inWorld(e.getLocation())) {
return; return;
} }
if (!addon.getSettings().getLimits().containsKey(e.getEntityType())) {
// Unknown entity limit or unlimited
return;
}
boolean bypass = false; boolean bypass = false;
// Check why it was spawned // Check why it was spawned
switch (e.getSpawnReason()) { switch (e.getSpawnReason()) {