Fix: 修复较高版本无法发送命令与聊天信息

This commit is contained in:
SerendipityR 2024-01-31 01:18:17 +08:00 committed by GitHub
parent 7015de826d
commit 4522866ff8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 33 additions and 22 deletions

View File

@ -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,9 +149,14 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
@Override
public void sendChatPacket(Object client, String text) {
TcpClientSession session = (TcpClientSession) client;
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
public void sendTabCompletePacket(Object client, String cmd) {

View File

@ -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,9 +149,14 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
@Override
public void sendChatPacket(Object client, String text) {
TcpClientSession session = (TcpClientSession) client;
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
public void sendTabCompletePacket(Object client, String cmd) {

View File

@ -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,9 +149,14 @@ 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());
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
public void sendTabCompletePacket(Object client, String cmd) {

View File

@ -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,9 +156,14 @@ 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);
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
public void sendTabCompletePacket(Object client, String cmd) {