From 53458817a80544c47383aca882040d8d05f36a52 Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+ChomeNS@users.noreply.github.com> Date: Mon, 26 Jun 2023 18:56:38 +0700 Subject: [PATCH] some fixes but not all --- .../chomens_bot/plugins/CorePlugin.java | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/CorePlugin.java b/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/CorePlugin.java index 711055ae..7eb891de 100644 --- a/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/CorePlugin.java +++ b/src/main/java/land/chipmunk/chayapak/chomens_bot/plugins/CorePlugin.java @@ -5,6 +5,7 @@ import com.github.steveice10.mc.protocol.data.game.entity.object.Direction; import com.github.steveice10.mc.protocol.data.game.entity.player.Hand; import com.github.steveice10.mc.protocol.data.game.entity.player.PlayerAction; import com.github.steveice10.mc.protocol.data.game.level.block.BlockChangeEntry; +import com.github.steveice10.mc.protocol.data.game.level.block.BlockEntityInfo; import com.github.steveice10.mc.protocol.data.game.level.block.CommandBlockMode; import com.github.steveice10.mc.protocol.packet.ingame.clientbound.level.ClientboundBlockUpdatePacket; import com.github.steveice10.mc.protocol.packet.ingame.clientbound.level.ClientboundLevelChunkWithLightPacket; @@ -193,7 +194,7 @@ public class CorePlugin extends PositionPlugin.Listener { public void packetReceived (ClientboundBlockUpdatePacket packet) { final BlockChangeEntry entry = packet.getEntry(); - if (isCommandBlock(entry.getBlock())) return; + if (isCommandBlockUpdate(entry.getBlock())) return; final Vector3i position = entry.getPosition(); @@ -208,7 +209,7 @@ public class CorePlugin extends PositionPlugin.Listener { for (BlockChangeEntry entry : entries) { final Vector3i position = entry.getPosition(); - if (isCommandBlock(entry.getBlock())) return; + if (isCommandBlockUpdate(entry.getBlock())) continue; if (isCore(position)) willRefill = true; } @@ -216,7 +217,7 @@ public class CorePlugin extends PositionPlugin.Listener { if (willRefill) refill(); } - private boolean isCommandBlock (int blockState) { + private boolean isCommandBlockUpdate(int blockState) { return // command block ( @@ -238,9 +239,19 @@ public class CorePlugin extends PositionPlugin.Listener { } public void packetReceived (ClientboundLevelChunkWithLightPacket packet) { - final Vector3i position = Vector3i.from(packet.getX() * 16, coreStart.getY(), packet.getZ() * 16); // mabe + boolean hasCoreY = false; + for (BlockEntityInfo info : packet.getBlockEntities()) { + if (info.getY() >= coreStart.getY() && info.getY() <= coreEnd.getY()) { + hasCoreY = true; + break; + } + } - if (isCore(position)) refill(); + if ( + absoluteCorePosition().getX() / 16 == packet.getX() && + absoluteCorePosition().getZ() / 16 == packet.getZ() && + hasCoreY + ) refill(); } public Vector3i absoluteCorePosition () {