summaryrefslogtreecommitdiffstats
path: root/EssentialsProtect/src/net
diff options
context:
space:
mode:
authorGunfighterJ <joseph.jenniges@gmail.com>2013-03-31 10:41:38 -0500
committerGunfighterJ <joseph.jenniges@gmail.com>2013-04-01 11:59:05 -0500
commit9a81b905a1c892d9d710ed72022405740c1dad58 (patch)
tree5c72d77ae23132f8e70c6ea7b24c4170ede62ed1 /EssentialsProtect/src/net
parent3a4f7ae42c928f59d3c9d15992ea9720d50c4bb9 (diff)
downloadEssentials-9a81b905a1c892d9d710ed72022405740c1dad58.tar
Essentials-9a81b905a1c892d9d710ed72022405740c1dad58.tar.gz
Essentials-9a81b905a1c892d9d710ed72022405740c1dad58.tar.lz
Essentials-9a81b905a1c892d9d710ed72022405740c1dad58.tar.xz
Essentials-9a81b905a1c892d9d710ed72022405740c1dad58.zip
[Fix] Update protection settings
Removed unnecessary return statements Waiting on bukkit bug for item frames and paintings
Diffstat (limited to 'EssentialsProtect/src/net')
-rw-r--r--EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java467
-rw-r--r--EssentialsProtect/src/net/ess3/protect/Permissions.java115
2 files changed, 302 insertions, 280 deletions
diff --git a/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java b/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java
index a6a172685..68445caec 100644
--- a/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java
+++ b/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java
@@ -1,6 +1,8 @@
package net.ess3.protect;
+import net.ess3.settings.protect.Prevent;
import org.bukkit.entity.*;
+import org.bukkit.entity.minecart.ExplosiveMinecart;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
@@ -10,236 +12,255 @@ import org.bukkit.event.entity.EntityTargetEvent.TargetReason;
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
import org.bukkit.event.hanging.HangingBreakEvent;
-//TODO: remove unnecessary return statements
public class EssentialsProtectEntityListener implements Listener
{
- private final IProtect prot;
-
- public EssentialsProtectEntityListener(final IProtect prot)
- {
- super();
- this.prot = prot;
- }
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onEntityDamage(final EntityDamageEvent event)
- {
- final ProtectHolder settings = prot.getSettings();
- final Entity target = event.getEntity();
-
- if (target instanceof Villager && settings.getData().getPrevent().isVillagerDeath())
- {
- event.setCancelled(true);
- return;
- }
-
- final Player user = target instanceof Player ? (Player)target : null;
- if (target instanceof Player && event instanceof EntityDamageByBlockEvent)
- {
- final DamageCause cause = event.getCause();
-
- if (cause == DamageCause.CONTACT && (Permissions.PREVENTDAMAGE_CONTACT.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
- {
- event.setCancelled(true);
- return;
- }
- if (cause == DamageCause.LAVA && (Permissions.PREVENTDAMAGE_LAVADAMAGE.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
- {
- event.setCancelled(true);
- return;
- }
- if (cause == DamageCause.BLOCK_EXPLOSION && (Permissions.PREVENTDAMAGE_TNT.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(
- user)))
- {
- event.setCancelled(true);
- return;
- }
- }
-
- if (target instanceof Player && event instanceof EntityDamageByEntityEvent)
- {
- final EntityDamageByEntityEvent edEvent = (EntityDamageByEntityEvent)event;
- final Entity eAttack = edEvent.getDamager();
- final Player attacker = eAttack instanceof Player ? (Player)eAttack : null;
-
- // PVP Settings
- if (target instanceof Player && eAttack instanceof Player && (!Permissions.PVP.isAuthorized(user) || !Permissions.PVP.isAuthorized(attacker)))
- {
- event.setCancelled(true);
- return;
- }
-
- //Creeper explode prevention
- if (eAttack instanceof Creeper && settings.getData().getPrevent().isCreeperExplosion() || (Permissions.PREVENTDAMAGE_CREEPER.isAuthorized(
- user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
- {
- event.setCancelled(true);
- return;
- }
-
- if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball) && (Permissions.PREVENTDAMAGE_FIREBALL.isAuthorized(
- user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
- {
- event.setCancelled(true);
- return;
- }
-
- if ((event.getEntity() instanceof WitherSkull && Permissions.PREVENTDAMAGE_WITHERSKULL.isAuthorized(
- user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
- {
- event.setCancelled(true);
- return;
- }
-
- if (eAttack instanceof TNTPrimed && (Permissions.PREVENTDAMAGE_TNT.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
- {
- event.setCancelled(true);
- return;
- }
-
- if (edEvent.getDamager() instanceof Projectile && ((Permissions.PREVENTDAMAGE_PROJECTILES.isAuthorized(
- user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(
- user)) || (((Projectile)edEvent.getDamager()).getShooter() instanceof Player && (!Permissions.PVP.isAuthorized(
- user) || !Permissions.PVP.isAuthorized((Player)((Projectile)edEvent.getDamager()).getShooter())))))
- {
- event.setCancelled(true);
- return;
- }
- }
-
- final DamageCause cause = event.getCause();
- if (target instanceof Player)
- {
- if (cause == DamageCause.FALL && (Permissions.PREVENTDAMAGE_FALL.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
- {
- event.setCancelled(true);
- return;
- }
-
- if (cause == DamageCause.SUFFOCATION && (Permissions.PREVENTDAMAGE_SUFFOCATION.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(
- user)))
- {
- event.setCancelled(true);
- return;
- }
- if ((cause == DamageCause.FIRE || cause == DamageCause.FIRE_TICK) && (Permissions.PREVENTDAMAGE_FIRE.isAuthorized(
- user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
- {
- event.setCancelled(true);
- return;
- }
- if (cause == DamageCause.DROWNING && (Permissions.PREVENTDAMAGE_DROWNING.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
- {
- event.setCancelled(true);
- return;
- }
- if (cause == DamageCause.LIGHTNING && (Permissions.PREVENTDAMAGE_LIGHTNING.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(
- user)))
- {
- event.setCancelled(true);
- }
- if (cause == DamageCause.WITHER && (Permissions.PREVENTDAMAGE_WITHER.isAuthorized(user)) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user))
- {
- event.setCancelled(true);
- return;
- }
- }
- }
- // return statements are probably not needed here
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onEntityExplode(final EntityExplodeEvent event)
- {
- final ProtectHolder settings = prot.getSettings();
- final int maxHeight = settings.getData().getCreeperMaxHeight();
-
- if (event.getEntity() instanceof EnderDragon && settings.getData().getPrevent().isEnderdragonBlockdamage())
- {
- event.setCancelled(true);
- return;
- }
- else if (event.getEntity() instanceof Wither && settings.getData().getPrevent().isWitherSpawnExplosion())
- {
- event.setCancelled(true);
- return;
- }
- else if (event.getEntity() instanceof Creeper && (settings.getData().getPrevent().isCreeperExplosion() || settings.getData().getPrevent().isCreeperBlockdamage() || (maxHeight >= 0 && event.getLocation().getBlockY() > maxHeight)))
- {
- event.setCancelled(true);
- event.getLocation().getWorld().createExplosion(event.getLocation(), 0F);
- return;
- }
- else if (event.getEntity() instanceof TNTPrimed && settings.getData().getPrevent().isTntExplosion())
- {
- event.setCancelled(true);
- return;
- }
- else if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball) && settings.getData().getPrevent().isFireballExplosion())
- {
- event.setCancelled(true);
- return;
- }
- else if ((event.getEntity() instanceof WitherSkull) && settings.getData().getPrevent().isWitherskullExplosion())
- {
- event.setCancelled(true);
- return;
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onEntityTarget(final EntityTargetEvent event)
- {
- 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 || event.getReason() == TargetReason.TARGET_ATTACKED_ENTITY || event.getReason() == TargetReason.PIG_ZOMBIE_TARGET || event.getReason() == TargetReason.RANDOM_TARGET || event.getReason() == TargetReason.TARGET_ATTACKED_OWNER || event.getReason() == TargetReason.OWNER_ATTACKED_TARGET) && !prot.getSettings().getData().getPrevent().isEntitytarget() && !Permissions.ENTITY_TARGET_BYPASS.isAuthorized(
- user, event.getEntity().getType().getName().toLowerCase()))
- {
- event.setCancelled(true);
- }
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST)
- public void onExplosionPrime(final ExplosionPrimeEvent event)
- {
- final ProtectHolder settings = prot.getSettings();
- if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball) && settings.getData().getPrevent().isFireballFire())
- {
- event.setFire(false);
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
- public void onEntityChangeBlock(final EntityChangeBlockEvent event)
- {
- final ProtectHolder settings = prot.getSettings();
- if (event.getEntityType() == EntityType.ENDERMAN && settings.getData().getPrevent().isEndermanPickup())
- {
- event.setCancelled(true);
- }
- if (event.getEntityType() == EntityType.WITHER && settings.getData().getPrevent().isWitherBlockreplace())
- {
- event.setCancelled(true);
- return;
- }
- }
-
- @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled=true)
+ private final IProtect prot;
+
+ public EssentialsProtectEntityListener(final IProtect prot)
+ {
+ super();
+ this.prot = prot;
+ }
+
+ private Prevent getSettings()
+ {
+ return prot.getSettings().getData().getPrevent();
+ }
+
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
+ public void onEntityDamage(final EntityDamageEvent event)
+ {
+ final Entity target = event.getEntity();
+
+ if (target instanceof Villager && getSettings().isVillagerDeath())
+ {
+ event.setCancelled(true);
+ return;
+ }
+
+ final Player user = target instanceof Player ? (Player) target : null;
+ if (target instanceof Player && event instanceof EntityDamageByBlockEvent)
+ {
+ final DamageCause cause = event.getCause();
+
+ if (cause == DamageCause.CONTACT && (Permissions.PREVENTDAMAGE_CONTACT.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
+ {
+ event.setCancelled(true);
+ return;
+ }
+ if (cause == DamageCause.LAVA && (Permissions.PREVENTDAMAGE_LAVADAMAGE.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
+ {
+ event.setCancelled(true);
+ return;
+ }
+ if (cause == DamageCause.BLOCK_EXPLOSION && (Permissions.PREVENTDAMAGE_TNT.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
+ {
+ event.setCancelled(true);
+ return;
+ }
+ }
+
+ if (target instanceof Player && event instanceof EntityDamageByEntityEvent)
+ {
+ final EntityDamageByEntityEvent edEvent = (EntityDamageByEntityEvent) event;
+ final Entity eAttack = edEvent.getDamager();
+ final Player attacker = eAttack instanceof Player ? (Player) eAttack : null;
+
+ // PVP Settings
+ if (target instanceof Player && eAttack instanceof Player && (!Permissions.PVP.isAuthorized(user) || !Permissions.PVP.isAuthorized(attacker)))
+ {
+ event.setCancelled(true);
+ return;
+ }
+
+ //Player damage prevention section
+ if (eAttack instanceof Creeper && getSettings().isCreeperPlayerdamage() || (Permissions.PREVENTDAMAGE_CREEPER.isAuthorized(
+ user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
+ {
+ event.setCancelled(true);
+ return;
+ }
+
+ if (eAttack instanceof ExplosiveMinecart && getSettings().isTntMinecartPlayerdamage() || (Permissions.PREVENTDAMAGE_TNTMINECART.isAuthorized(
+ user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
+ {
+ event.setCancelled(true);
+ return;
+ }
+
+ if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball || event.getEntity() instanceof LargeFireball) && (Permissions.PREVENTDAMAGE_FIREBALL.isAuthorized(
+ user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
+ {
+ event.setCancelled(true);
+ return;
+ }
+
+ if ((eAttack instanceof WitherSkull && Permissions.PREVENTDAMAGE_WITHERSKULL.isAuthorized(
+ user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
+ {
+ event.setCancelled(true);
+ return;
+ }
+
+ if ((eAttack instanceof Wither && event.getCause() == DamageCause.ENTITY_EXPLOSION) && getSettings().isWitherSpawnPlayerdamage() || (Permissions.PREVENTDAMAGE_WITHER.isAuthorized(
+ user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
+ {
+ event.setCancelled(true);
+ return;
+ }
+
+ if (eAttack instanceof TNTPrimed && (Permissions.PREVENTDAMAGE_TNT.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
+ {
+ event.setCancelled(true);
+ return;
+ }
+
+ if (edEvent.getDamager() instanceof Projectile && ((Permissions.PREVENTDAMAGE_PROJECTILES.isAuthorized(
+ user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(
+ user)) || (((Projectile) edEvent.getDamager()).getShooter() instanceof Player && (!Permissions.PVP.isAuthorized(
+ user) || !Permissions.PVP.isAuthorized((Player) ((Projectile) edEvent.getDamager()).getShooter())))))
+ {
+ event.setCancelled(true);
+ return;
+ }
+ }
+
+ final DamageCause cause = event.getCause();
+ if (target instanceof Player)
+ {
+ if (cause == DamageCause.FALL && (Permissions.PREVENTDAMAGE_FALL.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
+ {
+ event.setCancelled(true);
+ return;
+ }
+
+ if (cause == DamageCause.SUFFOCATION && (Permissions.PREVENTDAMAGE_SUFFOCATION.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(
+ user)))
+ {
+ event.setCancelled(true);
+ return;
+ }
+ if ((cause == DamageCause.FIRE || cause == DamageCause.FIRE_TICK) && (Permissions.PREVENTDAMAGE_FIRE.isAuthorized(
+ user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
+ {
+ event.setCancelled(true);
+ return;
+ }
+ if (cause == DamageCause.DROWNING && (Permissions.PREVENTDAMAGE_DROWNING.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user)))
+ {
+ event.setCancelled(true);
+ return;
+ }
+ if (cause == DamageCause.LIGHTNING && (Permissions.PREVENTDAMAGE_LIGHTNING.isAuthorized(user) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(
+ user)))
+ {
+ event.setCancelled(true);
+ }
+ if (cause == DamageCause.WITHER && (Permissions.PREVENTDAMAGE_WITHER.isAuthorized(user)) && !Permissions.PREVENTDAMAGE_NONE.isAuthorized(user))
+ {
+ event.setCancelled(true);
+ }
+ }
+ }
+
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
+ public void onEntityExplode(final EntityExplodeEvent event)
+ {
+ final int maxHeight = prot.getSettings().getData().getCreeperMaxHeight();
+ Entity entity = event.getEntity();
+
+ //Block damage prevention section
+ if (entity instanceof EnderDragon && getSettings().isEnderdragonBlockdamage())
+ {
+ event.setCancelled(true);
+ }
+ else if (entity instanceof Wither && getSettings().isWitherSpawnBlockdamage())
+ {
+ event.setCancelled(true);
+ }
+ else if (entity instanceof Creeper && (getSettings().isCreeperBlockdamage() || getSettings().isCreeperBlockdamage()
+ || (maxHeight >= 0 && event.getLocation().getBlockY() > maxHeight)))
+ {
+ event.setCancelled(true);
+ event.getLocation().getWorld().createExplosion(event.getLocation(), 0F);
+ }
+ else if (entity instanceof TNTPrimed && getSettings().isTntBlockdamage())
+ {
+ event.setCancelled(true);
+ }
+ else if ((entity instanceof Fireball || entity instanceof SmallFireball) && getSettings().isFireballBlockdamage())
+ {
+ event.setCancelled(true);
+ }
+ else if ((entity instanceof WitherSkull) && getSettings().isWitherskullBlockdamage())
+ {
+ event.setCancelled(true);
+ }
+ else if ((entity instanceof ExplosiveMinecart) && getSettings().isTntMinecartBlockdamage())
+ {
+ event.setCancelled(true);
+ }
+ }
+
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
+ public void onEntityTarget(final EntityTargetEvent event)
+ {
+ 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 || event.getReason() == TargetReason.TARGET_ATTACKED_ENTITY || event.getReason() == TargetReason.PIG_ZOMBIE_TARGET
+ || event.getReason() == TargetReason.RANDOM_TARGET || event.getReason() == TargetReason.TARGET_ATTACKED_OWNER
+ || event.getReason() == TargetReason.OWNER_ATTACKED_TARGET)
+ && !prot.getSettings().getData().getPrevent().isEntitytarget() && !Permissions.ENTITY_TARGET_BYPASS.isAuthorized(
+ user, event.getEntity().getType().getName().toLowerCase()))
+ {
+ event.setCancelled(true);
+ }
+ }
+ }
+
+ @EventHandler(priority = EventPriority.HIGHEST)
+ public void onExplosionPrime(final ExplosionPrimeEvent event)
+ {
+ if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball) && getSettings().isFireballFire())
+ {
+ event.setFire(false);
+ }
+ }
+
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
+ public void onEntityChangeBlock(final EntityChangeBlockEvent event)
+ {
+ if (event.getEntityType() == EntityType.ENDERMAN && getSettings().isEndermanPickup())
+ {
+ event.setCancelled(true);
+ }
+ if (event.getEntityType() == EntityType.WITHER && getSettings().isWitherBlockreplace())
+ {
+ event.setCancelled(true);
+ }
+ }
+
+ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onPaintingBreak(final HangingBreakByEntityEvent event)
{
final ProtectHolder settings = prot.getSettings();
- if (event.getCause() == HangingBreakEvent.RemoveCause.ENTITY
- && event.getRemover() instanceof Creeper
- && settings.getData().getPrevent().isCreeperBlockdamage() )
+ Entity remover = event.getRemover();
+ if ((event.getCause() == HangingBreakEvent.RemoveCause.ENTITY)
+ && ((remover instanceof Creeper) && getSettings().isCreeperBlockdamage())
+ || ((remover instanceof Wither) && getSettings().isWitherSpawnBlockdamage())
+ || ((remover instanceof Fireball) && getSettings().isFireballBlockdamage())
+ || ((remover instanceof TNTPrimed) && getSettings().isTntBlockdamage())
+ || ((remover instanceof WitherSkull) && getSettings().isWitherskullBlockdamage())
+ || ((remover instanceof ExplosiveMinecart) && getSettings().isTntMinecartBlockdamage()))
{
event.setCancelled(true);
- return;
}
}
}
diff --git a/EssentialsProtect/src/net/ess3/protect/Permissions.java b/EssentialsProtect/src/net/ess3/protect/Permissions.java
index f4a5e1ea1..241be035f 100644
--- a/EssentialsProtect/src/net/ess3/protect/Permissions.java
+++ b/EssentialsProtect/src/net/ess3/protect/Permissions.java
@@ -10,68 +10,69 @@ import org.bukkit.permissions.PermissionDefault;
public enum Permissions implements IPermission
{
- PVP(PermissionDefault.TRUE),
- PREVENTDAMAGE_FALL(PermissionDefault.FALSE),
- PREVENTDAMAGE_CREEPER(PermissionDefault.FALSE),
- PREVENTDAMAGE_CONTACT(PermissionDefault.FALSE),
- PREVENTDAMAGE_FIREBALL(PermissionDefault.FALSE),
- PREVENTDAMAGE_PROJECTILES(PermissionDefault.FALSE),
- PREVENTDAMAGE_LAVADAMAGE(PermissionDefault.FALSE),
- PREVENTDAMAGE_TNT(PermissionDefault.FALSE),
- PREVENTDAMAGE_SUFFOCATION(PermissionDefault.FALSE),
- PREVENTDAMAGE_FIRE(PermissionDefault.FALSE),
- PREVENTDAMAGE_DROWNING(PermissionDefault.FALSE),
- PREVENTDAMAGE_LIGHTNING(PermissionDefault.FALSE),
- PREVENTDAMAGE_WITHER(PermissionDefault.FALSE),
- PREVENTDAMAGE_WITHERSKULL(PermissionDefault.FALSE),
- PREVENTDAMAGE_NONE(PermissionDefault.FALSE),
- USEFLINTSTEEL(PermissionDefault.TRUE);
- private static final String base = "essentials.protect.";
- private final String permission;
- private final PermissionDefault defaultPerm;
- private String parent = null;
+ PVP(PermissionDefault.TRUE),
+ PREVENTDAMAGE_FALL(PermissionDefault.FALSE),
+ PREVENTDAMAGE_CREEPER(PermissionDefault.FALSE),
+ PREVENTDAMAGE_CONTACT(PermissionDefault.FALSE),
+ PREVENTDAMAGE_FIREBALL(PermissionDefault.FALSE),
+ PREVENTDAMAGE_PROJECTILES(PermissionDefault.FALSE),
+ PREVENTDAMAGE_LAVADAMAGE(PermissionDefault.FALSE),
+ PREVENTDAMAGE_TNT(PermissionDefault.FALSE),
+ PREVENTDAMAGE_TNTMINECART(PermissionDefault.FALSE),
+ PREVENTDAMAGE_SUFFOCATION(PermissionDefault.FALSE),
+ PREVENTDAMAGE_FIRE(PermissionDefault.FALSE),
+ PREVENTDAMAGE_DROWNING(PermissionDefault.FALSE),
+ PREVENTDAMAGE_LIGHTNING(PermissionDefault.FALSE),
+ PREVENTDAMAGE_WITHER(PermissionDefault.FALSE),
+ PREVENTDAMAGE_WITHERSKULL(PermissionDefault.FALSE),
+ PREVENTDAMAGE_NONE(PermissionDefault.FALSE),
+ USEFLINTSTEEL(PermissionDefault.TRUE);
+ private static final String base = "essentials.protect.";
+ private final String permission;
+ private final PermissionDefault defaultPerm;
+ private String parent = null;
- private Permissions()
- {
- this(PermissionDefault.OP);
- }
+ private Permissions()
+ {
+ this(PermissionDefault.OP);
+ }
- private Permissions(final PermissionDefault defaultPerm)
- {
- permission = base + toString().toLowerCase(Locale.ENGLISH).replace('_', '.');
- this.defaultPerm = defaultPerm;
- }
+ private Permissions(final PermissionDefault defaultPerm)
+ {
+ permission = base + toString().toLowerCase(Locale.ENGLISH).replace('_', '.');
+ this.defaultPerm = defaultPerm;
+ }
- @Override
- public String getPermissionName()
- {
- return permission;
- }
+ @Override
+ public String getPermissionName()
+ {
+ return permission;
+ }
- @Override
- public String getParentPermission()
- {
- if (parent != null)
- {
- return parent;
- }
- else
- {
- return PermissionFactory.registerParentPermission(getPermissionName());
- }
- }
+ @Override
+ public String getParentPermission()
+ {
+ if (parent != null)
+ {
+ return parent;
+ }
+ else
+ {
+ return PermissionFactory.registerParentPermission(getPermissionName());
+ }
+ }
- @Override
- public PermissionDefault getPermissionDefault()
- {
- return this.defaultPerm;
- }
+ @Override
+ public PermissionDefault getPermissionDefault()
+ {
+ return this.defaultPerm;
+ }
- @Override
- public boolean isAuthorized(final CommandSender sender)
- {
- return PermissionFactory.checkPermission(sender, this);
- }
+ @Override
+ public boolean isAuthorized(final CommandSender sender)
+ {
+ return PermissionFactory.checkPermission(sender, this);
+ }
- public static DotStarPermission ENTITY_TARGET_BYPASS = new DotStarPermission("essentials.protect.entitytarget.bypass");
+ public static DotStarPermission ENTITY_TARGET_BYPASS = new DotStarPermission("essentials.protect.entitytarget.bypass");
}