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

entity target bypass protect permission split out to essentials.protect.entity.bypass.entityname for per entity settings

This commit is contained in:
ementalo
2012-10-13 19:40:55 +01:00
parent 590430fcec
commit eca8b54ef5
2 changed files with 13 additions and 4 deletions

View File

@@ -190,7 +190,13 @@ public class EssentialsProtectEntityListener implements Listener
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onEntityTarget(final EntityTargetEvent event)
{
if (event.getTarget().getType() == EntityType.PLAYER)
final Entity entity = event.getTarget();
if(entity == null)
{
return;
}
if (entity.getType() == EntityType.PLAYER)
{
final Player user = (Player)event.getTarget();
if ((event.getReason() == TargetReason.CLOSEST_PLAYER
@@ -199,7 +205,8 @@ public class EssentialsProtectEntityListener implements Listener
|| event.getReason() == TargetReason.RANDOM_TARGET
|| event.getReason() == TargetReason.TARGET_ATTACKED_OWNER
|| event.getReason() == TargetReason.OWNER_ATTACKED_TARGET)
&& Permissions.ENTITYTARGET.isAuthorized(user))
&& !prot.getSettings().getData().getPrevent().isEntitytarget()
&& !Permissions.ENTITY_TARGET_BYPASS.isAuthorized(user, event.getEntity().getType().getName().toLowerCase()))
{
event.setCancelled(true);
}

View File

@@ -3,13 +3,13 @@ package net.ess3.protect;
import java.util.Locale;
import net.ess3.api.IPermission;
import net.ess3.bukkit.PermissionFactory;
import net.ess3.permissions.DotStarPermission;
import org.bukkit.command.CommandSender;
import org.bukkit.permissions.PermissionDefault;
public enum Permissions implements IPermission
{
ENTITYTARGET(PermissionDefault.TRUE),
{
PVP(PermissionDefault.TRUE),
PREVENTDAMAGE_FALL(PermissionDefault.FALSE),
PREVENTDAMAGE_CREEPER(PermissionDefault.FALSE),
@@ -70,4 +70,6 @@ public enum Permissions implements IPermission
{
return PermissionFactory.checkPermission(sender, this);
}
public static DotStarPermission ENTITY_TARGET_BYPASS = new DotStarPermission("essentials.protect.entitytarget.bypass");
}