diff --git a/Essentials/src/config.yml b/Essentials/src/config.yml index fd9b8c345..009c49ac1 100644 --- a/Essentials/src/config.yml +++ b/Essentials/src/config.yml @@ -766,6 +766,12 @@ protect: # Monsters won't follow players. # permission essentials.protect.entitytarget.bypass disables this. entitytarget: false + # Prevents zombies from breaking down doors + zombie-door-break: false + # Prevents Ravagers from stealing blocks + ravager-thief: false + # Prevents sheep from turning grass to dirt + sheep-eat-grass: false # Prevent certain transformations. transformation: # Prevent creepers becoming charged when struck by lightning. diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java index 6081657a4..af6437d55 100644 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java +++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java @@ -215,6 +215,20 @@ public class EssentialsProtectEntityListener implements Listener { if (event.getEntityType() == EntityType.WITHER && prot.getSettingBool(ProtectConfig.prevent_wither_blockreplace)) { event.setCancelled(true); } + if (event.getEntityType() == EntityType.RAVAGER && prot.getSettingBool(ProtectConfig.prevent_ravager_thief)) { + event.setCancelled(true); + } + + if (event.getEntityType() == EntityType.SHEEP && prot.getSettingBool(ProtectConfig.prevent_sheep_eat_grass)) { + event.setCancelled(true); + } + } + + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onDoorBreak(EntityBreakDoorEvent event) { + if (event.getEntityType() == EntityType.ZOMBIE && prot.getSettingBool(ProtectConfig.prevent_zombie_door_break)) { + event.setCancelled(true); + } } @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java b/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java index cc088b85f..365401eff 100644 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java +++ b/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java @@ -43,6 +43,9 @@ public enum ProtectConfig { prevent_enderdragon_blockdmg("protect.prevent.enderdragon-blockdamage", true), prevent_entitytarget("protect.prevent.entitytarget", false), enderdragon_fakeexplosions("protect.enderdragon-fakeexplosions", false), + prevent_zombie_door_break("protect.prevent.zombie-door-break", false), + prevent_ravager_thief("protect.prevent.ravager-thief", false), + prevent_sheep_eat_grass("protect.prevent.sheep-eat-grass", false), prevent_creeper_charge("protect.prevent.transformation.charged-creeper", false), prevent_villager_infection("protect.prevent.transformation.zombie-villager", false), prevent_villager_cure("protect.prevent.transformation.villager", false),