diff options
author | Iaccidentally <coryhuckaby@gmail.com> | 2012-10-28 12:53:12 -0400 |
---|---|---|
committer | Iaccidentally <coryhuckaby@gmail.com> | 2012-10-28 12:53:12 -0400 |
commit | 73013a19bad6a56e419e577471b5161b75d5da35 (patch) | |
tree | 380970deff4087162329dd4ac08d2102e4b9895d /EssentialsProtect | |
parent | 0a4955cd793cc9b8bb906138b5390997ba74b54e (diff) | |
download | Essentials-73013a19bad6a56e419e577471b5161b75d5da35.tar Essentials-73013a19bad6a56e419e577471b5161b75d5da35.tar.gz Essentials-73013a19bad6a56e419e577471b5161b75d5da35.tar.lz Essentials-73013a19bad6a56e419e577471b5161b75d5da35.tar.xz Essentials-73013a19bad6a56e419e577471b5161b75d5da35.zip |
Fully support wither blocking in protect
Diffstat (limited to 'EssentialsProtect')
-rw-r--r-- | EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java | 23 | ||||
-rw-r--r-- | EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java | 3 |
2 files changed, 26 insertions, 0 deletions
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java index 5ce7623b6..bb406ebf9 100644 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java +++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java @@ -114,6 +114,16 @@ public class EssentialsProtectEntityListener implements Listener event.setCancelled(true); return; } + + if ((event.getEntity() instanceof WitherSkull + && prot.getSettingBool(ProtectConfig.prevent_witherskull_playerdmg) + && !(target instanceof Player + && user.isAuthorized("essentials.protect.damage.witherskull") + && !user.isAuthorized("essentials.protect.damage.disable")))) + { + event.setCancelled(true); + return; + } if (eAttack instanceof TNTPrimed && prot.getSettingBool(ProtectConfig.prevent_tnt_playerdmg) && !(target instanceof Player @@ -214,6 +224,12 @@ public class EssentialsProtectEntityListener implements Listener } return; } + if (event.getEntity() instanceof WitherSkull + && prot.getSettingBool(ProtectConfig.prevent_witherskull_spawnexplosion)) + { + event.setCancelled(true); + return; + } else if (event.getEntity() instanceof Creeper && (prot.getSettingBool(ProtectConfig.prevent_creeper_explosion) || prot.getSettingBool(ProtectConfig.prevent_creeper_blockdmg) @@ -236,6 +252,13 @@ public class EssentialsProtectEntityListener implements Listener event.setCancelled(true); return; } + else if ((event.getEntity() instanceof WitherSkull) + && prot.getSettingBool(ProtectConfig.prevent_witherskull_explosion)) + { + event.setCancelled(true); + return; + } + // This code will prevent explosions near protected rails, signs or protected chests // TODO: Use protect db instead of this code diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java b/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java index dda0060bf..c53e921d9 100644 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java +++ b/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java @@ -35,6 +35,9 @@ public enum ProtectConfig prevent_fireball_explosion("protect.prevent.fireball-explosion", false), prevent_fireball_fire("protect.prevent.fireball-fire", false), prevent_fireball_playerdmg("protect.prevent.fireball-playerdamage", false), + prevent_witherskull_explosion("protect.prevent.witherskull-explosion", false), + prevent_witherskull_playerdmg("protect.prevent.witherskull-playerdamage", false), + prevent_witherskull_spawnexplosion("protect.prevent.witherskull-spawnexplosion", false), prevent_creeper_explosion("protect.prevent.creeper-explosion", true), prevent_creeper_playerdmg("protect.prevent.creeper-playerdamage", false), prevent_creeper_blockdmg("protect.prevent.creeper-blockdamage", false), |