From ed7653aa66dfcc087637d35e341550173be08915 Mon Sep 17 00:00:00 2001 From: YouHaveTrouble Date: Mon, 24 Nov 2025 23:30:49 +0100 Subject: [PATCH] save and persist the raw minimessage string for the display name --- .../converter/ArmorStandToMannequinConverter.java | 1 + .../converter/MannequinToArmorStandConverter.java | 1 + .../standin/entity/MannequinHandler.java | 11 ++++++----- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/me/youhavetrouble/standin/converter/ArmorStandToMannequinConverter.java b/src/main/java/me/youhavetrouble/standin/converter/ArmorStandToMannequinConverter.java index cca3f53..9e8b528 100644 --- a/src/main/java/me/youhavetrouble/standin/converter/ArmorStandToMannequinConverter.java +++ b/src/main/java/me/youhavetrouble/standin/converter/ArmorStandToMannequinConverter.java @@ -28,6 +28,7 @@ public class ArmorStandToMannequinConverter implements EntityConverter { mannequin.customName(from.customName()); + EntityConverter.saveRawEntityName(mannequin, EntityConverter.getRawEntityName(from)); mannequin.setImmovable(!from.canMove()); mannequin.setGravity(from.hasGravity()); for (EquipmentSlot slot : EquipmentSlot.values()) { diff --git a/src/main/java/me/youhavetrouble/standin/converter/MannequinToArmorStandConverter.java b/src/main/java/me/youhavetrouble/standin/converter/MannequinToArmorStandConverter.java index 0c45a7d..d34b2c6 100644 --- a/src/main/java/me/youhavetrouble/standin/converter/MannequinToArmorStandConverter.java +++ b/src/main/java/me/youhavetrouble/standin/converter/MannequinToArmorStandConverter.java @@ -27,6 +27,7 @@ public class MannequinToArmorStandConverter implements EntityConverter { armorStand.customName(from.customName()); + EntityConverter.saveRawEntityName(armorStand, EntityConverter.getRawEntityName(from)); armorStand.setGravity(from.hasGravity()); armorStand.setCanMove(!from.isImmovable()); for (EquipmentSlot slot : EquipmentSlot.values()) { diff --git a/src/main/java/me/youhavetrouble/standin/entity/MannequinHandler.java b/src/main/java/me/youhavetrouble/standin/entity/MannequinHandler.java index 9969837..6e95181 100644 --- a/src/main/java/me/youhavetrouble/standin/entity/MannequinHandler.java +++ b/src/main/java/me/youhavetrouble/standin/entity/MannequinHandler.java @@ -7,11 +7,11 @@ import io.papermc.paper.registry.data.dialog.DialogBase; import io.papermc.paper.registry.data.dialog.action.DialogAction; import io.papermc.paper.registry.data.dialog.input.DialogInput; import io.papermc.paper.registry.data.dialog.type.DialogType; +import me.youhavetrouble.standin.converter.EntityConverter; import me.youhavetrouble.standin.converter.MannequinToArmorStandConverter; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.event.ClickCallback; import net.kyori.adventure.text.minimessage.MiniMessage; -import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; import org.bukkit.entity.Entity; import org.bukkit.entity.Mannequin; import org.bukkit.entity.Player; @@ -39,14 +39,14 @@ public class MannequinHandler extends EntityHandler { List inputs = new ArrayList<>(); - String name = ""; - Component customName = mannequin.customName(); - if (customName != null) { - name = PlainTextComponentSerializer.plainText().serialize(customName); + String name = EntityConverter.getRawEntityName(mannequin); + if (name == null) { + name = ""; } inputs.add( DialogInput.text("name", Component.text("Name")) .initial(name) + .maxLength(1024) .build() ); String profileName = ""; @@ -91,6 +91,7 @@ public class MannequinHandler extends EntityHandler { } else { mann.customName(null); } + EntityConverter.saveRawEntityName(mann, newName); mann.setImmovable(Boolean.TRUE.equals(view.getBoolean("immovable"))); mann.setVelocity(mann.getVelocity().zero()); mann.setGravity(Boolean.TRUE.equals(view.getBoolean("gravity")));