From 82e7f9fc3f4c16f7bdda3b8caa40496d299ecb5f Mon Sep 17 00:00:00 2001 From: RoboMWM Date: Thu, 23 Feb 2017 10:23:38 -0800 Subject: [PATCH] Don't let TNT be dropped in end portals Necessarily this shouldn't be an issue anyways since the platform is obsidian. Also, if you have claims enable in the end, you should theoretically be already protected. --- .../GriefPrevention/EntityEventHandler.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java b/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java index 8e6fe69..49f7b6a 100644 --- a/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java +++ b/src/me/ryanhamshire/GriefPrevention/EntityEventHandler.java @@ -74,6 +74,7 @@ import org.bukkit.event.entity.EntityDeathEvent; import org.bukkit.event.entity.EntityExplodeEvent; import org.bukkit.event.entity.EntityInteractEvent; import org.bukkit.event.entity.EntityPortalEnterEvent; +import org.bukkit.event.entity.EntityPortalExitEvent; import org.bukkit.event.entity.ExpBottleEvent; import org.bukkit.event.entity.ItemSpawnEvent; import org.bukkit.event.entity.PotionSplashEvent; @@ -209,6 +210,7 @@ public class EntityEventHandler implements Listener } //Used by "sand cannon" fix to ignore fallingblocks that fell through End Portals + //This is largely due to a CB issue with the above event @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST) public void onFallingBlockEnterPortal(EntityPortalEnterEvent event) { @@ -216,6 +218,18 @@ public class EntityEventHandler implements Listener return; event.getEntity().removeMetadata("GP_FALLINGBLOCK", instance); } + + //Don't let people drop in TNT through end portals + //Necessarily this shouldn't be an issue anyways since the platform is obsidian... + @EventHandler(ignoreCancelled = true) + void onTNTExitPortal(EntityPortalExitEvent event) + { + if (event.getEntityType() != EntityType.PRIMED_TNT) + return; + if (event.getTo().getWorld().getEnvironment() != Environment.THE_END) + return; + event.getEntity().remove(); + } //don't allow zombies to break down doors @EventHandler(ignoreCancelled = true, priority = EventPriority.LOWEST)