From c2bab61c0908349a5a8fa41abab59469506d47cb Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+ChomeNS@users.noreply.github.com> Date: Sat, 7 Dec 2024 14:15:46 +0700 Subject: [PATCH] feat: update to 1.21.2-1.21.3 protocol i tried compiling for 1.21.4, and it seemed to work, but most clones' viaversion is not that updated yet so i just stayed at 1.21.3 --- build-number.txt | 2 +- build.gradle | 2 +- .../java/me/chayapak1/chomens_bot/Bot.java | 10 +++++--- .../chomens_bot/plugins/CorePlugin.java | 17 +++++++------ .../chomens_bot/plugins/PositionPlugin.java | 25 +++++++++++-------- .../chomens_bot/plugins/SelfCarePlugin.java | 10 ++++---- 6 files changed, 36 insertions(+), 30 deletions(-) diff --git a/build-number.txt b/build-number.txt index 130e16f6..24d3becd 100644 --- a/build-number.txt +++ b/build-number.txt @@ -1 +1 @@ -1200 \ No newline at end of file +1208 \ No newline at end of file diff --git a/build.gradle b/build.gradle index b7aba9d7..43dc097d 100644 --- a/build.gradle +++ b/build.gradle @@ -41,7 +41,7 @@ repositories { } dependencies { - implementation 'org.geysermc.mcprotocollib:protocol:1.21-SNAPSHOT' + implementation 'org.geysermc.mcprotocollib:protocol:1.21.2-SNAPSHOT' implementation 'net.kyori:adventure-text-serializer-ansi:4.15.0' implementation 'com.google.code.gson:gson:2.11.0' implementation 'com.google.guava:guava:31.1-jre' diff --git a/src/main/java/me/chayapak1/chomens_bot/Bot.java b/src/main/java/me/chayapak1/chomens_bot/Bot.java index 283941c6..f87c4d13 100644 --- a/src/main/java/me/chayapak1/chomens_bot/Bot.java +++ b/src/main/java/me/chayapak1/chomens_bot/Bot.java @@ -12,10 +12,11 @@ import org.geysermc.mcprotocollib.network.tcp.TcpClientSession; import org.geysermc.mcprotocollib.protocol.MinecraftProtocol; import org.geysermc.mcprotocollib.protocol.data.game.entity.player.HandPreference; import org.geysermc.mcprotocollib.protocol.data.game.setting.ChatVisibility; +import org.geysermc.mcprotocollib.protocol.data.game.setting.ParticleStatus; import org.geysermc.mcprotocollib.protocol.data.game.setting.SkinPart; import org.geysermc.mcprotocollib.protocol.packet.common.serverbound.ServerboundClientInformationPacket; import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.ClientboundLoginPacket; -import org.geysermc.mcprotocollib.protocol.packet.login.clientbound.ClientboundGameProfilePacket; +import org.geysermc.mcprotocollib.protocol.packet.login.clientbound.ClientboundLoginFinishedPacket; import java.util.ArrayList; import java.util.List; @@ -204,15 +205,16 @@ public class Bot { skinParts, HandPreference.RIGHT_HAND, false, - true // should this be false lol so only real players are displayed + true, // should this be false lol so only real players are displayed + ParticleStatus.ALL ) ); if (options.creayun) chat.send("/server creative"); - } else if (packet instanceof ClientboundGameProfilePacket) packetReceived((ClientboundGameProfilePacket) packet); + } else if (packet instanceof ClientboundLoginFinishedPacket) packetReceived((ClientboundLoginFinishedPacket) packet); } - public void packetReceived(ClientboundGameProfilePacket packet) { + public void packetReceived(ClientboundLoginFinishedPacket packet) { profile = packet.getProfile(); } diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/CorePlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/CorePlugin.java index 447a80f0..c9591dfd 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/CorePlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/CorePlugin.java @@ -1,5 +1,6 @@ package me.chayapak1.chomens_bot.plugins; +import org.cloudburstmc.math.vector.Vector3d; import org.cloudburstmc.nbt.NbtMap; import org.cloudburstmc.nbt.NbtMapBuilder; import org.geysermc.mcprotocollib.network.Session; @@ -323,15 +324,15 @@ public class CorePlugin extends PositionPlugin.Listener { (short) 36, new ItemStack( bot.serverPluginsManager.hasPlugin(ServerPluginsManagerPlugin.EXTRAS) ? - 514 /* repeating command block id */ : - 395 /* command block id */, + 528 /* repeating command block id */ : + 409 /* command block id */, 64, dataComponents ) ) ); session.send(new ServerboundPlayerActionPacket(PlayerAction.START_DIGGING, temporaryBlockPosition, Direction.NORTH, 0)); - session.send(new ServerboundUseItemOnPacket(temporaryBlockPosition, Direction.UP, Hand.MAIN_HAND, 0.5f, 0.5f, 0.5f, false, 1)); + session.send(new ServerboundUseItemOnPacket(temporaryBlockPosition, Direction.UP, Hand.MAIN_HAND, 0.5f, 0.5f, 0.5f, false, false, 1)); } public void packetReceived (ClientboundBlockUpdatePacket packet) { @@ -418,19 +419,19 @@ public class CorePlugin extends PositionPlugin.Listener { } @Override - public void positionChange (Vector3i position) { + public void positionChange (Vector3d position) { if (bot.position.isGoingDownFromHeightLimit) return; from = Vector3i.from( - (int) (fromSize.getX() + Math.floor((double) bot.position.position.getX() / 16) * 16), + (int) (fromSize.getX() + Math.floor(bot.position.position.getX() / 16) * 16), MathUtilities.clamp(fromSize.getY(), bot.world.minY, bot.world.maxY), - (int) (fromSize.getZ() + Math.floor((double) bot.position.position.getZ() / 16) * 16) + (int) (fromSize.getZ() + Math.floor(bot.position.position.getZ() / 16) * 16) ); to = Vector3i.from( - (int) (toSize.getX() + Math.floor((double) bot.position.position.getX() / 16) * 16), + (int) (toSize.getX() + Math.floor(bot.position.position.getX() / 16) * 16), MathUtilities.clamp(toSize.getY(), bot.world.minY, bot.world.maxY), - (int) (toSize.getZ() + Math.floor((double) bot.position.position.getZ() / 16) * 16) + (int) (toSize.getZ() + Math.floor(bot.position.position.getZ() / 16) * 16) ); reset(); diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/PositionPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/PositionPlugin.java index e3ebc783..f603bcea 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/PositionPlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/PositionPlugin.java @@ -1,5 +1,10 @@ package me.chayapak1.chomens_bot.plugins; +import me.chayapak1.chomens_bot.Bot; +import me.chayapak1.chomens_bot.data.PlayerEntry; +import me.chayapak1.chomens_bot.data.Rotation; +import org.cloudburstmc.math.vector.Vector3d; +import org.cloudburstmc.math.vector.Vector3f; import org.geysermc.mcprotocollib.network.Session; import org.geysermc.mcprotocollib.network.packet.Packet; import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.entity.ClientboundMoveEntityPosPacket; @@ -10,11 +15,6 @@ import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.entity.play import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.entity.spawn.ClientboundAddEntityPacket; import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.level.ServerboundAcceptTeleportationPacket; import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.player.ServerboundMovePlayerPosPacket; -import me.chayapak1.chomens_bot.Bot; -import me.chayapak1.chomens_bot.data.Rotation; -import me.chayapak1.chomens_bot.data.PlayerEntry; -import org.cloudburstmc.math.vector.Vector3f; -import org.cloudburstmc.math.vector.Vector3i; import java.util.ArrayList; import java.util.HashMap; @@ -28,7 +28,7 @@ public class PositionPlugin extends Bot.Listener { private final List listeners = new ArrayList<>(); - public Vector3i position = Vector3i.from(0, 0, 0); + public Vector3d position = Vector3d.from(0, 0, 0); public boolean isGoingDownFromHeightLimit = false; // cool variable name @@ -46,6 +46,7 @@ public class PositionPlugin extends Bot.Listener { if (!bot.loggedIn || isGoingDownFromHeightLimit) return; bot.session.send(new ServerboundMovePlayerPosPacket( + false, false, position.getX(), position.getY(), @@ -72,9 +73,10 @@ public class PositionPlugin extends Bot.Listener { } public void packetReceived (ClientboundPlayerPositionPacket packet) { - bot.session.send(new ServerboundAcceptTeleportationPacket(packet.getTeleportId())); + bot.session.send(new ServerboundAcceptTeleportationPacket(packet.getId())); + + position = packet.getPosition(); - position = Vector3i.from(packet.getX(), packet.getY(), packet.getZ()); for (Listener listener : listeners) { listener.positionChange(position); } } @@ -160,7 +162,7 @@ public class PositionPlugin extends Bot.Listener { // for now this is used in CorePlugin when placing the command block private void handleHeightLimit () { - final int y = position.getY(); + final double y = position.getY(); final int minY = bot.world.minY; final int maxY = bot.world.maxY; @@ -176,7 +178,7 @@ public class PositionPlugin extends Bot.Listener { isGoingDownFromHeightLimit = true; - final Vector3i newPosition = Vector3i.from( + final Vector3d newPosition = Vector3d.from( position.getX(), position.getY() - 2, position.getZ() @@ -197,6 +199,7 @@ public class PositionPlugin extends Bot.Listener { } bot.session.send(new ServerboundMovePlayerPosPacket( + false, false, newPosition.getX(), newPosition.getY(), @@ -237,7 +240,7 @@ public class PositionPlugin extends Bot.Listener { public void addListener (Listener listener) { listeners.add(listener); } public static class Listener { - public void positionChange (Vector3i position) {} + public void positionChange (Vector3d position) {} public void playerMoved (PlayerEntry player, Vector3f position, Rotation rotation) {} } } diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/SelfCarePlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/SelfCarePlugin.java index 6cc0ffaf..572446b6 100644 --- a/src/main/java/me/chayapak1/chomens_bot/plugins/SelfCarePlugin.java +++ b/src/main/java/me/chayapak1/chomens_bot/plugins/SelfCarePlugin.java @@ -1,5 +1,9 @@ package me.chayapak1.chomens_bot.plugins; +import me.chayapak1.chomens_bot.Bot; +import me.chayapak1.chomens_bot.Configuration; +import net.kyori.adventure.text.Component; +import org.cloudburstmc.math.vector.Vector3d; import org.geysermc.mcprotocollib.network.Session; import org.geysermc.mcprotocollib.network.event.session.DisconnectedEvent; import org.geysermc.mcprotocollib.network.packet.Packet; @@ -14,10 +18,6 @@ import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.inventory.C import org.geysermc.mcprotocollib.protocol.packet.ingame.clientbound.level.ClientboundGameEventPacket; import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.ServerboundClientCommandPacket; import org.geysermc.mcprotocollib.protocol.packet.ingame.serverbound.inventory.ServerboundContainerClosePacket; -import me.chayapak1.chomens_bot.Bot; -import me.chayapak1.chomens_bot.Configuration; -import net.kyori.adventure.text.Component; -import org.cloudburstmc.math.vector.Vector3i; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; @@ -81,7 +81,7 @@ public class SelfCarePlugin extends Bot.Listener { bot.position.addListener(new PositionPlugin.Listener() { @Override - public void positionChange(Vector3i position) { + public void positionChange(Vector3d position) { SelfCarePlugin.this.positionChange(); } });