feat: improve silence and unsilence feedback for mobs in NametagEntityListener

This commit is contained in:
besiece committed 2026-09-25 17:24:50 +02:00
1 parent 98dc59ca15
commit 961a22beac
1 file changed
+20 -3
@@ -4,6 +4,7 @@ import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.entity.Entity;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerInteractEntityEvent; import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.EquipmentSlot;
@@ -30,23 +31,39 @@ public class NametagEntityListener extends ApplianceListener<SilenceNametag> {
PersistentDataType.INTEGER PersistentDataType.INTEGER
)) return; )) return;
Entity mob = event.getRightClicked();
if (getAppliance().getNametagAction(item) == SilenceNametag.NametagActions.SILENCE) { if (getAppliance().getNametagAction(item) == SilenceNametag.NametagActions.SILENCE) {
if(mob.isSilent()) {
event.getPlayer().sendMessage(
Component.text("Der Mob ist bereits verstummt.")
.color(NamedTextColor.RED)
);
return;
}
System.out.println("Silencing mob"); System.out.println("Silencing mob");
event.getRightClicked().setSilent(true); mob.setSilent(true);
event.getPlayer().sendMessage( event.getPlayer().sendMessage(
Component.text("Der Mob wurde verstummt.") Component.text("Der Mob wurde verstummt.")
.color(NamedTextColor.GREEN) .color(NamedTextColor.GREEN)
); );
} else if (getAppliance().getNametagAction(item) == SilenceNametag.NametagActions.UNSILENCE) { } else if (getAppliance().getNametagAction(item) == SilenceNametag.NametagActions.UNSILENCE) {
if (!mob.isSilent()) {
event.getPlayer().sendMessage(
Component.text("Der Mob ist bereits entstummt.")
.color(NamedTextColor.RED)
);
return;
}
System.out.println("Unsilencing mob"); System.out.println("Unsilencing mob");
event.getRightClicked().setSilent(false); mob.setSilent(false);
event.getPlayer().sendMessage( event.getPlayer().sendMessage(
Component.text("Der Mob wurde entstummt.") Component.text("Der Mob wurde entstummt.")
.color(NamedTextColor.GREEN) .color(NamedTextColor.GREEN)
); );
} }
if (item.getItemMeta().customName() == null){ if (item.getItemMeta().customName() == null && event.getPlayer().getGameMode() != org.bukkit.GameMode.CREATIVE) {
System.out.println("Nametag has no custom name, reducing amount"); System.out.println("Nametag has no custom name, reducing amount");
item.setAmount(item.getAmount() - 1); item.setAmount(item.getAmount() - 1);
} }