--- a/net/minecraft/network/chat/OutgoingChatMessage.java +++ b/net/minecraft/network/chat/OutgoingChatMessage.java @@ -7,6 +_,12 @@ void sendToPlayer(ServerPlayer player, boolean filtered, ChatType.Bound boundType); + // Paper start + default void sendToPlayer(ServerPlayer sender, boolean filterMaskEnabled, ChatType.Bound params, @javax.annotation.Nullable Component unsigned) { + this.sendToPlayer(sender, filterMaskEnabled, params); + } + // Paper end + static OutgoingChatMessage create(PlayerChatMessage message) { return (OutgoingChatMessage)(message.isSystem() ? new OutgoingChatMessage.Disguised(message.decoratedContent()) @@ -16,7 +_,12 @@ public record Disguised(@Override Component content) implements OutgoingChatMessage { @Override public void sendToPlayer(ServerPlayer player, boolean filtered, ChatType.Bound boundType) { - player.connection.sendDisguisedChatMessage(this.content, boundType); + // Paper start + this.sendToPlayer(player, filtered, boundType, null); + } + public void sendToPlayer(ServerPlayer player, boolean filtered, ChatType.Bound boundType, @javax.annotation.Nullable Component unsigned) { + player.connection.sendDisguisedChatMessage(unsigned != null ? unsigned : this.content, boundType); + // Paper end } } @@ -28,7 +_,13 @@ @Override public void sendToPlayer(ServerPlayer player, boolean filtered, ChatType.Bound boundType) { + // Paper start + this.sendToPlayer(player, filtered, boundType, null); + } + public void sendToPlayer(ServerPlayer player, boolean filtered, ChatType.Bound boundType, @javax.annotation.Nullable Component unsigned) { + // Paper end PlayerChatMessage playerChatMessage = this.message.filter(filtered); + playerChatMessage = unsigned != null ? playerChatMessage.withUnsignedContent(unsigned) : playerChatMessage; // Paper if (!playerChatMessage.isFullyFiltered()) { player.connection.sendPlayerChatMessage(playerChatMessage, boundType); }