From 3026b23a593113e0718b92b77332895adb7a6219 Mon Sep 17 00:00:00 2001 From: ryanhamshire Date: Thu, 7 Apr 2016 20:57:20 -0700 Subject: [PATCH] Fixed FrostWalker grief. Freezing ice with this enchant now requires build trust. --- .../GriefPrevention/EntityEventHandler.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java b/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java index 21e028b..a0dcdb1 100644 --- a/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java +++ b/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java @@ -60,6 +60,7 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockExplodeEvent; +import org.bukkit.event.block.EntityBlockFormEvent; import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; import org.bukkit.event.entity.EntityBreakDoorEvent; @@ -97,7 +98,21 @@ public class EntityEventHandler implements Listener this.dataStore = dataStore; } - //don't allow endermen to change blocks + @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) + public void onEntityFormBlock(EntityBlockFormEvent event) + { + Entity entity = event.getEntity(); + if(entity.getType() == EntityType.PLAYER) + { + Player player = (Player)event.getEntity(); + String noBuildReason = GriefPrevention.instance.allowBuild(player, event.getBlock().getLocation(), event.getNewState().getType()); + if(noBuildReason != null) + { + event.setCancelled(true); + } + } + } + @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onEntityChangeBLock(EntityChangeBlockEvent event) {