From 33fd282bd15ff97d14c3a5e7a29788f4e8faefa0 Mon Sep 17 00:00:00 2001 From: YouHaveTrouble Date: Thu, 20 Aug 2020 16:45:53 +0200 Subject: [PATCH] tnt minecarts will now be tagged with uuid of player who last nudged them --- .../player/PlayerHitByExplosionListener.java | 33 ++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/src/main/java/eu/endermite/togglepvp/listeners/player/PlayerHitByExplosionListener.java b/src/main/java/eu/endermite/togglepvp/listeners/player/PlayerHitByExplosionListener.java index 41980e5..bce8b28 100644 --- a/src/main/java/eu/endermite/togglepvp/listeners/player/PlayerHitByExplosionListener.java +++ b/src/main/java/eu/endermite/togglepvp/listeners/player/PlayerHitByExplosionListener.java @@ -4,10 +4,8 @@ import eu.endermite.togglepvp.TogglePvP; import eu.endermite.togglepvp.config.ConfigCache; import eu.endermite.togglepvp.util.PluginMessages; import org.bukkit.Bukkit; -import org.bukkit.entity.EnderCrystal; -import org.bukkit.entity.Player; -import org.bukkit.entity.Projectile; -import org.bukkit.entity.TNTPrimed; +import org.bukkit.entity.*; +import org.bukkit.entity.minecart.ExplosiveMinecart; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; @@ -72,6 +70,10 @@ public class PlayerHitByExplosionListener implements Listener { } } } + + /** + * Tag ender crystal with destroying players uuid + */ @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onPlayerPrimedTnt(org.bukkit.event.entity.ExplosionPrimeEvent event) { if (event.getEntity() instanceof TNTPrimed) { @@ -89,4 +91,27 @@ public class PlayerHitByExplosionListener implements Listener { } } + /** + * Tag TNT minecart with placing player uuid + */ + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onPlayerPlacedTntMinecart(org.bukkit.event.entity.EntityPlaceEvent event) { + if (event.getEntityType().equals(EntityType.MINECART_TNT)) { + if (event.getPlayer() != null) { + event.getEntity().setMetadata("PLAYEREXPLODED", new FixedMetadataValue( TogglePvP.getPlugin(), event.getPlayer().getUniqueId().toString())); + } + } + } + + /** + * Tag TNT minecart with uuid of player who last nudged it + */ + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) + public void onPlayerNudgedTntMinecart(org.bukkit.event.vehicle.VehicleEntityCollisionEvent event) { + if (event.getVehicle() instanceof ExplosiveMinecart && event.getEntity() instanceof Player) { + Player damager = (Player) event.getEntity(); + event.getVehicle().setMetadata("PLAYEREXPLODED", new FixedMetadataValue( TogglePvP.getPlugin(), damager.getUniqueId().toString())); + } + } + }