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:
@@ -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;
|
||||||
|
@@ -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()))
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user