feat: streamline silence and unsilence logic in NametagEntityListener

This commit is contained in:
besiece committed 2026-09-25 17:37:25 +02:00
1 parent 961a22beac
commit f1250f2879
1 file changed
+3 -30
@@ -1,8 +1,6 @@
package eu.mhsl.craftattack.spawn.craftattack.appliances.gameplay.silenceNametag;
import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Material;
import org.bukkit.entity.Entity;
import org.bukkit.event.EventHandler;
@@ -17,10 +15,8 @@ public class NametagEntityListener extends ApplianceListener<SilenceNametag> {
ItemStack item;
if (event.getHand() == EquipmentSlot.HAND) {
System.out.println("Using main hand");
item = event.getPlayer().getInventory().getItemInMainHand();
} else {
System.out.println("Using off hand");
item = event.getPlayer().getInventory().getItemInOffHand();
}
@@ -34,37 +30,14 @@ public class NametagEntityListener extends ApplianceListener<SilenceNametag> {
Entity mob = event.getRightClicked();
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");
if(mob.isSilent()) return;
mob.setSilent(true);
event.getPlayer().sendMessage(
Component.text("Der Mob wurde verstummt.")
.color(NamedTextColor.GREEN)
);
} 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");
if (!mob.isSilent()) return;
mob.setSilent(false);
event.getPlayer().sendMessage(
Component.text("Der Mob wurde entstummt.")
.color(NamedTextColor.GREEN)
);
}
if (item.getItemMeta().customName() == null && event.getPlayer().getGameMode() != org.bukkit.GameMode.CREATIVE) {
System.out.println("Nametag has no custom name, reducing amount");
if (item.getItemMeta().customName() == null) {
item.setAmount(item.getAmount() - 1);
}
}