Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
Expand Down
Loading