summaryrefslogtreecommitdiffstats
path: root/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java
diff options
context:
space:
mode:
authorementalo <ementalodev@gmx.co.uk>2012-10-11 13:40:26 +0100
committerementalo <ementalodev@gmx.co.uk>2012-10-11 13:40:26 +0100
commit5e663508ce29dbcb327804a4b75351783d6e74f0 (patch)
tree2c85bace527a4a6d00ca7a4c7d5e2ca30efe04cd /EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java
parent3d2870cc4e6f771a37304ce9e6267663e10d01e6 (diff)
downloadEssentials-5e663508ce29dbcb327804a4b75351783d6e74f0.tar
Essentials-5e663508ce29dbcb327804a4b75351783d6e74f0.tar.gz
Essentials-5e663508ce29dbcb327804a4b75351783d6e74f0.tar.lz
Essentials-5e663508ce29dbcb327804a4b75351783d6e74f0.tar.xz
Essentials-5e663508ce29dbcb327804a4b75351783d6e74f0.zip
Anti Build 3.0 update
Diffstat (limited to 'EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java')
-rw-r--r--EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java133
1 files changed, 62 insertions, 71 deletions
diff --git a/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java b/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java
index 2de39ffb5..d57b05ce4 100644
--- a/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java
+++ b/EssentialsAntiBuild/src/net/ess3/antibuild/EssentialsAntiBuildListener.java
@@ -4,6 +4,7 @@ import java.util.logging.Level;
import static net.ess3.I18n._;
import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
+import net.ess3.permissions.MaterialDotStarPermission;
import net.ess3.user.User;
import org.bukkit.Material;
import org.bukkit.block.Block;
@@ -33,7 +34,7 @@ public class EssentialsAntiBuildListener implements Listener
this.ess = antib.getEssentialsConnect().getEssentials();
}
-/* private boolean metaPermCheck(final User user, final String action, final Block block)
+ /*private boolean metaPermCheck(final User user, final String action, final Block block)
{
if (block == null)
{
@@ -66,27 +67,23 @@ public class EssentialsAntiBuildListener implements Listener
}
return user.isAuthorized(blockPerm);
- }
+ }*/
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockPlace(final BlockPlaceEvent event)
- {
- final AntiBuildHolder ab = antib.getSettings();
- ab.acquireReadLock();
+ {
final IUser user = ess.getUserMap().getUser(event.getPlayer());
final Block block = event.getBlockPlaced();
final int typeId = block.getTypeId();
final Material type = block.getType();
- try
- {
-
- if (ab.getData().isBuild()
- && !user.canBuild() && !user.hasPermission("essentials.build")
- && !Permissions.getPlacePermission(type).isAuthorized(user))
+ if (antib.getSettings().getData().isDisableBuild()
+ //&& !user.canBuild()
+ && !Permissions.BUILD.isAuthorized(user)
+ && !Permissions.PLACEMENT.isAuthorized(user, block))
//metaPermCheck(user, "place", block)) todo - double check metadata
{
- if (ab.getData().isWarnOnBuildDisallow())
+ if (antib.getSettings().getData().isWarnOnBuildDisallow())
{
user.sendMessage(_("antiBuildPlace", type.toString()));
}
@@ -94,10 +91,9 @@ public class EssentialsAntiBuildListener implements Listener
return;
}
- if (ab.getData().getBlacklist().getPlacement().contains(type) && !Permissions.BLACKLIST_ALLOWPLACEMENT.isAuthorized(user))
- //antib.checkProtectionItems(AntiBuildConfig.blacklist_placement, typeId) && !user.isAuthorized("essentials.protect.exemptplacement"))
+ if (antib.getSettings().getData().getBlacklist().getPlacement().contains(type) && !Permissions.BLACKLIST_ALLOWPLACEMENT.isAuthorized(user))
{
- if (ab.getData().isWarnOnBuildDisallow())
+ if (antib.getSettings().getData().isWarnOnBuildDisallow())
{
user.sendMessage(_("antiBuildPlace", type.toString()));
}
@@ -105,35 +101,27 @@ public class EssentialsAntiBuildListener implements Listener
return;
}
- if (ab.getData().getAlert().getAlertOnPlacement().contains(type)
+ if (antib.getSettings().getData().getAlert().getAlertOnPlacement().contains(type)
&& !Permissions.ALERTS_NOTRIGGER.isAuthorized(user))
{
antib.getEssentialsConnect().alert(user, type.toString(), _("alertPlaced"));
- }
- }
- finally
- {
- ab.unlock();
- }
+ }
}
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockBreak(final BlockBreakEvent event)
{
- final AntiBuildHolder ab = antib.getSettings();
- ab.acquireReadLock();
final IUser user = ess.getUserMap().getUser(event.getPlayer());
final Block block = event.getBlock();
final int typeId = block.getTypeId();
final Material type = block.getType();
-
- try
- {
- if (ab.getData().isBuild() && !user.canBuild() && !user.isAuthorized("essentials.build")
- && !Permissions.getBreakPermission(type).isAuthorized(user))
- //!metaPermCheck(user, "break", block))
+
+ if (antib.getSettings().getData().isDisableBuild()
+ //&& !user.canBuild()
+ && !Permissions.BUILD.isAuthorized(user)
+ && !Permissions.BREAK.isAuthorized(user, block))
{
- if (ab.getData().isWarnOnBuildDisallow())
+ if (antib.getSettings().getData().isWarnOnBuildDisallow())
{
user.sendMessage(_("antiBuildBreak", type.toString()));
}
@@ -141,9 +129,9 @@ public class EssentialsAntiBuildListener implements Listener
return;
}
- if (ab.getData().getBlacklist().getBreaking().contains(type) && !Permissions.BLACKLIST_ALLOWBREAK.isAuthorized(user))
+ if (antib.getSettings().getData().getBlacklist().getBreaking().contains(type) && !Permissions.BLACKLIST_ALLOWBREAK.isAuthorized(user))
{
- if (ab.getData().isWarnOnBuildDisallow())
+ if (antib.getSettings().getData().isWarnOnBuildDisallow())
{
user.sendMessage(_("antiBuildBreak", type.toString()));
}
@@ -151,29 +139,26 @@ public class EssentialsAntiBuildListener implements Listener
return;
}
- if (antib.checkProtectionItems(AntiBuildConfig.alert_on_break, typeId)
- && !user.isAuthorized("essentials.protect.alerts.notrigger"))
+ if (antib.getSettings().getData().getAlert().getAlertOnBreak().contains(type)
+ && !Permissions.ALERTS_NOTRIGGER.isAuthorized(user))
{
antib.getEssentialsConnect().alert(user, type.toString(), _("alertBroke"));
}
- }
- finally
- {
- ab.unlock();
- }
}
-
+
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onPaintingBreak(final PaintingBreakByEntityEvent event)
{
final Entity entity = event.getRemover();
if (entity instanceof Player)
{
- final User user = ess.getUser(entity);
- if (antib.getSettingBool(AntiBuildConfig.disable_build) && !user.canBuild() && !user.isAuthorized("essentials.build")
- && !metaPermCheck(user, "break", Material.PAINTING.getId()))
+ final IUser user = ess.getUserMap().getUser((Player)entity);
+ if (antib.getSettings().getData().isDisableBuild()
+ //&& !user.canBuild()
+ && !Permissions.BUILD.isAuthorized(user)
+ && !Permissions.BREAK.isAuthorized(user, Material.PAINTING, null))
{
- if (ess.getSettings().warnOnBuildDisallow())
+ if (antib.getSettings().getData().isWarnOnBuildDisallow())
{
user.sendMessage(_("antiBuildBreak", Material.PAINTING.toString()));
}
@@ -187,7 +172,7 @@ public class EssentialsAntiBuildListener implements Listener
{
for (Block block : event.getBlocks())
{
- if (antib.checkProtectionItems(AntiBuildConfig.blacklist_piston, block.getTypeId()))
+ if (antib.getSettings().getData().getBlacklist().getPiston().contains(block.getType()))
{
event.setCancelled(true);
return;
@@ -203,10 +188,9 @@ public class EssentialsAntiBuildListener implements Listener
return;
}
final Block block = event.getRetractLocation().getBlock();
- if (antib.checkProtectionItems(AntiBuildConfig.blacklist_piston, block.getTypeId()))
+ if (antib.getSettings().getData().getBlacklist().getPiston().contains(block.getType()))
{
event.setCancelled(true);
- return;
}
}
@@ -214,14 +198,14 @@ public class EssentialsAntiBuildListener implements Listener
public void onPlayerInteract(final PlayerInteractEvent event)
{
// Do not return if cancelled, because the interact event has 2 cancelled states.
- final User user = ess.getUser(event.getPlayer());
+ final IUser user = ess.getUserMap().getUser(event.getPlayer());
final ItemStack item = event.getItem();
if (item != null
- && antib.checkProtectionItems(AntiBuildConfig.blacklist_usage, item.getTypeId())
- && !user.isAuthorized("essentials.protect.exemptusage"))
+ && antib.getSettings().getData().getBlacklist().getUsage().contains(item.getType())
+ && !Permissions.BLACKLIST_ALLOWUSAGE.isAuthorized(user))
{
- if (ess.getSettings().warnOnBuildDisallow())
+ if (antib.getSettings().getData().isWarnOnBuildDisallow())
{
user.sendMessage(_("antiBuildUse", item.getType().toString()));
}
@@ -230,27 +214,29 @@ public class EssentialsAntiBuildListener implements Listener
}
if (item != null
- && antib.checkProtectionItems(AntiBuildConfig.alert_on_use, item.getTypeId())
- && !user.isAuthorized("essentials.protect.alerts.notrigger"))
+ && antib.getSettings().getData().getAlert().getAlertOnUse().contains(item.getType())
+ && !Permissions.ALERTS_NOTRIGGER.isAuthorized(user))
{
antib.getEssentialsConnect().alert(user, item.getType().toString(), _("alertUsed"));
}
- if (antib.getSettingBool(AntiBuildConfig.disable_use) && !user.canBuild() && !user.isAuthorized("essentials.build"))
+ if (antib.getSettings().getData().isDisableUse()
+ //&& !user.canBuild()
+ && !Permissions.BUILD.isAuthorized(user))
{
- if (event.hasItem() && !metaPermCheck(user, "interact", item.getTypeId(), item.getData().getData()))
+ if (event.hasItem() && !Permissions.INTERACT.isAuthorized(user, item.getType(), item.getData()))
{
event.setCancelled(true);
- if (ess.getSettings().warnOnBuildDisallow())
+ if (antib.getSettings().getData().isWarnOnBuildDisallow())
{
user.sendMessage(_("antiBuildUse", item.getType().toString()));
}
return;
}
- if (event.hasBlock() && !metaPermCheck(user, "interact", event.getClickedBlock()))
+ if (event.hasBlock() && !Permissions.INTERACT.isAuthorized(user, event.getClickedBlock()))
{
event.setCancelled(true);
- if (ess.getSettings().warnOnBuildDisallow())
+ if (antib.getSettings().getData().isWarnOnBuildDisallow())
{
user.sendMessage(_("antiBuildInteract", event.getClickedBlock().getType().toString()));
}
@@ -265,15 +251,17 @@ public class EssentialsAntiBuildListener implements Listener
if (entity instanceof Player)
{
- final User user = ess.getUser(entity);
+ final IUser user = ess.getUserMap().getUser((Player)entity);
final ItemStack item = event.getRecipe().getResult();
- if (antib.getSettingBool(AntiBuildConfig.disable_use) && !user.canBuild() && !user.isAuthorized("essentials.build"))
+ if (antib.getSettings().getData().isDisableUse()
+ //&& !user.canBuild()
+ && !Permissions.BUILD.isAuthorized(user))
{
- if (!metaPermCheck(user, "craft", item.getTypeId(), item.getData().getData()))
+ if (!Permissions.CRAFT.isAuthorized(user, item.getType(), item.getData()))
{
event.setCancelled(true);
- if (ess.getSettings().warnOnBuildDisallow())
+ if (antib.getSettings().getData().isWarnOnBuildDisallow())
{
user.sendMessage(_("antiBuildCraft", item.getType().toString()));
}
@@ -286,12 +274,14 @@ public class EssentialsAntiBuildListener implements Listener
public void onPlayerPickupItem(PlayerPickupItemEvent event)
{
- final User user = ess.getUser(event.getPlayer());
+ final IUser user = ess.getUserMap().getUser(event.getPlayer());
final ItemStack item = event.getItem().getItemStack();
- if (antib.getSettingBool(AntiBuildConfig.disable_use) && !user.canBuild() && !user.isAuthorized("essentials.build"))
+ if (antib.getSettings().getData().isDisableUse()
+ //&& !user.canBuild()
+ && !Permissions.BUILD.isAuthorized(user))
{
- if (!metaPermCheck(user, "pickup", item.getTypeId(), item.getData().getData()))
+ if (!Permissions.PICKUP.isAuthorized(user, item.getType(), item.getData()))
{
event.setCancelled(true);
event.getItem().setPickupDelay(50);
@@ -306,18 +296,19 @@ public class EssentialsAntiBuildListener implements Listener
final IUser user = ess.getUserMap().getUser(event.getPlayer());
final ItemStack item = event.getItemDrop().getItemStack();
- if (antib.getSettingBool(AntiBuildConfig.disable_use) && !user.canBuild() && !user.isAuthorized("essentials.build"))
+ if (antib.getSettings().getData().isDisableUse()
+ //&& !user.canBuild()
+ && !Permissions.BUILD.isAuthorized(user));
{
- if (!metaPermCheck(user, "drop", item.getTypeId(), item.getData().getData()))
+ if (!Permissions.DROP.isAuthorized(user, item.getType(), item.getData()))
{
event.setCancelled(true);
user.getPlayer().updateInventory();
- if (ess.getSettings().warnOnBuildDisallow())
+ if (antib.getSettings().getData().isWarnOnBuildDisallow())
{
user.sendMessage(_("antiBuildDrop", item.getType().toString()));
}
}
}
- }
- */
+ }
}