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