mirror of
https://github.com/SerendipityR-2022/EndMinecraftPlusV2.git
synced 2024-09-19 15:23:26 +00:00
Fix: 未处理不支持的版本
This commit is contained in:
parent
79cf68e4cc
commit
28a1953cd8
@ -94,7 +94,15 @@ public class BotManager {
|
|||||||
moveToLocation(client, loc);
|
moveToLocation(client, loc);
|
||||||
break;
|
break;
|
||||||
case "goToLobby":
|
case "goToLobby":
|
||||||
|
if (protocolVersion > 498) {
|
||||||
|
LogUtil.doLog(0, "[" + userName + "] [DEBUG] [行动] 无法移动到NPC所处位置: 当前版本不支持。", "BotAttack");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Object npc = getNpc();
|
Object npc = getNpc();
|
||||||
|
if (npc == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
Double[] npcLoc = packetHandler.getSpawnPlayerLocation(npc);
|
Double[] npcLoc = packetHandler.getSpawnPlayerLocation(npc);
|
||||||
if (npcLoc == null) {
|
if (npcLoc == null) {
|
||||||
return;
|
return;
|
||||||
@ -361,9 +369,18 @@ public class BotManager {
|
|||||||
case "goToLobby":
|
case "goToLobby":
|
||||||
String[] lobbyArgs = _action[1].split("_");
|
String[] lobbyArgs = _action[1].split("_");
|
||||||
String lobbyFlag = lobbyArgs[0];
|
String lobbyFlag = lobbyArgs[0];
|
||||||
|
|
||||||
|
if (protocolVersion > 498) {
|
||||||
|
LogUtil.doLog(0, "[" + userName + "] [行动] 无法移动到NPC所处位置: 当前版本不支持。", "BotAttack");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if ("none".equals(lobbyFlag) || botHandler.hasClientFlag(client, lobbyFlag)) {
|
if ("none".equals(lobbyFlag) || botHandler.hasClientFlag(client, lobbyFlag)) {
|
||||||
// 必须禁用默认处理方式
|
// 必须禁用默认处理方式
|
||||||
Object npc = getNpc();
|
Object npc = getNpc();
|
||||||
|
if (npc == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
Double[] npcLoc = packetHandler.getSpawnPlayerLocation(npc);
|
Double[] npcLoc = packetHandler.getSpawnPlayerLocation(npc);
|
||||||
if (npcLoc == null) {
|
if (npcLoc == null) {
|
||||||
return;
|
return;
|
||||||
|
@ -28,8 +28,13 @@ public interface PacketHandler {
|
|||||||
void handleServerPlayerHealthPacket(Object client, Object packet, String username);
|
void handleServerPlayerHealthPacket(Object client, Object packet, String username);
|
||||||
|
|
||||||
boolean checkServerSpawnPlayerPacket(Object packet);
|
boolean checkServerSpawnPlayerPacket(Object packet);
|
||||||
|
|
||||||
boolean checkSpawnPlayerName(Object packet, String checkName);
|
boolean checkSpawnPlayerName(Object packet, String checkName);
|
||||||
|
|
||||||
|
List<String> getSpawnPlayerMetadata(Object packet);
|
||||||
|
|
||||||
Double[] getSpawnPlayerLocation(Object packet);
|
Double[] getSpawnPlayerLocation(Object packet);
|
||||||
|
|
||||||
int getSpawnPlayerEntityId(Object packet);
|
int getSpawnPlayerEntityId(Object packet);
|
||||||
|
|
||||||
void moveToLocation(Object client, Double[] targetLocation, double moveSpeed);
|
void moveToLocation(Object client, Double[] targetLocation, double moveSpeed);
|
||||||
|
@ -196,6 +196,16 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getSpawnPlayerMetadata(Object packet) {
|
||||||
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
List<String> metaData = new ArrayList<>();
|
||||||
|
for (EntityMetadata metadata:playerPacket.getMetadata()) {
|
||||||
|
metaData.add((String) metadata.getValue());
|
||||||
|
}
|
||||||
|
return metaData;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double[] getSpawnPlayerLocation(Object packet) {
|
public Double[] getSpawnPlayerLocation(Object packet) {
|
||||||
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
@ -192,6 +192,16 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getSpawnPlayerMetadata(Object packet) {
|
||||||
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
List<String> metaData = new ArrayList<>();
|
||||||
|
for (EntityMetadata metadata:playerPacket.getMetadata()) {
|
||||||
|
metaData.add((String) metadata.getValue());
|
||||||
|
}
|
||||||
|
return metaData;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double[] getSpawnPlayerLocation(Object packet) {
|
public Double[] getSpawnPlayerLocation(Object packet) {
|
||||||
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
@ -185,6 +185,16 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getSpawnPlayerMetadata(Object packet) {
|
||||||
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
List<String> metaData = new ArrayList<>();
|
||||||
|
for (EntityMetadata metadata:playerPacket.getMetadata()) {
|
||||||
|
metaData.add((String) metadata.getValue());
|
||||||
|
}
|
||||||
|
return metaData;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double[] getSpawnPlayerLocation(Object packet) {
|
public Double[] getSpawnPlayerLocation(Object packet) {
|
||||||
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
@ -9,6 +9,7 @@ import cn.serendipityr.EndMinecraftPlusV2.Tools.ConfigUtil;
|
|||||||
import cn.serendipityr.EndMinecraftPlusV2.Tools.LogUtil;
|
import cn.serendipityr.EndMinecraftPlusV2.Tools.LogUtil;
|
||||||
import cn.serendipityr.EndMinecraftPlusV2.Tools.OtherUtils;
|
import cn.serendipityr.EndMinecraftPlusV2.Tools.OtherUtils;
|
||||||
import com.github.steveice10.mc.protocol.data.game.ClientRequest;
|
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.metadata.ItemStack;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.player.Hand;
|
import com.github.steveice10.mc.protocol.data.game.entity.player.Hand;
|
||||||
import com.github.steveice10.mc.protocol.data.game.entity.player.InteractAction;
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getSpawnPlayerMetadata(Object packet) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double[] getSpawnPlayerLocation(Object packet) {
|
public Double[] getSpawnPlayerLocation(Object packet) {
|
||||||
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
@ -170,6 +170,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getSpawnPlayerMetadata(Object packet) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double[] getSpawnPlayerLocation(Object packet) {
|
public Double[] getSpawnPlayerLocation(Object packet) {
|
||||||
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
@ -171,6 +171,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getSpawnPlayerMetadata(Object packet) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double[] getSpawnPlayerLocation(Object packet) {
|
public Double[] getSpawnPlayerLocation(Object packet) {
|
||||||
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
@ -174,6 +174,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getSpawnPlayerMetadata(Object packet) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double[] getSpawnPlayerLocation(Object packet) {
|
public Double[] getSpawnPlayerLocation(Object packet) {
|
||||||
ClientboundAddPlayerPacket playerPacket = (ClientboundAddPlayerPacket) packet;
|
ClientboundAddPlayerPacket playerPacket = (ClientboundAddPlayerPacket) packet;
|
||||||
|
@ -174,6 +174,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getSpawnPlayerMetadata(Object packet) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double[] getSpawnPlayerLocation(Object packet) {
|
public Double[] getSpawnPlayerLocation(Object packet) {
|
||||||
ClientboundAddPlayerPacket playerPacket = (ClientboundAddPlayerPacket) packet;
|
ClientboundAddPlayerPacket playerPacket = (ClientboundAddPlayerPacket) packet;
|
||||||
|
@ -174,6 +174,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getSpawnPlayerMetadata(Object packet) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double[] getSpawnPlayerLocation(Object packet) {
|
public Double[] getSpawnPlayerLocation(Object packet) {
|
||||||
ClientboundAddPlayerPacket playerPacket = (ClientboundAddPlayerPacket) packet;
|
ClientboundAddPlayerPacket playerPacket = (ClientboundAddPlayerPacket) packet;
|
||||||
|
@ -174,6 +174,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getSpawnPlayerMetadata(Object packet) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double[] getSpawnPlayerLocation(Object packet) {
|
public Double[] getSpawnPlayerLocation(Object packet) {
|
||||||
ClientboundAddPlayerPacket playerPacket = (ClientboundAddPlayerPacket) packet;
|
ClientboundAddPlayerPacket playerPacket = (ClientboundAddPlayerPacket) packet;
|
||||||
|
@ -181,6 +181,11 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getSpawnPlayerMetadata(Object packet) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double[] getSpawnPlayerLocation(Object packet) {
|
public Double[] getSpawnPlayerLocation(Object packet) {
|
||||||
ClientboundAddEntityPacket playerPacket = (ClientboundAddEntityPacket) packet;
|
ClientboundAddEntityPacket playerPacket = (ClientboundAddEntityPacket) packet;
|
||||||
|
@ -173,7 +173,7 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
public boolean checkSpawnPlayerName(Object packet, String checkName) {
|
public boolean checkSpawnPlayerName(Object packet, String checkName) {
|
||||||
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
|
||||||
for (EntityMetadata metadata:playerPacket.getMetadata()) {
|
for (EntityMetadata metadata : playerPacket.getMetadata()) {
|
||||||
if (metadata.getValue().toString().contains(checkName)) {
|
if (metadata.getValue().toString().contains(checkName)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -182,6 +182,16 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getSpawnPlayerMetadata(Object packet) {
|
||||||
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
List<String> metaData = new ArrayList<>();
|
||||||
|
for (EntityMetadata metadata : playerPacket.getMetadata()) {
|
||||||
|
metaData.add((String) metadata.getValue());
|
||||||
|
}
|
||||||
|
return metaData;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double[] getSpawnPlayerLocation(Object packet) {
|
public Double[] getSpawnPlayerLocation(Object packet) {
|
||||||
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
@ -317,7 +327,7 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
}
|
}
|
||||||
List<Tag> itemLore = ((ListTag) hashMap.get("Lore")).getValue();
|
List<Tag> itemLore = ((ListTag) hashMap.get("Lore")).getValue();
|
||||||
List<String> loreList = new ArrayList<>();
|
List<String> loreList = new ArrayList<>();
|
||||||
for (Tag tag:itemLore) {
|
for (Tag tag : itemLore) {
|
||||||
loreList.add((String) tag.getValue());
|
loreList.add((String) tag.getValue());
|
||||||
}
|
}
|
||||||
return loreList;
|
return loreList;
|
||||||
@ -339,7 +349,7 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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();
|
Session session = ((Client) client).getSession();
|
||||||
ItemStack item = (ItemStack) itemStack;
|
ItemStack item = (ItemStack) itemStack;
|
||||||
ClientWindowActionPacket windowActionPacket = new ClientWindowActionPacket(windowId, 6, slot, item, ClientWindowActionPacket.Action.CLICK_ITEM, ClientWindowActionPacket.ClickItemParam.RIGHT_CLICK);
|
ClientWindowActionPacket windowActionPacket = new ClientWindowActionPacket(windowId, 6, slot, item, ClientWindowActionPacket.Action.CLICK_ITEM, ClientWindowActionPacket.ClickItemParam.RIGHT_CLICK);
|
||||||
|
@ -182,7 +182,7 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
public boolean checkSpawnPlayerName(Object packet, String checkName) {
|
public boolean checkSpawnPlayerName(Object packet, String checkName) {
|
||||||
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
|
||||||
for (EntityMetadata metadata:playerPacket.getMetadata()) {
|
for (EntityMetadata metadata : playerPacket.getMetadata()) {
|
||||||
if (metadata.getValue().toString().contains(checkName)) {
|
if (metadata.getValue().toString().contains(checkName)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -191,6 +191,16 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getSpawnPlayerMetadata(Object packet) {
|
||||||
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
List<String> metaData = new ArrayList<>();
|
||||||
|
for (EntityMetadata metadata:playerPacket.getMetadata()) {
|
||||||
|
metaData.add((String) metadata.getValue());
|
||||||
|
}
|
||||||
|
return metaData;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double[] getSpawnPlayerLocation(Object packet) {
|
public Double[] getSpawnPlayerLocation(Object packet) {
|
||||||
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
@ -326,7 +336,7 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
}
|
}
|
||||||
List<Tag> itemLore = ((ListTag) hashMap.get("Lore")).getValue();
|
List<Tag> itemLore = ((ListTag) hashMap.get("Lore")).getValue();
|
||||||
List<String> loreList = new ArrayList<>();
|
List<String> loreList = new ArrayList<>();
|
||||||
for (Tag tag:itemLore) {
|
for (Tag tag : itemLore) {
|
||||||
loreList.add((String) tag.getValue());
|
loreList.add((String) tag.getValue());
|
||||||
}
|
}
|
||||||
return loreList;
|
return loreList;
|
||||||
@ -348,7 +358,7 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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();
|
Session session = ((Client) client).getSession();
|
||||||
ItemStack item = (ItemStack) itemStack;
|
ItemStack item = (ItemStack) itemStack;
|
||||||
ClientWindowActionPacket windowActionPacket = new ClientWindowActionPacket(windowId, 6, slot, item, WindowAction.CLICK_ITEM, ClickItemParam.RIGHT_CLICK);
|
ClientWindowActionPacket windowActionPacket = new ClientWindowActionPacket(windowId, 6, slot, item, WindowAction.CLICK_ITEM, ClickItemParam.RIGHT_CLICK);
|
||||||
|
@ -196,6 +196,16 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getSpawnPlayerMetadata(Object packet) {
|
||||||
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
List<String> metaData = new ArrayList<>();
|
||||||
|
for (EntityMetadata metadata:playerPacket.getMetadata()) {
|
||||||
|
metaData.add((String) metadata.getValue());
|
||||||
|
}
|
||||||
|
return metaData;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Double[] getSpawnPlayerLocation(Object packet) {
|
public Double[] getSpawnPlayerLocation(Object packet) {
|
||||||
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
ServerSpawnPlayerPacket playerPacket = (ServerSpawnPlayerPacket) packet;
|
||||||
|
Loading…
Reference in New Issue
Block a user