Feature/silence named mobs #18

Merged
MineTec merged 22 commits from feature/silence-named-mobs into master 2026-11-10 22:23:54 +00:00
2 changed files with 33 additions and 1 deletions
Showing only changes of commit 879dfb9bdd - Show all commits

No files matched your search

@@ -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<SilenceNametag> {
@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());
}
}
@@ -81,6 +81,6 @@ public class SilenceNametag extends Appliance {
@Override
protected @NotNull List<Listener> listeners() {
return List.of(new NametagAnvilListener());
return List.of(new NametagAnvilListener(), new NametagEntityListener());
}
}