From a9eab13842417985462a41a0dd2073c8c6aaaf72 Mon Sep 17 00:00:00 2001 From: garbagemule Date: Fri, 17 Jul 2015 16:11:00 +0200 Subject: [PATCH] Fix Spigot block explosion issue. --- .../MobArena/listeners/MAGlobalListener.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/com/garbagemule/MobArena/listeners/MAGlobalListener.java b/src/main/java/com/garbagemule/MobArena/listeners/MAGlobalListener.java index 94b6e7e..4ab22e4 100644 --- a/src/main/java/com/garbagemule/MobArena/listeners/MAGlobalListener.java +++ b/src/main/java/com/garbagemule/MobArena/listeners/MAGlobalListener.java @@ -163,6 +163,19 @@ public class MAGlobalListener implements Listener arena.getEventListener().onEntityExplode(event); } + @EventHandler(priority = EventPriority.HIGHEST) + public void blockExplode(BlockExplodeEvent event) { + // Account for Spigot's messy extra event + EntityExplodeEvent fake = new EntityExplodeEvent(null, event.getBlock().getLocation(), event.blockList(), event.getYield()); + entityExplode(fake); + + // Copy the values over + event.setCancelled(fake.isCancelled()); + event.blockList().clear(); + event.blockList().addAll(fake.blockList()); + event.setYield(fake.getYield()); + } + @EventHandler(priority = EventPriority.NORMAL) public void entityRegainHealth(EntityRegainHealthEvent event) { for (Arena arena : am.getArenas())