Add SmallFireball to EssProtect

This commit is contained in:
snowleo 2011-11-20 15:43:39 +01:00
parent 8c478c76a5
commit a886645afa

View File

@ -20,6 +20,7 @@ import org.bukkit.entity.Fireball;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile; import org.bukkit.entity.Projectile;
import org.bukkit.entity.SmallFireball;
import org.bukkit.entity.TNTPrimed; import org.bukkit.entity.TNTPrimed;
import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.event.entity.EndermanPickupEvent; import org.bukkit.event.entity.EndermanPickupEvent;
@ -38,13 +39,13 @@ public class EssentialsProtectEntityListener extends EntityListener
{ {
private final transient IProtect prot; private final transient IProtect prot;
private final transient IEssentials ess; private final transient IEssentials ess;
public EssentialsProtectEntityListener(final IProtect prot) public EssentialsProtectEntityListener(final IProtect prot)
{ {
this.prot = prot; this.prot = prot;
this.ess = prot.getEssentials(); this.ess = prot.getEssentials();
} }
@Override @Override
public void onEntityDamage(final EntityDamageEvent event) public void onEntityDamage(final EntityDamageEvent event)
{ {
@ -57,7 +58,7 @@ public class EssentialsProtectEntityListener extends EntityListener
if (event instanceof EntityDamageByBlockEvent) if (event instanceof EntityDamageByBlockEvent)
{ {
final DamageCause cause = event.getCause(); final DamageCause cause = event.getCause();
if (prot.getSettingBool(ProtectConfig.disable_contactdmg) if (prot.getSettingBool(ProtectConfig.disable_contactdmg)
&& cause == DamageCause.CONTACT && cause == DamageCause.CONTACT
&& !(target instanceof Player && !(target instanceof Player
@ -86,7 +87,7 @@ public class EssentialsProtectEntityListener extends EntityListener
return; return;
} }
} }
if (event instanceof EntityDamageByEntityEvent) if (event instanceof EntityDamageByEntityEvent)
{ {
final EntityDamageByEntityEvent edEvent = (EntityDamageByEntityEvent)event; final EntityDamageByEntityEvent edEvent = (EntityDamageByEntityEvent)event;
@ -111,7 +112,7 @@ public class EssentialsProtectEntityListener extends EntityListener
event.setCancelled(true); event.setCancelled(true);
return; return;
} }
if (eAttack instanceof Creeper && prot.getSettingBool(ProtectConfig.prevent_creeper_playerdmg) if (eAttack instanceof Creeper && prot.getSettingBool(ProtectConfig.prevent_creeper_playerdmg)
&& !(target instanceof Player && !(target instanceof Player
&& user.isAuthorized("essentials.protect.damage.creeper") && user.isAuthorized("essentials.protect.damage.creeper")
@ -120,8 +121,9 @@ public class EssentialsProtectEntityListener extends EntityListener
event.setCancelled(true); event.setCancelled(true);
return; return;
} }
if (eAttack instanceof Fireball && prot.getSettingBool(ProtectConfig.prevent_fireball_playerdmg) if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball)
&& prot.getSettingBool(ProtectConfig.prevent_fireball_playerdmg)
&& !(target instanceof Player && !(target instanceof Player
&& user.isAuthorized("essentials.protect.damage.fireball") && user.isAuthorized("essentials.protect.damage.fireball")
&& !user.isAuthorized("essentials.protect.damage.disable"))) && !user.isAuthorized("essentials.protect.damage.disable")))
@ -129,7 +131,7 @@ public class EssentialsProtectEntityListener extends EntityListener
event.setCancelled(true); event.setCancelled(true);
return; return;
} }
if (eAttack instanceof TNTPrimed && prot.getSettingBool(ProtectConfig.prevent_tnt_playerdmg) if (eAttack instanceof TNTPrimed && prot.getSettingBool(ProtectConfig.prevent_tnt_playerdmg)
&& !(target instanceof Player && !(target instanceof Player
&& user.isAuthorized("essentials.protect.damage.tnt") && user.isAuthorized("essentials.protect.damage.tnt")
@ -138,7 +140,7 @@ public class EssentialsProtectEntityListener extends EntityListener
event.setCancelled(true); event.setCancelled(true);
return; return;
} }
if (edEvent.getDamager() instanceof Projectile if (edEvent.getDamager() instanceof Projectile
&& target instanceof Player && target instanceof Player
&& ((prot.getSettingBool(ProtectConfig.disable_projectiles) && ((prot.getSettingBool(ProtectConfig.disable_projectiles)
@ -153,7 +155,7 @@ public class EssentialsProtectEntityListener extends EntityListener
return; return;
} }
} }
final DamageCause cause = event.getCause(); final DamageCause cause = event.getCause();
if (target instanceof Player) if (target instanceof Player)
{ {
@ -165,7 +167,7 @@ public class EssentialsProtectEntityListener extends EntityListener
event.setCancelled(true); event.setCancelled(true);
return; return;
} }
if (cause == DamageCause.SUFFOCATION if (cause == DamageCause.SUFFOCATION
&& prot.getSettingBool(ProtectConfig.disable_suffocate) && prot.getSettingBool(ProtectConfig.disable_suffocate)
&& !(user.isAuthorized("essentials.protect.damage.suffocation") && !(user.isAuthorized("essentials.protect.damage.suffocation")
@ -201,7 +203,7 @@ public class EssentialsProtectEntityListener extends EntityListener
} }
} }
} }
@Override @Override
public void onEntityExplode(final EntityExplodeEvent event) public void onEntityExplode(final EntityExplodeEvent event)
{ {
@ -242,7 +244,7 @@ public class EssentialsProtectEntityListener extends EntityListener
set.add(cp); set.add(cp);
} }
} }
((CraftServer)ess.getServer()).getHandle().sendPacketNearby(loc.getX(), loc.getY(), loc.getZ(), 64.0D, ((CraftWorld)loc.getWorld()).getHandle().worldProvider.dimension, ((CraftServer)ess.getServer()).getHandle().sendPacketNearby(loc.getX(), loc.getY(), loc.getZ(), 64.0D, ((CraftWorld)loc.getWorld()).getHandle().worldProvider.dimension,
new Packet60Explosion(loc.getX(), loc.getY(), loc.getZ(), 3.0f, set)); new Packet60Explosion(loc.getX(), loc.getY(), loc.getZ(), 3.0f, set));
} }
@ -259,7 +261,7 @@ public class EssentialsProtectEntityListener extends EntityListener
event.setCancelled(true); event.setCancelled(true);
return; return;
} }
else if (event.getEntity() instanceof Fireball else if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball)
&& prot.getSettingBool(ProtectConfig.prevent_fireball_explosion)) && prot.getSettingBool(ProtectConfig.prevent_fireball_explosion))
{ {
event.setCancelled(true); event.setCancelled(true);
@ -295,7 +297,7 @@ public class EssentialsProtectEntityListener extends EntityListener
} }
} }
} }
@Override @Override
public void onCreatureSpawn(final CreatureSpawnEvent event) public void onCreatureSpawn(final CreatureSpawnEvent event)
{ {
@ -317,7 +319,7 @@ public class EssentialsProtectEntityListener extends EntityListener
event.setCancelled(true); event.setCancelled(true);
} }
} }
@Override @Override
public void onEntityTarget(final EntityTargetEvent event) public void onEntityTarget(final EntityTargetEvent event)
{ {
@ -343,11 +345,11 @@ public class EssentialsProtectEntityListener extends EntityListener
return; return;
} }
} }
@Override @Override
public void onExplosionPrime(ExplosionPrimeEvent event) public void onExplosionPrime(ExplosionPrimeEvent event)
{ {
if (event.getEntity() instanceof Fireball if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball)
&& prot.getSettingBool(ProtectConfig.prevent_fireball_fire)) && prot.getSettingBool(ProtectConfig.prevent_fireball_fire))
{ {
event.setFire(false); event.setFire(false);
@ -357,10 +359,12 @@ public class EssentialsProtectEntityListener extends EntityListener
@Override @Override
public void onEndermanPickup(EndermanPickupEvent event) public void onEndermanPickup(EndermanPickupEvent event)
{ {
if (event.isCancelled()) { if (event.isCancelled())
{
return; return;
} }
if (prot.getSettingBool(ProtectConfig.prevent_enderman_pickup)) { if (prot.getSettingBool(ProtectConfig.prevent_enderman_pickup))
{
event.setCancelled(true); event.setCancelled(true);
return; return;
} }