Skip to content

Commit

Permalink
Added ContinuousPacketProcess to make packet sending more closely res…
Browse files Browse the repository at this point in the history
…emble a vanilla client
  • Loading branch information
DustinRepo committed Apr 12, 2022
1 parent c813bda commit 8813d6c
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 1 deletion.
3 changes: 2 additions & 1 deletion java/src/me/dustin/chatbot/chat/Translator.java
Original file line number Diff line number Diff line change
Expand Up @@ -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]);
}
}
}
Expand Down
1 change: 1 addition & 0 deletions java/src/me/dustin/chatbot/network/ClientConnection.java
Original file line number Diff line number Diff line change
Expand Up @@ -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())
Expand Down
Original file line number Diff line number Diff line change
@@ -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);
}
}
2 changes: 2 additions & 0 deletions java/src/me/dustin/chatbot/process/impl/AntiAFKProcess.java
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
Original file line number Diff line number Diff line change
@@ -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() {}
}

0 comments on commit 8813d6c

Please sign in to comment.