From 4522866ff8ae07609247825e98eb18fb712c2e18 Mon Sep 17 00:00:00 2001 From: SerendipityR <48401197+SerendipityR-2022@users.noreply.github.com> Date: Wed, 31 Jan 2024 01:18:17 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20=E4=BF=AE=E5=A4=8D=E8=BE=83=E9=AB=98?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=97=A0=E6=B3=95=E5=8F=91=E9=80=81=E5=91=BD?= =?UTF-8?q?=E4=BB=A4=E4=B8=8E=E8=81=8A=E5=A4=A9=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../VersionSupport/P1_19/PacketHandler.java | 13 ++++++++----- .../P1_19_1_1_19_2/PacketHandler.java | 14 ++++++++------ .../P1_19_3_1_20_1/PacketHandler.java | 14 ++++++++------ .../VersionSupport/P1_20_X/PacketHandler.java | 14 +++++++++----- 4 files changed, 33 insertions(+), 22 deletions(-) diff --git a/VersionSupport-P1_19/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19/PacketHandler.java b/VersionSupport-P1_19/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19/PacketHandler.java index 32534bf..b9d6ff5 100644 --- a/VersionSupport-P1_19/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19/PacketHandler.java +++ b/VersionSupport-P1_19/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19/PacketHandler.java @@ -27,9 +27,7 @@ import net.kyori.adventure.text.Component; import net.kyori.adventure.text.TextComponent; import net.kyori.adventure.text.TranslatableComponent; -import java.util.Arrays; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVersion.Packet.PacketHandler { @@ -151,8 +149,13 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl @Override public void sendChatPacket(Object client, String text) { TcpClientSession session = (TcpClientSession) client; - ServerboundChatPacket chatPacket = new ServerboundChatPacket(text, System.currentTimeMillis(), 0, new byte[0], false); - session.send(chatPacket); + if (text.startsWith("/")) { + ServerboundChatCommandPacket commandPacket = new ServerboundChatCommandPacket(text.split("/")[1], System.currentTimeMillis(), 0, new HashMap<>(), false); + session.send(commandPacket); + } else { + ServerboundChatPacket chatPacket = new ServerboundChatPacket(text, System.currentTimeMillis(), 0, new byte[0], false); + session.send(chatPacket); + } } @Override diff --git a/VersionSupport-P1_19_1_1_19_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_1_1_19_2/PacketHandler.java b/VersionSupport-P1_19_1_1_19_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_1_1_19_2/PacketHandler.java index 916b336..aa831f5 100644 --- a/VersionSupport-P1_19_1_1_19_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_1_1_19_2/PacketHandler.java +++ b/VersionSupport-P1_19_1_1_19_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_1_1_19_2/PacketHandler.java @@ -27,10 +27,7 @@ import net.kyori.adventure.text.Component; import net.kyori.adventure.text.TextComponent; import net.kyori.adventure.text.TranslatableComponent; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVersion.Packet.PacketHandler { @@ -152,8 +149,13 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl @Override public void sendChatPacket(Object client, String text) { TcpClientSession session = (TcpClientSession) client; - ServerboundChatPacket chatPacket = new ServerboundChatPacket(text, System.currentTimeMillis(), 0, new byte[0], false, new ArrayList<>(), null); - session.send(chatPacket); + if (text.startsWith("/")) { + ServerboundChatCommandPacket commandPacket = new ServerboundChatCommandPacket(text.split("/")[1], System.currentTimeMillis(), 0, new ArrayList<>(), false, new ArrayList<>(), null); + session.send(commandPacket); + } else { + ServerboundChatPacket chatPacket = new ServerboundChatPacket(text, System.currentTimeMillis(), 0, new byte[0], false, new ArrayList<>(), null); + session.send(chatPacket); + } } @Override diff --git a/VersionSupport-P1_19_3_1_20_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_3_1_20_1/PacketHandler.java b/VersionSupport-P1_19_3_1_20_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_3_1_20_1/PacketHandler.java index 2931238..960d599 100644 --- a/VersionSupport-P1_19_3_1_20_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_3_1_20_1/PacketHandler.java +++ b/VersionSupport-P1_19_3_1_20_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_3_1_20_1/PacketHandler.java @@ -27,10 +27,7 @@ import net.kyori.adventure.text.Component; import net.kyori.adventure.text.TextComponent; import net.kyori.adventure.text.TranslatableComponent; -import java.util.Arrays; -import java.util.BitSet; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVersion.Packet.PacketHandler { @@ -152,8 +149,13 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl @Override public void sendChatPacket(Object client, String text) { TcpClientSession session = (TcpClientSession) client; - ServerboundChatPacket chatPacket = new ServerboundChatPacket(text, System.currentTimeMillis(), 0, null, 0, new BitSet()); - session.send(chatPacket); + if (text.startsWith("/")) { + ServerboundChatCommandPacket commandPacket = new ServerboundChatCommandPacket(text.split("/")[1], System.currentTimeMillis(), 0L, new ArrayList<>(), 0, new BitSet()); + session.send(commandPacket); + } else { + ServerboundChatPacket chatPacket = new ServerboundChatPacket(text, System.currentTimeMillis(), 0L, null, 0, new BitSet()); + session.send(chatPacket); + } } @Override diff --git a/VersionSupport-P1_20_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_20_X/PacketHandler.java b/VersionSupport-P1_20_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_20_X/PacketHandler.java index c162c7e..0336be7 100644 --- a/VersionSupport-P1_20_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_20_X/PacketHandler.java +++ b/VersionSupport-P1_20_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_20_X/PacketHandler.java @@ -20,6 +20,7 @@ import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundLo import com.github.steveice10.mc.protocol.packet.ingame.clientbound.ClientboundSystemChatPacket; import com.github.steveice10.mc.protocol.packet.ingame.clientbound.entity.player.ClientboundPlayerPositionPacket; import com.github.steveice10.mc.protocol.packet.ingame.clientbound.entity.player.ClientboundSetHealthPacket; +import com.github.steveice10.mc.protocol.packet.ingame.serverbound.ServerboundChatCommandPacket; import com.github.steveice10.mc.protocol.packet.ingame.serverbound.ServerboundChatPacket; import com.github.steveice10.mc.protocol.packet.ingame.serverbound.ServerboundClientCommandPacket; import com.github.steveice10.mc.protocol.packet.ingame.serverbound.ServerboundCommandSuggestionPacket; @@ -33,9 +34,7 @@ import net.kyori.adventure.text.ComponentLike; import net.kyori.adventure.text.TextComponent; import net.kyori.adventure.text.TranslatableComponent; -import java.util.Arrays; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVersion.Packet.PacketHandler { @@ -157,8 +156,13 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl @Override public void sendChatPacket(Object client, String text) { TcpClientSession session = (TcpClientSession) client; - ServerboundChatPacket chatPacket = new ServerboundChatPacket(text, System.currentTimeMillis(), 0, new byte[0], 0, null); - session.send(chatPacket); + if (text.startsWith("/")) { + ServerboundChatCommandPacket commandPacket = new ServerboundChatCommandPacket(text.split("/")[1], System.currentTimeMillis(), 0L, new ArrayList<>(), 0, new BitSet()); + session.send(commandPacket); + } else { + ServerboundChatPacket chatPacket = new ServerboundChatPacket(text, System.currentTimeMillis(), 0L, null, 0, new BitSet()); + session.send(chatPacket); + } } @Override