From 4eae510fb79338f61c1dd58e60376ebe6515031f Mon Sep 17 00:00:00 2001 From: Gegy Date: Mon, 27 Nov 2023 18:42:11 +0100 Subject: [PATCH] Don't forward chat acknowledgement if the client didn't acknowledge any chat --- .../proxy/protocol/packet/chat/LastSeenMessages.java | 4 ---- .../protocol/packet/chat/session/SessionCommandHandler.java | 6 +++++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/LastSeenMessages.java b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/LastSeenMessages.java index 24e8718376..18a743c827 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/LastSeenMessages.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/LastSeenMessages.java @@ -52,10 +52,6 @@ public void encode(ByteBuf buf) { buf.writeBytes(Arrays.copyOf(acknowledged.toByteArray(), DIV_FLOOR)); } - public boolean isEmpty() { - return acknowledged.isEmpty(); - } - public int getOffset() { return this.offset; } diff --git a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/session/SessionCommandHandler.java b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/session/SessionCommandHandler.java index 51eada65b0..0e47feedee 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/session/SessionCommandHandler.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/chat/session/SessionCommandHandler.java @@ -60,7 +60,11 @@ private MinecraftPacket consumeCommand(SessionPlayerCommandPacket packet) { } // An unsigned command with a 'last seen' update will not happen as of 1.20.5+, but for earlier versions - we still // need to pass through the acknowledgement - return new ChatAcknowledgementPacket(packet.lastSeenMessages.getOffset()); + final int offset = packet.lastSeenMessages.getOffset(); + if (offset != 0) { + return new ChatAcknowledgementPacket(offset); + } + return null; } @Nullable