diff --git a/paper-api/src/main/java/io/papermc/paper/chat/ChatRenderer.java b/paper-api/src/main/java/io/papermc/paper/chat/ChatRenderer.java index 1288cdeafe58..d6b51a69b2bb 100644 --- a/paper-api/src/main/java/io/papermc/paper/chat/ChatRenderer.java +++ b/paper-api/src/main/java/io/papermc/paper/chat/ChatRenderer.java @@ -26,12 +26,12 @@ public interface ChatRenderer { Component render(Player source, Component sourceDisplayName, Component message, Audience viewer); /** - * Create a new instance of the default {@link ChatRenderer}. + * Gets the default {@link ChatRenderer}. * - * @return a new {@link ChatRenderer} + * @return the default {@link ChatRenderer} */ static ChatRenderer defaultRenderer() { - return new ViewerUnawareImpl.Default((source, sourceDisplayName, message) -> Component.translatable("chat.type.text", sourceDisplayName, message)); + return ViewerUnawareImpl.Default.INSTANCE; } @ApiStatus.Internal diff --git a/paper-api/src/main/java/io/papermc/paper/chat/ViewerUnawareImpl.java b/paper-api/src/main/java/io/papermc/paper/chat/ViewerUnawareImpl.java index e1ef23b4bdf6..84e0d7c472fc 100644 --- a/paper-api/src/main/java/io/papermc/paper/chat/ViewerUnawareImpl.java +++ b/paper-api/src/main/java/io/papermc/paper/chat/ViewerUnawareImpl.java @@ -5,13 +5,11 @@ import org.bukkit.entity.Player; import org.jetbrains.annotations.ApiStatus; import org.jspecify.annotations.NullMarked; -import org.jspecify.annotations.Nullable; @ApiStatus.Internal @NullMarked sealed class ViewerUnawareImpl implements ChatRenderer, ChatRenderer.ViewerUnaware permits ViewerUnawareImpl.Default { private final ViewerUnaware unaware; - private @Nullable Component message; ViewerUnawareImpl(final ViewerUnaware unaware) { this.unaware = unaware; @@ -24,13 +22,12 @@ public Component render(final Player source, final Component sourceDisplayName, @Override public Component render(final Player source, final Component sourceDisplayName, final Component message) { - if (this.message == null) { - this.message = this.unaware.render(source, sourceDisplayName, message); - } - return this.message; + return this.unaware.render(source, sourceDisplayName, message); } static final class Default extends ViewerUnawareImpl implements ChatRenderer.Default { + static final ViewerUnawareImpl.Default INSTANCE = new ViewerUnawareImpl.Default((source, sourceDisplayName, message) -> Component.translatable("chat.type.text", sourceDisplayName, message)); + Default(final ViewerUnaware unaware) { super(unaware); } diff --git a/paper-server/src/main/java/io/papermc/paper/adventure/ChatProcessor.java b/paper-server/src/main/java/io/papermc/paper/adventure/ChatProcessor.java index f1ef191a9ca3..1e0e0a89630c 100644 --- a/paper-server/src/main/java/io/papermc/paper/adventure/ChatProcessor.java +++ b/paper-server/src/main/java/io/papermc/paper/adventure/ChatProcessor.java @@ -170,7 +170,7 @@ protected Void evaluate() { private void readModernModifications(final AbstractChatEvent chatEvent, final ChatRenderer originalRenderer) { this.flags.set(MESSAGE_CHANGED, !chatEvent.message().equals(this.paper$originalMessage)); - if (originalRenderer != chatEvent.renderer()) { // don't set to false if it hasn't changed + if (originalRenderer != chatEvent.renderer()) { // don't set to true if it hasn't changed this.flags.set(FORMAT_CHANGED, true); } }