1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-08 07:36:42 +02:00

Fixes link between Item Frames and Paintings when breaking

This commit is contained in:
GunfighterJ
2013-01-11 12:34:17 -06:00
parent a4c93fef05
commit 502d0197c6

View File

@@ -6,6 +6,7 @@ import net.ess3.api.IUser;
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;
@@ -108,16 +109,28 @@ public class EssentialsAntiBuildListener implements Listener
final Entity entity = event.getRemover(); final Entity entity = event.getRemover();
if (entity instanceof Player) 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); final IUser user = ess.getUserMap().getUser((Player)entity);
if (antib.getSettings().getData().isDisableBuild() && !Permissions.BUILD.isAuthorized(user) && !Permissions.BREAK.isAuthorized( if (antib.getSettings().getData().isDisableBuild() && !Permissions.BUILD.isAuthorized(user))
user, Material.PAINTING, null))
{ {
if (antib.getSettings().getData().isWarnOnBuildDisallow()) if (type == EntityType.PAINTING && !Permissions.BREAK.isAuthorized(user, Material.PAINTING, null))
{
if (warn)
{ {
user.sendMessage(_("antiBuildBreak", Material.PAINTING.toString())); user.sendMessage(_("antiBuildBreak", Material.PAINTING.toString()));
} }
event.setCancelled(true); 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);
}
}
} }
} }