diff --git a/src/main/java/com/garbagemule/MobArena/ArenaListener.java b/src/main/java/com/garbagemule/MobArena/ArenaListener.java index c12b916..68d437e 100644 --- a/src/main/java/com/garbagemule/MobArena/ArenaListener.java +++ b/src/main/java/com/garbagemule/MobArena/ArenaListener.java @@ -43,6 +43,7 @@ import org.bukkit.event.block.Action; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockBurnEvent; import org.bukkit.event.block.BlockEvent; +import org.bukkit.event.block.BlockFadeEvent; import org.bukkit.event.block.BlockFormEvent; import org.bukkit.event.block.BlockFromToEvent; import org.bukkit.event.block.BlockIgniteEvent; @@ -334,6 +335,21 @@ public class ArenaListener arena.addBlock(event.getBlock()); } + public void onBlockFade(BlockFadeEvent event) { + if (!protect) { + return; + } + if (!arena.getRegion().contains(event.getBlock().getLocation())) { + return; + } + switch (event.getBlock().getType()) { + case ICE: + case SNOW: + event.setCancelled(true); + break; + } + } + /* * TODO: Figure out a solution to this problem with soft-restore. * diff --git a/src/main/java/com/garbagemule/MobArena/listeners/MAGlobalListener.java b/src/main/java/com/garbagemule/MobArena/listeners/MAGlobalListener.java index a9a319e..8ce0a38 100644 --- a/src/main/java/com/garbagemule/MobArena/listeners/MAGlobalListener.java +++ b/src/main/java/com/garbagemule/MobArena/listeners/MAGlobalListener.java @@ -14,6 +14,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockBurnEvent; import org.bukkit.event.block.BlockExplodeEvent; +import org.bukkit.event.block.BlockFadeEvent; import org.bukkit.event.block.BlockFormEvent; import org.bukkit.event.block.BlockIgniteEvent; import org.bukkit.event.block.BlockPlaceEvent; @@ -105,6 +106,13 @@ public class MAGlobalListener implements Listener // arena.getEventListener().onBlockFromTo(event); // } + @EventHandler(priority = EventPriority.NORMAL) + public void blockFade(BlockFadeEvent event) { + for (Arena arena : am.getArenas()) { + arena.getEventListener().onBlockFade(event); + } + } + @EventHandler(priority = EventPriority.HIGH) public void blockIgnite(BlockIgniteEvent event) { for (Arena arena : am.getArenas())