From 2f5a2eea9c1d16a07d96c74889f9bcdd13a65cc4 Mon Sep 17 00:00:00 2001 From: Kris Date: Tue, 5 Jun 2018 13:36:40 +0100 Subject: [PATCH] Allow wither to break blocks in claims that have temporarily allowed explosions --- .../GriefPrevention/EntityEventHandler.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/me/ryanhamshire/GriefPrevention/EntityEventHandler.java b/src/main/java/me/ryanhamshire/GriefPrevention/EntityEventHandler.java index 44c083a..5e8c67f 100644 --- a/src/main/java/me/ryanhamshire/GriefPrevention/EntityEventHandler.java +++ b/src/main/java/me/ryanhamshire/GriefPrevention/EntityEventHandler.java @@ -135,12 +135,13 @@ public class EntityEventHandler implements Listener else if(!GriefPrevention.instance.config_rabbitsEatCrops && event.getEntityType() == EntityType.RABBIT) { event.setCancelled(true); - } - - //don't allow the wither to break blocks, when the wither is determined, too expensive to constantly check for claimed blocks - else if(event.getEntityType() == EntityType.WITHER && GriefPrevention.instance.config_claims_worldModes.get(event.getBlock().getWorld()) != ClaimsMode.Disabled) + } else if(event.getEntityType() == EntityType.WITHER && GriefPrevention.instance.config_claims_worldModes.get(event.getBlock().getWorld()) != ClaimsMode.Disabled) { - event.setCancelled(true); + Claim claim = this.dataStore.getClaimAt(event.getBlock().getLocation(), false, null); + if(claim == null || !claim.areExplosivesAllowed || !GriefPrevention.instance.config_blockClaimExplosions) + { + event.setCancelled(true); + } } //don't allow crops to be trampled, except by a player with build permission