From 28a1953cd816a353cefb7a7a1969f9cfcbee9421 Mon Sep 17 00:00:00 2001 From: SerendipityR <48401197+SerendipityR-2022@users.noreply.github.com> Date: Fri, 2 Feb 2024 01:21:10 +0800 Subject: [PATCH] =?UTF-8?q?Fix:=20=E6=9C=AA=E5=A4=84=E7=90=86=E4=B8=8D?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E7=9A=84=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MultipleVersion/Bot/BotManager.java | 17 +++++++++++++++++ .../MultipleVersion/Packet/PacketHandler.java | 5 +++++ .../VersionSupport/P1_12_2/PacketHandler.java | 10 ++++++++++ .../VersionSupport/P1_13_X/PacketHandler.java | 10 ++++++++++ .../VersionSupport/P1_14_X/PacketHandler.java | 10 ++++++++++ .../VersionSupport/P1_15_X/PacketHandler.java | 6 ++++++ .../VersionSupport/P1_16_X/PacketHandler.java | 5 +++++ .../VersionSupport/P1_17_X/PacketHandler.java | 5 +++++ .../VersionSupport/P1_18_X/PacketHandler.java | 5 +++++ .../VersionSupport/P1_19/PacketHandler.java | 5 +++++ .../P1_19_1_1_19_2/PacketHandler.java | 5 +++++ .../P1_19_3_1_20_1/PacketHandler.java | 5 +++++ .../VersionSupport/P1_20_X/PacketHandler.java | 5 +++++ .../VersionSupport/P1_7_X/PacketHandler.java | 16 +++++++++++++--- .../VersionSupport/P1_8_X/PacketHandler.java | 16 +++++++++++++--- .../P1_9_X_1_12_1/PacketHandler.java | 10 ++++++++++ 16 files changed, 129 insertions(+), 6 deletions(-) diff --git a/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Bot/BotManager.java b/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Bot/BotManager.java index 4f743ac..41b74d5 100644 --- a/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Bot/BotManager.java +++ b/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Bot/BotManager.java @@ -94,7 +94,15 @@ public class BotManager { moveToLocation(client, loc); break; case "goToLobby": + if (protocolVersion > 498) { + LogUtil.doLog(0, "[" + userName + "] [DEBUG] [行动] 无法移动到NPC所处位置: 当前版本不支持。", "BotAttack"); + return; + } + Object npc = getNpc(); + if (npc == null) { + return; + } Double[] npcLoc = packetHandler.getSpawnPlayerLocation(npc); if (npcLoc == null) { return; @@ -361,9 +369,18 @@ public class BotManager { case "goToLobby": String[] lobbyArgs = _action[1].split("_"); String lobbyFlag = lobbyArgs[0]; + + if (protocolVersion > 498) { + LogUtil.doLog(0, "[" + userName + "] [行动] 无法移动到NPC所处位置: 当前版本不支持。", "BotAttack"); + return; + } + if ("none".equals(lobbyFlag) || botHandler.hasClientFlag(client, lobbyFlag)) { // 必须禁用默认处理方式 Object npc = getNpc(); + if (npc == null) { + return; + } Double[] npcLoc = packetHandler.getSpawnPlayerLocation(npc); if (npcLoc == null) { return; diff --git a/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Packet/PacketHandler.java b/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Packet/PacketHandler.java index b7a22f2..8a74c87 100644 --- a/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Packet/PacketHandler.java +++ b/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Packet/PacketHandler.java @@ -28,8 +28,13 @@ public interface PacketHandler { void handleServerPlayerHealthPacket(Object client, Object packet, String username); boolean checkServerSpawnPlayerPacket(Object packet); + boolean checkSpawnPlayerName(Object packet, String checkName); + + List getSpawnPlayerMetadata(Object packet); + Double[] getSpawnPlayerLocation(Object packet); + int getSpawnPlayerEntityId(Object packet); void moveToLocation(Object client, Double[] targetLocation, double moveSpeed); diff --git a/VersionSupport-P1_12_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_12_2/PacketHandler.java b/VersionSupport-P1_12_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_12_2/PacketHandler.java index 4b6ed8b..d91aca8 100644 --- a/VersionSupport-P1_12_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_12_2/PacketHandler.java +++ b/VersionSupport-P1_12_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_12_2/PacketHandler.java @@ -196,6 +196,16 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl return false; } + @Override + public List getSpawnPlayerMetadata(Object packet) { + ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; + List metaData = new ArrayList<>(); + for (EntityMetadata metadata:playerPacket.getMetadata()) { + metaData.add((String) metadata.getValue()); + } + return metaData; + } + @Override public Double[] getSpawnPlayerLocation(Object packet) { ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; diff --git a/VersionSupport-P1_13_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_13_X/PacketHandler.java b/VersionSupport-P1_13_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_13_X/PacketHandler.java index 537edeb..ede703e 100644 --- a/VersionSupport-P1_13_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_13_X/PacketHandler.java +++ b/VersionSupport-P1_13_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_13_X/PacketHandler.java @@ -192,6 +192,16 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl return false; } + @Override + public List getSpawnPlayerMetadata(Object packet) { + ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; + List metaData = new ArrayList<>(); + for (EntityMetadata metadata:playerPacket.getMetadata()) { + metaData.add((String) metadata.getValue()); + } + return metaData; + } + @Override public Double[] getSpawnPlayerLocation(Object packet) { ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; diff --git a/VersionSupport-P1_14_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_14_X/PacketHandler.java b/VersionSupport-P1_14_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_14_X/PacketHandler.java index 3b5c85b..d8b8882 100644 --- a/VersionSupport-P1_14_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_14_X/PacketHandler.java +++ b/VersionSupport-P1_14_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_14_X/PacketHandler.java @@ -185,6 +185,16 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl return false; } + @Override + public List getSpawnPlayerMetadata(Object packet) { + ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; + List metaData = new ArrayList<>(); + for (EntityMetadata metadata:playerPacket.getMetadata()) { + metaData.add((String) metadata.getValue()); + } + return metaData; + } + @Override public Double[] getSpawnPlayerLocation(Object packet) { ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; diff --git a/VersionSupport-P1_15_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_15_X/PacketHandler.java b/VersionSupport-P1_15_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_15_X/PacketHandler.java index 1e5cf60..a16042b 100644 --- a/VersionSupport-P1_15_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_15_X/PacketHandler.java +++ b/VersionSupport-P1_15_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_15_X/PacketHandler.java @@ -9,6 +9,7 @@ import cn.serendipityr.EndMinecraftPlusV2.Tools.ConfigUtil; import cn.serendipityr.EndMinecraftPlusV2.Tools.LogUtil; import cn.serendipityr.EndMinecraftPlusV2.Tools.OtherUtils; import com.github.steveice10.mc.protocol.data.game.ClientRequest; +import com.github.steveice10.mc.protocol.data.game.entity.metadata.EntityMetadata; import com.github.steveice10.mc.protocol.data.game.entity.metadata.ItemStack; import com.github.steveice10.mc.protocol.data.game.entity.player.Hand; import com.github.steveice10.mc.protocol.data.game.entity.player.InteractAction; @@ -174,6 +175,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl return false; } + @Override + public List getSpawnPlayerMetadata(Object packet) { + return null; + } + @Override public Double[] getSpawnPlayerLocation(Object packet) { ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; diff --git a/VersionSupport-P1_16_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_16_X/PacketHandler.java b/VersionSupport-P1_16_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_16_X/PacketHandler.java index 211cde0..d2ce2df 100644 --- a/VersionSupport-P1_16_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_16_X/PacketHandler.java +++ b/VersionSupport-P1_16_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_16_X/PacketHandler.java @@ -170,6 +170,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl return false; } + @Override + public List getSpawnPlayerMetadata(Object packet) { + return null; + } + @Override public Double[] getSpawnPlayerLocation(Object packet) { ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; diff --git a/VersionSupport-P1_17_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_17_X/PacketHandler.java b/VersionSupport-P1_17_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_17_X/PacketHandler.java index e89a652..0a7f703 100644 --- a/VersionSupport-P1_17_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_17_X/PacketHandler.java +++ b/VersionSupport-P1_17_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_17_X/PacketHandler.java @@ -171,6 +171,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl return false; } + @Override + public List getSpawnPlayerMetadata(Object packet) { + return null; + } + @Override public Double[] getSpawnPlayerLocation(Object packet) { ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; diff --git a/VersionSupport-P1_18_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_18_X/PacketHandler.java b/VersionSupport-P1_18_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_18_X/PacketHandler.java index 83ece7c..65232d5 100644 --- a/VersionSupport-P1_18_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_18_X/PacketHandler.java +++ b/VersionSupport-P1_18_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_18_X/PacketHandler.java @@ -174,6 +174,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl return false; } + @Override + public List getSpawnPlayerMetadata(Object packet) { + return null; + } + @Override public Double[] getSpawnPlayerLocation(Object packet) { ClientboundAddPlayerPacket playerPacket = (ClientboundAddPlayerPacket) packet; 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 a5d9a1b..2d6f493 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 @@ -174,6 +174,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl return false; } + @Override + public List getSpawnPlayerMetadata(Object packet) { + return null; + } + @Override public Double[] getSpawnPlayerLocation(Object packet) { ClientboundAddPlayerPacket playerPacket = (ClientboundAddPlayerPacket) packet; 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 cb168d6..348b179 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 @@ -174,6 +174,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl return false; } + @Override + public List getSpawnPlayerMetadata(Object packet) { + return null; + } + @Override public Double[] getSpawnPlayerLocation(Object packet) { ClientboundAddPlayerPacket playerPacket = (ClientboundAddPlayerPacket) packet; 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 2ab74fd..7ce9c1c 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 @@ -174,6 +174,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl return false; } + @Override + public List getSpawnPlayerMetadata(Object packet) { + return null; + } + @Override public Double[] getSpawnPlayerLocation(Object packet) { ClientboundAddPlayerPacket playerPacket = (ClientboundAddPlayerPacket) packet; 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 4248982..acfc59d 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 @@ -181,6 +181,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl return false; } + @Override + public List getSpawnPlayerMetadata(Object packet) { + return null; + } + @Override public Double[] getSpawnPlayerLocation(Object packet) { ClientboundAddEntityPacket playerPacket = (ClientboundAddEntityPacket) packet; diff --git a/VersionSupport-P1_7_X/VersionSupport-P1_7_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_7_X/PacketHandler.java b/VersionSupport-P1_7_X/VersionSupport-P1_7_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_7_X/PacketHandler.java index 36fb757..506c6da 100644 --- a/VersionSupport-P1_7_X/VersionSupport-P1_7_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_7_X/PacketHandler.java +++ b/VersionSupport-P1_7_X/VersionSupport-P1_7_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_7_X/PacketHandler.java @@ -173,7 +173,7 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public boolean checkSpawnPlayerName(Object packet, String checkName) { ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; - for (EntityMetadata metadata:playerPacket.getMetadata()) { + for (EntityMetadata metadata : playerPacket.getMetadata()) { if (metadata.getValue().toString().contains(checkName)) { return true; } @@ -182,6 +182,16 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl return false; } + @Override + public List getSpawnPlayerMetadata(Object packet) { + ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; + List metaData = new ArrayList<>(); + for (EntityMetadata metadata : playerPacket.getMetadata()) { + metaData.add((String) metadata.getValue()); + } + return metaData; + } + @Override public Double[] getSpawnPlayerLocation(Object packet) { ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; @@ -317,7 +327,7 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl } List itemLore = ((ListTag) hashMap.get("Lore")).getValue(); List loreList = new ArrayList<>(); - for (Tag tag:itemLore) { + for (Tag tag : itemLore) { loreList.add((String) tag.getValue()); } return loreList; @@ -339,7 +349,7 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl } @Override - public void sendRightClickWindowItemPacket(Object client,int windowId, int slot, Object itemStack) { + public void sendRightClickWindowItemPacket(Object client, int windowId, int slot, Object itemStack) { Session session = ((Client) client).getSession(); ItemStack item = (ItemStack) itemStack; ClientWindowActionPacket windowActionPacket = new ClientWindowActionPacket(windowId, 6, slot, item, ClientWindowActionPacket.Action.CLICK_ITEM, ClientWindowActionPacket.ClickItemParam.RIGHT_CLICK); diff --git a/VersionSupport-P1_8_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_8_X/PacketHandler.java b/VersionSupport-P1_8_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_8_X/PacketHandler.java index da42950..e4a5926 100644 --- a/VersionSupport-P1_8_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_8_X/PacketHandler.java +++ b/VersionSupport-P1_8_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_8_X/PacketHandler.java @@ -182,7 +182,7 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public boolean checkSpawnPlayerName(Object packet, String checkName) { ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; - for (EntityMetadata metadata:playerPacket.getMetadata()) { + for (EntityMetadata metadata : playerPacket.getMetadata()) { if (metadata.getValue().toString().contains(checkName)) { return true; } @@ -191,6 +191,16 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl return false; } + @Override + public List getSpawnPlayerMetadata(Object packet) { + ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; + List metaData = new ArrayList<>(); + for (EntityMetadata metadata:playerPacket.getMetadata()) { + metaData.add((String) metadata.getValue()); + } + return metaData; + } + @Override public Double[] getSpawnPlayerLocation(Object packet) { ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; @@ -326,7 +336,7 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl } List itemLore = ((ListTag) hashMap.get("Lore")).getValue(); List loreList = new ArrayList<>(); - for (Tag tag:itemLore) { + for (Tag tag : itemLore) { loreList.add((String) tag.getValue()); } return loreList; @@ -348,7 +358,7 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl } @Override - public void sendRightClickWindowItemPacket(Object client,int windowId, int slot, Object itemStack) { + public void sendRightClickWindowItemPacket(Object client, int windowId, int slot, Object itemStack) { Session session = ((Client) client).getSession(); ItemStack item = (ItemStack) itemStack; ClientWindowActionPacket windowActionPacket = new ClientWindowActionPacket(windowId, 6, slot, item, WindowAction.CLICK_ITEM, ClickItemParam.RIGHT_CLICK); diff --git a/VersionSupport-P1_9_X-1_12_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_9_X_1_12_1/PacketHandler.java b/VersionSupport-P1_9_X-1_12_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_9_X_1_12_1/PacketHandler.java index febe7a6..715c540 100644 --- a/VersionSupport-P1_9_X-1_12_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_9_X_1_12_1/PacketHandler.java +++ b/VersionSupport-P1_9_X-1_12_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_9_X_1_12_1/PacketHandler.java @@ -196,6 +196,16 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl return false; } + @Override + public List getSpawnPlayerMetadata(Object packet) { + ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet; + List metaData = new ArrayList<>(); + for (EntityMetadata metadata:playerPacket.getMetadata()) { + metaData.add((String) metadata.getValue()); + } + return metaData; + } + @Override public Double[] getSpawnPlayerLocation(Object packet) { ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;