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