From 09e41845517be50dd75d2a18ab6d4a4edf121d41 Mon Sep 17 00:00:00 2001 From: Funboyy <72627658+Funboyy@users.noreply.github.com> Date: Tue, 9 Jan 2024 17:54:18 +0100 Subject: [PATCH 1/3] fixed children being removed when translating legacy component --- .../addons/customnametags/CustomNameTags.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/net/labymod/addons/customnametags/CustomNameTags.java b/core/src/main/java/net/labymod/addons/customnametags/CustomNameTags.java index 40d4ca1..3349f6b 100644 --- a/core/src/main/java/net/labymod/addons/customnametags/CustomNameTags.java +++ b/core/src/main/java/net/labymod/addons/customnametags/CustomNameTags.java @@ -116,12 +116,12 @@ public boolean replaceUsername( // Replace the name multiple times in the same text component next = text.indexOf(playerName, nameEndsAt); - // Skip when player name is not at the start and the character in front of name is a space + // Skip when player name is not at the start and the character in front of name is not a space if (i != 0 && text.charAt(i - 1) != ' ') { continue; } - // Skip when player name is not at the end and the character after the name is a space + // Skip when player name is not at the end and the character after the name is not a space if (nameEndsAt < length && text.charAt(nameEndsAt) != ' ') { continue; } @@ -154,7 +154,6 @@ public Component replaceLegacyContext(Component component) { for (Component child : component.getChildren()) { children.add(this.replaceLegacyContext(child)); } - component.setChildren(children); if (component instanceof TranslatableComponent translatableComponent) { List arguments = new ArrayList<>(); @@ -171,9 +170,17 @@ public Component replaceLegacyContext(Component component) { Style style = component.style(); component = LegacyComponentSerializer.legacySection().deserialize(text); component.style(component.style().merge(style, Strategy.IF_ABSENT_ON_TARGET)); + + for (Component child : children) { + component.append(child); + } + + return component; } } + component.setChildren(children); + return component; } } From 9e5056a8166e6874544f2a022f0c7a408fa16bc5 Mon Sep 17 00:00:00 2001 From: Funboyy <72627658+Funboyy@users.noreply.github.com> Date: Tue, 9 Jan 2024 17:55:04 +0100 Subject: [PATCH 2/3] optimized imports --- .../addons/customnametags/listener/ChatReceiveListener.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/core/src/main/java/net/labymod/addons/customnametags/listener/ChatReceiveListener.java b/core/src/main/java/net/labymod/addons/customnametags/listener/ChatReceiveListener.java index 5a11000..6ad2829 100644 --- a/core/src/main/java/net/labymod/addons/customnametags/listener/ChatReceiveListener.java +++ b/core/src/main/java/net/labymod/addons/customnametags/listener/ChatReceiveListener.java @@ -22,9 +22,6 @@ import net.labymod.addons.customnametags.CustomNameTag; import net.labymod.addons.customnametags.CustomNameTags; import net.labymod.api.client.component.Component; -import net.labymod.api.client.component.TextComponent; -import net.labymod.api.client.component.TranslatableComponent; -import net.labymod.api.client.component.serializer.legacy.LegacyComponentSerializer; import net.labymod.api.event.Priority; import net.labymod.api.event.Subscribe; import net.labymod.api.event.client.chat.ChatReceiveEvent; From e484754d4fbe7983f88c560befacdf8f23362197 Mon Sep 17 00:00:00 2001 From: Funboyy <72627658+Funboyy@users.noreply.github.com> Date: Thu, 11 Jan 2024 02:02:06 +0100 Subject: [PATCH 3/3] fixed edit indicator being displayed even if no name got replaced --- .../java/net/labymod/addons/customnametags/CustomNameTags.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/net/labymod/addons/customnametags/CustomNameTags.java b/core/src/main/java/net/labymod/addons/customnametags/CustomNameTags.java index 3349f6b..98f2b7b 100644 --- a/core/src/main/java/net/labymod/addons/customnametags/CustomNameTags.java +++ b/core/src/main/java/net/labymod/addons/customnametags/CustomNameTags.java @@ -93,7 +93,6 @@ public boolean replaceUsername( int next = text.indexOf(playerName); if (next != -1) { - replaced = true; int length = text.length(); if (next == 0) { if (length == playerName.length()) { @@ -130,6 +129,7 @@ public boolean replaceUsername( component.append(childIndex++, Component.text(text.substring(lastNameAt, i))); } + replaced = true; component.append(childIndex++, customName.get()); lastNameAt = nameEndsAt;