1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-21 14:03:54 +02:00

Remove user assignment in anti build listeners.

This commit is contained in:
ementalo
2012-10-11 16:46:23 +01:00
parent a00ca1fd52
commit 448e718085
3 changed files with 15 additions and 62 deletions

View File

@@ -9,6 +9,7 @@ public class BasePermission extends AbstractSuperpermsPermission {
this.permission = base + permission; this.permission = base + permission;
} }
@Override
public String getPermissionName() public String getPermissionName()
{ {
return permission; return permission;

View File

@@ -1,11 +1,8 @@
package net.ess3.antibuild; package net.ess3.antibuild;
import java.util.logging.Level;
import static net.ess3.I18n._; import static net.ess3.I18n._;
import net.ess3.api.IEssentials; import net.ess3.api.IEssentials;
import net.ess3.api.IUser; import net.ess3.api.IUser;
import net.ess3.permissions.MaterialDotStarPermission;
import net.ess3.user.User;
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;
@@ -34,54 +31,17 @@ public class EssentialsAntiBuildListener implements Listener
this.ess = antib.getEssentialsConnect().getEssentials(); this.ess = antib.getEssentialsConnect().getEssentials();
} }
/*private boolean metaPermCheck(final User user, final String action, final Block block)
{
if (block == null)
{
return false;
}
return metaPermCheck(user, action, block.getTypeId(), block.getData());
}
private boolean metaPermCheck(final User user, final String action, final int blockId)
{
final String blockPerm = "essentials.build." + action + "." + blockId;
return user.isAuthorized(blockPerm);
}
private boolean metaPermCheck(final User user, final String action, final int blockId, final byte data)
{
final String blockPerm = "essentials.build." + action + "." + blockId;
final String dataPerm = blockPerm + ":" + data;
if (user.isPermissionSet(dataPerm))
{
return user.isAuthorized(dataPerm);
}
else
{
if (ess.getSettings().isDebug())
{
ess.getLogger().log(Level.INFO, "DataValue perm on " + user.getName() + " is not directly set: " + dataPerm);
}
}
return user.isAuthorized(blockPerm);
}*/
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockPlace(final BlockPlaceEvent event) public void onBlockPlace(final BlockPlaceEvent event)
{ {
final IUser user = ess.getUserMap().getUser(event.getPlayer()); final Player user = event.getPlayer();
final Block block = event.getBlockPlaced(); final Block block = event.getBlockPlaced();
final int typeId = block.getTypeId(); final int typeId = block.getTypeId();
final Material type = block.getType(); final Material type = block.getType();
if (antib.getSettings().getData().isDisableBuild() if (antib.getSettings().getData().isDisableBuild()
//&& !user.canBuild()
&& !Permissions.BUILD.isAuthorized(user) && !Permissions.BUILD.isAuthorized(user)
&& !Permissions.PLACEMENT.isAuthorized(user, block)) && !Permissions.PLACEMENT.isAuthorized(user, block))
//metaPermCheck(user, "place", block)) todo - double check metadata
{ {
if (antib.getSettings().getData().isWarnOnBuildDisallow()) if (antib.getSettings().getData().isWarnOnBuildDisallow())
{ {
@@ -111,13 +71,12 @@ public class EssentialsAntiBuildListener implements Listener
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onBlockBreak(final BlockBreakEvent event) public void onBlockBreak(final BlockBreakEvent event)
{ {
final IUser user = ess.getUserMap().getUser(event.getPlayer()); final Player user = event.getPlayer();
final Block block = event.getBlock(); final Block block = event.getBlock();
final int typeId = block.getTypeId(); final int typeId = block.getTypeId();
final Material type = block.getType(); final Material type = block.getType();
if (antib.getSettings().getData().isDisableBuild() if (antib.getSettings().getData().isDisableBuild()
//&& !user.canBuild()
&& !Permissions.BUILD.isAuthorized(user) && !Permissions.BUILD.isAuthorized(user)
&& !Permissions.BREAK.isAuthorized(user, block)) && !Permissions.BREAK.isAuthorized(user, block))
{ {
@@ -154,7 +113,6 @@ public class EssentialsAntiBuildListener implements Listener
{ {
final IUser user = ess.getUserMap().getUser((Player)entity); final IUser user = ess.getUserMap().getUser((Player)entity);
if (antib.getSettings().getData().isDisableBuild() if (antib.getSettings().getData().isDisableBuild()
//&& !user.canBuild()
&& !Permissions.BUILD.isAuthorized(user) && !Permissions.BUILD.isAuthorized(user)
&& !Permissions.BREAK.isAuthorized(user, Material.PAINTING, null)) && !Permissions.BREAK.isAuthorized(user, Material.PAINTING, null))
{ {
@@ -198,7 +156,7 @@ public class EssentialsAntiBuildListener implements Listener
public void onPlayerInteract(final PlayerInteractEvent event) public void onPlayerInteract(final PlayerInteractEvent event)
{ {
// Do not return if cancelled, because the interact event has 2 cancelled states. // Do not return if cancelled, because the interact event has 2 cancelled states.
final IUser user = ess.getUserMap().getUser(event.getPlayer()); final Player user = event.getPlayer();
final ItemStack item = event.getItem(); final ItemStack item = event.getItem();
if (item != null if (item != null
@@ -221,7 +179,6 @@ public class EssentialsAntiBuildListener implements Listener
} }
if (antib.getSettings().getData().isDisableUse() if (antib.getSettings().getData().isDisableUse()
//&& !user.canBuild()
&& !Permissions.BUILD.isAuthorized(user)) && !Permissions.BUILD.isAuthorized(user))
{ {
if (event.hasItem() && !Permissions.INTERACT.isAuthorized(user, item.getType(), item.getData())) if (event.hasItem() && !Permissions.INTERACT.isAuthorized(user, item.getType(), item.getData()))
@@ -251,11 +208,10 @@ public class EssentialsAntiBuildListener implements Listener
if (entity instanceof Player) if (entity instanceof Player)
{ {
final IUser user = ess.getUserMap().getUser((Player)entity); final Player user = (Player)entity;
final ItemStack item = event.getRecipe().getResult(); final ItemStack item = event.getRecipe().getResult();
if (antib.getSettings().getData().isDisableUse() if (antib.getSettings().getData().isDisableUse()
//&& !user.canBuild()
&& !Permissions.BUILD.isAuthorized(user)) && !Permissions.BUILD.isAuthorized(user))
{ {
if (!Permissions.CRAFT.isAuthorized(user, item.getType(), item.getData())) if (!Permissions.CRAFT.isAuthorized(user, item.getType(), item.getData()))
@@ -274,11 +230,10 @@ public class EssentialsAntiBuildListener implements Listener
public void onPlayerPickupItem(PlayerPickupItemEvent event) public void onPlayerPickupItem(PlayerPickupItemEvent event)
{ {
final IUser user = ess.getUserMap().getUser(event.getPlayer()); final Player user = event.getPlayer();
final ItemStack item = event.getItem().getItemStack(); final ItemStack item = event.getItem().getItemStack();
if (antib.getSettings().getData().isDisableUse() if (antib.getSettings().getData().isDisableUse()
//&& !user.canBuild()
&& !Permissions.BUILD.isAuthorized(user)) && !Permissions.BUILD.isAuthorized(user))
{ {
if (!Permissions.PICKUP.isAuthorized(user, item.getType(), item.getData())) if (!Permissions.PICKUP.isAuthorized(user, item.getType(), item.getData()))
@@ -293,11 +248,10 @@ public class EssentialsAntiBuildListener implements Listener
public void onPlayerDropItem(final PlayerDropItemEvent event) public void onPlayerDropItem(final PlayerDropItemEvent event)
{ {
final IUser user = ess.getUserMap().getUser(event.getPlayer()); final Player user = event.getPlayer();
final ItemStack item = event.getItemDrop().getItemStack(); final ItemStack item = event.getItemDrop().getItemStack();
if (antib.getSettings().getData().isDisableUse() if (antib.getSettings().getData().isDisableUse()
//&& !user.canBuild()
&& !Permissions.BUILD.isAuthorized(user)); && !Permissions.BUILD.isAuthorized(user));
{ {
if (!Permissions.DROP.isAuthorized(user, item.getType(), item.getData())) if (!Permissions.DROP.isAuthorized(user, item.getType(), item.getData()))

View File

@@ -4,7 +4,6 @@ import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import static net.ess3.I18n._; import static net.ess3.I18n._;
import net.ess3.api.IEssentials; import net.ess3.api.IEssentials;
import net.ess3.api.IUser;
import net.ess3.bukkit.BukkitPlugin; import net.ess3.bukkit.BukkitPlugin;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@@ -37,19 +36,18 @@ public class EssentialsConnect
return ess; return ess;
} }
public void alert(final IUser user, final String item, final String type) public void alert(final Player user, final String item, final String type)
{ {
final Location loc = user.getPlayer().getLocation(); final Location loc = user.getLocation();
final String warnMessage = _("alertFormat", user.getName(), type, item, final String warnMessage = _("alertFormat", user.getName(), type, item,
loc.getWorld().getName() + "," + loc.getBlockX() + "," loc.getWorld().getName() + "," + loc.getBlockX() + ","
+ loc.getBlockY() + "," + loc.getBlockZ()); + loc.getBlockY() + "," + loc.getBlockZ());
LOGGER.log(Level.WARNING, warnMessage); LOGGER.log(Level.WARNING, warnMessage);
for (Player p : ess.getServer().getOnlinePlayers()) for (Player p : ess.getServer().getOnlinePlayers())
{ {
final IUser alertUser = ess.getUserMap().getUser(p); if (Permissions.ALERTS.isAuthorized(p))
if (Permissions.ALERTS.isAuthorized(alertUser))
{ {
alertUser.sendMessage(warnMessage); p.sendMessage(warnMessage);
} }
} }
} }