From 502d0197c649536c95f539260475572f99cd3541 Mon Sep 17 00:00:00 2001 From: GunfighterJ Date: Fri, 11 Jan 2013 12:34:17 -0600 Subject: Fixes link between Item Frames and Paintings when breaking --- .../antibuild/EssentialsAntiBuildListener.java | 23 +++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'EssentialsAntiBuild/src') diff --git a/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java b/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java index 81acdc1e3..250bca9dd 100644 --- a/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java +++ b/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java @@ -6,6 +6,7 @@ import net.ess3.api.IUser; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.entity.Entity; +import org.bukkit.entity.EntityType; import org.bukkit.entity.HumanEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -108,15 +109,27 @@ public class EssentialsAntiBuildListener implements Listener final Entity entity = event.getRemover(); if (entity instanceof Player) { + final Boolean warn = antib.getSettings().getData().isWarnOnBuildDisallow(); + final EntityType type = event.getEntity().getType(); final IUser user = ess.getUserMap().getUser((Player)entity); - if (antib.getSettings().getData().isDisableBuild() && !Permissions.BUILD.isAuthorized(user) && !Permissions.BREAK.isAuthorized( - user, Material.PAINTING, null)) + if (antib.getSettings().getData().isDisableBuild() && !Permissions.BUILD.isAuthorized(user)) { - if (antib.getSettings().getData().isWarnOnBuildDisallow()) + if (type == EntityType.PAINTING && !Permissions.BREAK.isAuthorized(user, Material.PAINTING, null)) { - user.sendMessage(_("antiBuildBreak", Material.PAINTING.toString())); + if (warn) + { + user.sendMessage(_("antiBuildBreak", Material.PAINTING.toString())); + } + event.setCancelled(true); + } + else if (type == EntityType.ITEM_FRAME && !Permissions.BREAK.isAuthorized(user, Material.ITEM_FRAME, null)) + { + if (warn) + { + user.sendMessage(_("antiBuildBreak", Material.ITEM_FRAME.toString())); + } + event.setCancelled(true); } - event.setCancelled(true); } } } -- cgit v1.2.3