Fixes Item Frames being linked to Paintings when breaking

This commit is contained in:
Chris Ward 2013-01-11 21:54:52 +11:00
parent 5c99eee0c0
commit f3812786d0

View File

@ -7,6 +7,7 @@ import java.util.logging.Level;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.HumanEntity; import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
@ -151,14 +152,26 @@ public class EssentialsAntiBuildListener implements Listener
if (entity instanceof Player) if (entity instanceof Player)
{ {
final User user = ess.getUser(entity); final User user = ess.getUser(entity);
if (prot.getSettingBool(AntiBuildConfig.disable_build) && !user.canBuild() && !user.isAuthorized("essentials.build") final EntityType type = event.getEntity().getType();
&& !metaPermCheck(user, "break", Material.PAINTING.getId())) final boolean warn = ess.getSettings().warnOnBuildDisallow();
if (prot.getSettingBool(AntiBuildConfig.disable_build) && !user.canBuild() && !user.isAuthorized("essentials.build"))
{ {
if (ess.getSettings().warnOnBuildDisallow()) if (type == EntityType.PAINTING && !metaPermCheck(user, "break", Material.PAINTING.getId()))
{ {
user.sendMessage(_("antiBuildBreak", Material.PAINTING.toString())); if (warn)
{
user.sendMessage(_("antiBuildBreak", Material.PAINTING.toString()));
}
event.setCancelled(true);
}
else if(type == EntityType.ITEM_FRAME && !metaPermCheck(user, "break", Material.ITEM_FRAME.getId()))
{
if (warn)
{
user.sendMessage(_("antiBuildBreak", Material.ITEM_FRAME.toString()));
}
event.setCancelled(true);
} }
event.setCancelled(true);
} }
} }
} }