diff options
Diffstat (limited to 'EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java')
-rw-r--r-- | EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java b/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java index 5adb2b4a3..d2553b30f 100644 --- a/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java +++ b/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java @@ -89,6 +89,14 @@ public class EssentialsProtectEntityListener implements Listener event.setCancelled(true); return; } + + if ((event.getEntity() instanceof WitherSkull + && Permissions.PREVENTDAMAGE_WITHERSKULL.isAuthorized(user) + && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user))) + { + event.setCancelled(true); + return; + } if (eAttack instanceof TNTPrimed && (Permissions.PREVENTDAMAGE_TNT.isAuthorized(user) @@ -171,6 +179,12 @@ public class EssentialsProtectEntityListener implements Listener event.setCancelled(true); return; } + else if (event.getEntity() instanceof Wither + && settings.getData().getPrevent().isWitherSpawnExplosion()) + { + event.setCancelled(true); + return; + } else if (event.getEntity() instanceof Creeper && (settings.getData().getPrevent().isCreeperExplosion() || settings.getData().getPrevent().isCreeperBlockdamage() @@ -192,6 +206,12 @@ public class EssentialsProtectEntityListener implements Listener event.setCancelled(true); return; } + else if ((event.getEntity() instanceof WitherSkull) + && settings.getData().getPrevent().isWitherSkullExplosion()) + { + event.setCancelled(true); + return; + } } @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) @@ -239,5 +259,10 @@ public class EssentialsProtectEntityListener implements Listener { event.setCancelled(true); } + if (event.getEntityType() == EntityType.WITHER && settings.getData().getPrevent().isWitherBlockreplace()) + { + event.setCancelled(true); + return; + } } } |