diff --git a/java/src/me/dustin/chatbot/chat/Translator.java b/java/src/me/dustin/chatbot/chat/Translator.java index 482b5c6..3c0a4b2 100644 --- a/java/src/me/dustin/chatbot/chat/Translator.java +++ b/java/src/me/dustin/chatbot/chat/Translator.java @@ -32,7 +32,8 @@ public static void setTranslation(String translation) { } else { translations = new JsonObject(); for (String s : data.split("\n")) { - translations.addProperty(s.split("=")[0], s.split("=")[1]); + if (s.contains("=")) + translations.addProperty(s.split("=")[0], s.split("=")[1]); } } } diff --git a/java/src/me/dustin/chatbot/network/ClientConnection.java b/java/src/me/dustin/chatbot/network/ClientConnection.java index 866e626..db25693 100644 --- a/java/src/me/dustin/chatbot/network/ClientConnection.java +++ b/java/src/me/dustin/chatbot/network/ClientConnection.java @@ -105,6 +105,7 @@ public ClientConnection(MinecraftServerAddress minecraftServerAddress, Session s public void loadProcesses() { if (!getProcessManager().getProcesses().isEmpty()) getProcessManager().stopAll(); + getProcessManager().addProcess(new ContinuousPacketProcess(this)); if (ChatBot.getConfig().isAntiAFK()) getProcessManager().addProcess(new AntiAFKProcess(this)); if (ChatBot.getConfig().isCrackedLogin()) diff --git a/java/src/me/dustin/chatbot/network/packet/c2s/play/ServerBoundPlayerOnGroundPacket.java b/java/src/me/dustin/chatbot/network/packet/c2s/play/ServerBoundPlayerOnGroundPacket.java new file mode 100644 index 0000000..18eb654 --- /dev/null +++ b/java/src/me/dustin/chatbot/network/packet/c2s/play/ServerBoundPlayerOnGroundPacket.java @@ -0,0 +1,21 @@ +package me.dustin.chatbot.network.packet.c2s.play; + +import me.dustin.chatbot.network.packet.Packet; +import me.dustin.chatbot.network.packet.ProtocolHandler; +import me.dustin.chatbot.network.packet.pipeline.PacketByteBuf; + +import java.io.IOException; + +public class ServerBoundPlayerOnGroundPacket extends Packet { + private final boolean onGround; + public ServerBoundPlayerOnGroundPacket(boolean onGround) { + super(ProtocolHandler.getCurrent().getPacketId(ProtocolHandler.NetworkSide.SERVERBOUND, "ground_change")); + this.onGround = onGround; + } + + @Override + public void createPacket(PacketByteBuf packetByteBuf) throws IOException { + packetByteBuf.writeBoolean(onGround); + super.createPacket(packetByteBuf); + } +} diff --git a/java/src/me/dustin/chatbot/process/impl/AntiAFKProcess.java b/java/src/me/dustin/chatbot/process/impl/AntiAFKProcess.java index 76b661e..858074c 100644 --- a/java/src/me/dustin/chatbot/process/impl/AntiAFKProcess.java +++ b/java/src/me/dustin/chatbot/process/impl/AntiAFKProcess.java @@ -26,6 +26,8 @@ public void tick() { Random random = new Random(); float yaw = random.nextInt(360) - 180; float pitch = random.nextInt(180) - 90; + getClientConnection().getClientPlayer().setYaw(yaw); + getClientConnection().getClientPlayer().setPitch(pitch); getClientConnection().sendPacket(new ServerBoundPlayerSwingPacket(ServerBoundPlayerSwingPacket.MAIN_HAND)); getClientConnection().sendPacket(new ServerBoundPlayerRotationPacket(yaw, pitch, true)); stopWatch.reset(); diff --git a/java/src/me/dustin/chatbot/process/impl/ContinuousPacketProcess.java b/java/src/me/dustin/chatbot/process/impl/ContinuousPacketProcess.java new file mode 100644 index 0000000..734f3ab --- /dev/null +++ b/java/src/me/dustin/chatbot/process/impl/ContinuousPacketProcess.java @@ -0,0 +1,38 @@ +package me.dustin.chatbot.process.impl; + +import me.dustin.chatbot.network.ClientConnection; +import me.dustin.chatbot.network.packet.ProtocolHandler; +import me.dustin.chatbot.network.packet.c2s.play.ServerBoundPlayerOnGroundPacket; +import me.dustin.chatbot.network.packet.c2s.play.ServerBoundPlayerPositionAndRotationPacket; +import me.dustin.chatbot.network.packet.c2s.play.ServerBoundPlayerPositionPacket; +import me.dustin.chatbot.network.player.ClientPlayer; +import me.dustin.chatbot.process.ChatBotProcess; + +public class ContinuousPacketProcess extends ChatBotProcess { + private int ticks = 0; + public ContinuousPacketProcess(ClientConnection clientConnection) { + super(clientConnection); + } + + @Override + public void init() {} + + @Override + public void tick() { + ClientPlayer clientPlayer = getClientConnection().getClientPlayer(); + boolean below1_9 = ProtocolHandler.getCurrent().getProtocolVer() < ProtocolHandler.getVersionFromName("1.9").getProtocolVer(); + if (below1_9) { + if (ticks % 20 == 0) { + getClientConnection().sendPacket(new ServerBoundPlayerPositionPacket(clientPlayer.getX(), clientPlayer.getY(), clientPlayer.getZ(), true)); + } else { + getClientConnection().sendPacket(new ServerBoundPlayerOnGroundPacket(true)); + } + } else if (ticks % 20 == 0) { + getClientConnection().sendPacket(new ServerBoundPlayerPositionPacket(clientPlayer.getX(), clientPlayer.getY(), clientPlayer.getZ(), true)); + } + ticks++; + } + + @Override + public void stop() {} +}