1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-13 01:54:25 +02:00

Prevent changes (wither support)

This commit is contained in:
Iaccidentally
2012-10-28 13:41:13 -04:00
parent 2338a4ef26
commit df275fc237
4 changed files with 33 additions and 0 deletions

View File

@@ -447,6 +447,10 @@ protect:
fireball-explosion: false
fireball-fire: false
fireball-playerdamage: false
witherskull-explosion: flase
witherskull-playerdamage: false
wither-spawnexplosion: flase
wither-blockreplace: false
creeper-explosion: false
creeper-playerdamage: false
creeper-blockdamage: false

View File

@@ -23,6 +23,9 @@ public class Prevent implements StorageObject
private boolean creeperExplosion = false;
private boolean creeperBlockdamage = false;
private boolean enderdragonBlockdamage = false;
private boolean WitherSpawnExplosion = false;
private boolean WitherSkullExplosion = false;
private boolean WitherBlockreplace = false;
private boolean endermanPickup = false;
private boolean villagerDeath = false;
@Comment(

View File

@@ -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;
}
}
}

View File

@@ -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.";