diff options
3 files changed, 11 insertions, 1 deletions
diff --git a/Essentials/src/config.yml b/Essentials/src/config.yml index 95117bd26..aa9eed02b 100644 --- a/Essentials/src/config.yml +++ b/Essentials/src/config.yml @@ -325,6 +325,7 @@ protect: lightning-fire-spread: true portal-creation: false tnt-explosion: false + fireball-explosion: false creeper-explosion: false creeper-playerdamage: false creeper-blockdamage: false diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java index f66302ffc..f8166b1d5 100644 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java +++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java @@ -13,7 +13,9 @@ import org.bukkit.block.Block; import org.bukkit.block.BlockFace;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.CraftWorld;
+import org.bukkit.craftbukkit.entity.CraftFireball;
import org.bukkit.craftbukkit.entity.CraftPlayer;
+import org.bukkit.craftbukkit.entity.CraftTNTPrimed;
import org.bukkit.entity.Creeper;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
@@ -221,12 +223,18 @@ public class EssentialsProtectEntityListener extends EntityListener event.setCancelled(true);
return;
}
- else if (!(event.getEntity() instanceof LivingEntity)
+ else if (event.getEntity() instanceof CraftTNTPrimed
&& prot.getSettingBool(ProtectConfig.prevent_tnt_explosion))
{
event.setCancelled(true);
return;
}
+ else if (event.getEntity() instanceof CraftFireball
+ && prot.getSettingBool(ProtectConfig.prevent_fireball_explosion))
+ {
+ event.setCancelled(true);
+ return;
+ }
// This code will prevent explosions near protected rails, signs or protected chests
// TODO: Use protect db instead of this code
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java b/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java index d9161bda8..75824c368 100644 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java +++ b/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java @@ -31,6 +31,7 @@ public enum ProtectConfig prevent_portal_creation("protect.prevent.portal-creation", false), prevent_block_on_rail("protect.protect.prevent-block-on-rails", false), prevent_tnt_explosion("protect.prevent.tnt-explosion", false), + prevent_fireball_explosion("protect.prevent.fireball-explosion", false), prevent_creeper_explosion("protect.prevent.creeper-explosion", true), prevent_creeper_playerdmg("protect.prevent.creeper-playerdamage", false), prevent_creeper_blockdmg("protect.prevent.creeper-blockdamage", false), |