summaryrefslogtreecommitdiffstats
path: root/EssentialsProtect/src/net
diff options
context:
space:
mode:
authorIaccidentally <coryhuckaby@gmail.com>2012-10-28 13:41:13 -0400
committerIaccidentally <coryhuckaby@gmail.com>2012-10-28 13:41:13 -0400
commitdf275fc23768efb4c0267d66cf0e7c0beed121bb (patch)
tree6f090bffebdb21b04f8ea54ab565eae571ca4893 /EssentialsProtect/src/net
parent2338a4ef266ca5d9ad53a3719fcbb092f0466147 (diff)
downloadEssentials-df275fc23768efb4c0267d66cf0e7c0beed121bb.tar
Essentials-df275fc23768efb4c0267d66cf0e7c0beed121bb.tar.gz
Essentials-df275fc23768efb4c0267d66cf0e7c0beed121bb.tar.lz
Essentials-df275fc23768efb4c0267d66cf0e7c0beed121bb.tar.xz
Essentials-df275fc23768efb4c0267d66cf0e7c0beed121bb.zip
Prevent changes (wither support)
Diffstat (limited to 'EssentialsProtect/src/net')
-rw-r--r--EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java25
-rw-r--r--EssentialsProtect/src/net/ess3/protect/Permissions.java1
2 files changed, 26 insertions, 0 deletions
diff --git a/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java b/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java
index 5adb2b4a3..d2553b30f 100644
--- a/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java
+++ b/EssentialsProtect/src/net/ess3/protect/EssentialsProtectEntityListener.java
@@ -89,6 +89,14 @@ public class EssentialsProtectEntityListener implements Listener
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)
@@ -171,6 +179,12 @@ public class EssentialsProtectEntityListener implements Listener
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()
@@ -192,6 +206,12 @@ public class EssentialsProtectEntityListener implements Listener
event.setCancelled(true);
return;
}
+ else if ((event.getEntity() instanceof WitherSkull)
+ && settings.getData().getPrevent().isWitherSkullExplosion())
+ {
+ event.setCancelled(true);
+ return;
+ }
}
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
@@ -239,5 +259,10 @@ public class EssentialsProtectEntityListener implements Listener
{
event.setCancelled(true);
}
+ if (event.getEntityType() == EntityType.WITHER && settings.getData().getPrevent().isWitherBlockreplace())
+ {
+ event.setCancelled(true);
+ return;
+ }
}
}
diff --git a/EssentialsProtect/src/net/ess3/protect/Permissions.java b/EssentialsProtect/src/net/ess3/protect/Permissions.java
index 9574ca886..9890231d5 100644
--- a/EssentialsProtect/src/net/ess3/protect/Permissions.java
+++ b/EssentialsProtect/src/net/ess3/protect/Permissions.java
@@ -23,6 +23,7 @@ public enum Permissions implements IPermission
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.";