summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Essentials/src/com/earth2me/essentials/Essentials.java2
-rw-r--r--Essentials/src/com/earth2me/essentials/OfflinePlayer.java24
-rw-r--r--Essentials/src/com/earth2me/essentials/User.java2
-rw-r--r--Essentials/src/config.yml2
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java36
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java2
6 files changed, 55 insertions, 13 deletions
diff --git a/Essentials/src/com/earth2me/essentials/Essentials.java b/Essentials/src/com/earth2me/essentials/Essentials.java
index b1e8a988a..c54e19af3 100644
--- a/Essentials/src/com/earth2me/essentials/Essentials.java
+++ b/Essentials/src/com/earth2me/essentials/Essentials.java
@@ -69,7 +69,7 @@ import org.yaml.snakeyaml.error.YAMLException;
public class Essentials extends JavaPlugin implements IEssentials
{
- public static final int BUKKIT_VERSION = 2624;
+ public static final int BUKKIT_VERSION = 2646;
private static final Logger LOGGER = Logger.getLogger("Minecraft");
private transient ISettings settings;
private final transient TNTExplodeListener tntListener = new TNTExplodeListener(this);
diff --git a/Essentials/src/com/earth2me/essentials/OfflinePlayer.java b/Essentials/src/com/earth2me/essentials/OfflinePlayer.java
index 51dc92337..3e9f2241a 100644
--- a/Essentials/src/com/earth2me/essentials/OfflinePlayer.java
+++ b/Essentials/src/com/earth2me/essentials/OfflinePlayer.java
@@ -1168,4 +1168,28 @@ public class OfflinePlayer implements Player
{
throw new UnsupportedOperationException("Not supported yet.");
}
+
+ @Override
+ public void setCustomName(String string)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public String getCustomName()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void setCustomNameVisible(boolean bln)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public boolean isCustomNameVisible()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
}
diff --git a/Essentials/src/com/earth2me/essentials/User.java b/Essentials/src/com/earth2me/essentials/User.java
index 471362b7b..a771fae3f 100644
--- a/Essentials/src/com/earth2me/essentials/User.java
+++ b/Essentials/src/com/earth2me/essentials/User.java
@@ -253,7 +253,7 @@ public class User extends UserData implements Comparable<User>, IReplyTo, IUser
{
setLastLocation(getLocation());
}
-
+
@Override
public void setLogoutLocation()
{
diff --git a/Essentials/src/config.yml b/Essentials/src/config.yml
index a651e5698..6b31ae275 100644
--- a/Essentials/src/config.yml
+++ b/Essentials/src/config.yml
@@ -510,6 +510,8 @@ protect:
portal-creation: false
tnt-explosion: false
tnt-playerdamage: false
+ tnt-minecart-explosion: false
+ tnt-minecart-playerdamage: false
fireball-explosion: false
fireball-fire: false
fireball-playerdamage: false
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java
index bcfa52104..b2b2baa1d 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectEntityListener.java
@@ -102,7 +102,14 @@ public class EssentialsProtectEntityListener implements Listener
event.setCancelled(true);
return;
}
-
+
+ if (eAttack instanceof MinecartTNT && prot.getSettingBool(ProtectConfig.prevent_tntminecart_playerdmg)
+ && !(target instanceof Player && shouldBeDamaged(user, "tnt-minecart")))
+ {
+ event.setCancelled(true);
+ return;
+ }
+
// PVP Settings
if (target instanceof Player && eAttack instanceof Player
&& prot.getSettingBool(ProtectConfig.disable_pvp)
@@ -185,9 +192,10 @@ public class EssentialsProtectEntityListener implements Listener
{
return;
}
+ Entity entity = event.getEntity();
final int maxHeight = ess.getSettings().getProtectCreeperMaxHeight();
- if (event.getEntity() instanceof EnderDragon
+ if (entity instanceof EnderDragon
&& prot.getSettingBool(ProtectConfig.prevent_enderdragon_blockdmg))
{
event.setCancelled(true);
@@ -197,12 +205,12 @@ public class EssentialsProtectEntityListener implements Listener
}
return;
}
- if (event.getEntity() instanceof Wither
+ if (entity instanceof Wither
&& prot.getSettingBool(ProtectConfig.prevent_wither_spawnexplosion))
{
event.setCancelled(true);
}
- else if (event.getEntity() instanceof Creeper
+ else if (entity instanceof Creeper
&& (prot.getSettingBool(ProtectConfig.prevent_creeper_explosion)
|| prot.getSettingBool(ProtectConfig.prevent_creeper_blockdmg)
|| (maxHeight >= 0 && event.getLocation().getBlockY() > maxHeight)))
@@ -211,23 +219,27 @@ public class EssentialsProtectEntityListener implements Listener
event.setCancelled(true);
event.getLocation().getWorld().createExplosion(event.getLocation(), 0F);
}
- else if (event.getEntity() instanceof TNTPrimed
+ else if (entity instanceof TNTPrimed
&& prot.getSettingBool(ProtectConfig.prevent_tnt_explosion))
{
event.setCancelled(true);
}
- else if ((event.getEntity() instanceof Fireball || event.getEntity() instanceof SmallFireball)
+ else if ((entity instanceof Fireball || entity instanceof SmallFireball)
&& prot.getSettingBool(ProtectConfig.prevent_fireball_explosion))
{
event.setCancelled(true);
}
- else if ((event.getEntity() instanceof WitherSkull)
+ else if ((entity instanceof WitherSkull)
&& prot.getSettingBool(ProtectConfig.prevent_witherskull_explosion))
{
event.setCancelled(true);
-
+ }
+ else if ((entity instanceof MinecartTNT)
+ && prot.getSettingBool(ProtectConfig.prevent_tntminecart_explosion))
+ {
+ event.setCancelled(true);
}
}
@@ -304,9 +316,11 @@ public class EssentialsProtectEntityListener implements Listener
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onPaintingBreak(HangingBreakByEntityEvent event)
{
- if (event.getCause() == HangingBreakEvent.RemoveCause.ENTITY
- && event.getRemover() instanceof Creeper
- && prot.getSettingBool(ProtectConfig.prevent_creeper_explosion))
+ if ((event.getCause() == HangingBreakEvent.RemoveCause.ENTITY)
+ && ((event.getRemover() instanceof Creeper) && prot.getSettingBool(ProtectConfig.prevent_creeper_explosion)
+ || (((event.getRemover() instanceof Fireball) || (event.getRemover() instanceof SmallFireball)) && prot.getSettingBool(ProtectConfig.prevent_fireball_explosion))
+ || ((event.getRemover() instanceof TNTPrimed) && prot.getSettingBool(ProtectConfig.prevent_tnt_explosion))
+ || ((event.getRemover() instanceof WitherSkull) && prot.getSettingBool(ProtectConfig.prevent_witherskull_explosion))))
{
event.setCancelled(true);
}
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java b/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java
index 232322893..2faef22ed 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/ProtectConfig.java
@@ -27,6 +27,8 @@ public enum ProtectConfig
prevent_block_on_rail("protect.protect.prevent-block-on-rails", false),
prevent_tnt_explosion("protect.prevent.tnt-explosion", false),
prevent_tnt_playerdmg("protect.prevent.tnt-playerdamage", false),
+ prevent_tntminecart_explosion("protect.prevent.tnt-minecart-explosion", false),
+ prevent_tntminecart_playerdmg("protect.prevent.tnt-minecart-playerdamage", false),
prevent_fireball_explosion("protect.prevent.fireball-explosion", false),
prevent_fireball_fire("protect.prevent.fireball-fire", false),
prevent_fireball_playerdmg("protect.prevent.fireball-playerdamage", false),