No more breaking item frames and paintings.

This commit is contained in:
garbagemule 2013-08-23 16:37:19 +02:00
parent 0a2956fb81
commit 470291c626
2 changed files with 19 additions and 1 deletions

View File

@ -44,6 +44,7 @@ import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
import org.bukkit.event.entity.EntityTargetEvent.TargetReason;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.hanging.HangingBreakEvent;
import org.bukkit.event.player.PlayerAnimationEvent;
import org.bukkit.event.player.PlayerBucketEmptyEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
@ -170,6 +171,17 @@ public class ArenaListener
event.setCancelled(true);
}
public void onHangingBreak(HangingBreakEvent event) {
Location l = event.getEntity().getLocation();
if (!arena.getRegion().contains(l)) {
return;
}
if (arena.inEditMode()) {
return;
}
event.setCancelled(true);
}
public void onBlockBurn(BlockBurnEvent event) {
if (!arena.getRegion().contains(event.getBlock().getLocation()) || onBlockDestroy(event))
return;

View File

@ -6,6 +6,7 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.*;
import org.bukkit.event.entity.*;
import org.bukkit.event.hanging.HangingBreakEvent;
import org.bukkit.event.player.*;
import org.bukkit.event.world.WorldLoadEvent;
import org.bukkit.event.world.WorldUnloadEvent;
@ -35,7 +36,6 @@ public class MAGlobalListener implements Listener
this.am = am;
}
///////////////////////////////////////////////////////////////////////////
// //
// BLOCK EVENTS //
@ -49,6 +49,12 @@ public class MAGlobalListener implements Listener
arena.getEventListener().onBlockBreak(event);
}
@EventHandler
public void hangingBreak(HangingBreakEvent event) {
for (Arena arena : am.getArenas())
arena.getEventListener().onHangingBreak(event);
}
@EventHandler(priority = EventPriority.HIGHEST)
public void blockBurn(BlockBurnEvent event) {
for (Arena arena : am.getArenas())