diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/silenceNametag/NametagEntityListener.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/silenceNametag/NametagEntityListener.java new file mode 100644 index 0000000..7922769 --- /dev/null +++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/silenceNametag/NametagEntityListener.java @@ -0,0 +1,32 @@ +package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.silenceNametag; + +import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener; +import org.bukkit.Material; +import org.bukkit.event.EventHandler; +import org.bukkit.event.player.PlayerInteractEntityEvent; +import org.bukkit.inventory.EquipmentSlot; +import org.bukkit.inventory.ItemStack; +import org.bukkit.persistence.PersistentDataType; + +public class NametagEntityListener extends ApplianceListener { + @EventHandler + public void onNametagUse(PlayerInteractEntityEvent event){ + ItemStack item; + + if (event.getHand() == EquipmentSlot.HAND) { + item = event.getPlayer().getInventory().getItemInMainHand(); + } else { + item = event.getPlayer().getInventory().getItemInOffHand(); + } + + if(item.getType() != Material.NAME_TAG) return; + + if(!item.getItemMeta().getPersistentDataContainer().has( + this.getAppliance().nametagActionKey, + PersistentDataType.INTEGER + )) return; + + System.out.println("NametagEntityListener: Player " + event.getPlayer().getName() + " used a special nametag on entity " + event.getRightClicked().getType()); + + } +} diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/silenceNametag/SilenceNametag.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/silenceNametag/SilenceNametag.java index fdeed7a..6751984 100644 --- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/silenceNametag/SilenceNametag.java +++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/gameplay/silenceNametag/SilenceNametag.java @@ -81,6 +81,6 @@ public class SilenceNametag extends Appliance { @Override protected @NotNull List listeners() { - return List.of(new NametagAnvilListener()); + return List.of(new NametagAnvilListener(), new NametagEntityListener()); } }