summaryrefslogtreecommitdiffstats
path: root/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java
diff options
context:
space:
mode:
Diffstat (limited to 'EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java')
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java25
1 files changed, 18 insertions, 7 deletions
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java
index fbbb321f3..89167b2b9 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java
@@ -32,13 +32,13 @@ public class EssentialsProtectEntityListener extends EntityListener
return;
}
final Entity target = event.getEntity();
-
+
if (target instanceof Villager && prot.getSettingBool(ProtectConfig.prevent_villager_death))
{
event.setCancelled(true);
return;
}
-
+
final User user = ess.getUser(target);
if (event instanceof EntityDamageByBlockEvent)
{
@@ -197,12 +197,23 @@ public class EssentialsProtectEntityListener extends EntityListener
return;
}
final int maxHeight = ess.getSettings().getProtectCreeperMaxHeight();
- //Nicccccccccce plaaacccccccccce..
- if (event.getEntity() instanceof LivingEntity
- && (prot.getSettingBool(ProtectConfig.prevent_creeper_explosion)
- || prot.getSettingBool(ProtectConfig.prevent_creeper_blockdmg)
- || (maxHeight >= 0 && event.getLocation().getBlockY() > maxHeight)))
+
+ if (event.getEntity() instanceof EnderDragon
+ && prot.getSettingBool(ProtectConfig.prevent_enderdragon_blockdmg))
+ {
+ if (prot.getSettingBool(ProtectConfig.enderdragon_fakeexplosions))
+ {
+ FakeExplosion.createExplosion(event, ess.getServer(), ess.getServer().getOnlinePlayers());
+ }
+ event.setCancelled(true);
+ return;
+ }
+ else if (event.getEntity() instanceof Creeper
+ && (prot.getSettingBool(ProtectConfig.prevent_creeper_explosion)
+ || prot.getSettingBool(ProtectConfig.prevent_creeper_blockdmg)
+ || (maxHeight >= 0 && event.getLocation().getBlockY() > maxHeight)))
{
+ //Nicccccccccce plaaacccccccccce..
FakeExplosion.createExplosion(event, ess.getServer(), ess.getServer().getOnlinePlayers());
event.setCancelled(true);
return;