Skip to content

Commit 87d7ee2

Browse files
committed
Read signed chat command packet to support bedrock
1 parent 8212509 commit 87d7ee2

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

src/main/java/net/lenni0451/miniconnect/proxy/packet/DisconnectCommandPacketHandler.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,26 @@
2222

2323
public class DisconnectCommandPacketHandler extends PacketHandler {
2424

25-
private final int packetId;
25+
private final int chatOrChatCommand;
26+
private final int chatCommandSignedId;
2627

2728
public DisconnectCommandPacketHandler(final ProxyConnection proxyConnection) {
2829
super(proxyConnection);
2930

3031
if (proxyConnection.getClientVersion().newerThanOrEqualTo(ProtocolVersion.v1_19)) {
31-
this.packetId = MCPackets.C2S_CHAT_COMMAND.getId(proxyConnection.getClientVersion().getVersion());
32+
this.chatOrChatCommand = MCPackets.C2S_CHAT_COMMAND.getId(proxyConnection.getClientVersion().getVersion());
33+
this.chatCommandSignedId = MCPackets.C2S_CHAT_COMMAND_SIGNED.getId(proxyConnection.getClientVersion().getVersion());
3234
} else {
33-
this.packetId = MCPackets.C2S_CHAT.getId(proxyConnection.getClientVersion().getVersion());
35+
this.chatOrChatCommand = MCPackets.C2S_CHAT.getId(proxyConnection.getClientVersion().getVersion());
36+
this.chatCommandSignedId = -1;
3437
}
3538
}
3639

3740
@Override
3841
public boolean handleC2P(Packet packet, List<ChannelFutureListener> listeners) {
3942
if (!this.proxyConnection.getC2pConnectionState().equals(ConnectionState.PLAY)) return true;
4043
if (!(packet instanceof UnknownPacket unknownPacket)) return true;
41-
if (unknownPacket.packetId != this.packetId) return true;
44+
if (unknownPacket.packetId != this.chatOrChatCommand && unknownPacket.packetId != this.chatCommandSignedId) return true;
4245

4346
ByteBuf buf = Unpooled.wrappedBuffer(unknownPacket.data);
4447
String message = PacketTypes.readString(buf, 256);

src/main/java/net/lenni0451/miniconnect/server/states/play/screen/impl/MainScreen.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public void init(ScreenHandler screenHandler, ItemList itemList) {
6161
}
6262
}).get(), () -> {
6363
screenHandler.closeScreen();
64-
screenHandler.getStateHandler().send(new S2CSystemChatPacket(new StringComponent("§aPlease enter the server ip into the chat (with optional port) (e.g. example.com, example.com:25565"), false));
64+
screenHandler.getStateHandler().send(new S2CSystemChatPacket(new StringComponent("§aPlease enter the server ip into the chat (with optional port) (e.g. example.com, example.com:25565)"), false));
6565
playerConfig.chatListener = s -> {
6666
if (s.startsWith("/")) {
6767
screenHandler.getStateHandler().send(new S2CSystemChatPacket(new StringComponent("§cCancelled input"), false));

0 commit comments

Comments
 (0)