From c8f279a9fc2621187daafccfa03e4a58fae1a063 Mon Sep 17 00:00:00 2001 From: Dawson <30784509+funkemunky@users.noreply.github.com> Date: Tue, 14 Mar 2023 14:13:23 -0400 Subject: [PATCH] Fixed teleport lag issue with emulator --- .../main/java/dev/brighten/ac/handler/MovementHandler.java | 4 ++++ .../dev/brighten/ac/handler/block/BlockUpdateHandler.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Anticheat/src/main/java/dev/brighten/ac/handler/MovementHandler.java b/Anticheat/src/main/java/dev/brighten/ac/handler/MovementHandler.java index 79fa78c..e0e4302 100644 --- a/Anticheat/src/main/java/dev/brighten/ac/handler/MovementHandler.java +++ b/Anticheat/src/main/java/dev/brighten/ac/handler/MovementHandler.java @@ -1,6 +1,7 @@ package dev.brighten.ac.handler; import com.google.common.collect.Sets; +import dev.brighten.ac.Anticheat; import dev.brighten.ac.data.APlayer; import dev.brighten.ac.data.obj.CMove; import dev.brighten.ac.handler.compat.CompatHandler; @@ -136,6 +137,8 @@ public class MovementHandler { IterationResult minimum = null; iteration: { for (KLocation posLoc : posLocs) { + // Resetting to prevent lag issues. + IterationResult result = player.EMULATOR.runTeleportIteration(new Vector(posLoc.x, posLoc.y, posLoc.z)); if (minimum == null || minimum.getOffset() > result.getOffset()) { @@ -172,6 +175,7 @@ public class MovementHandler { .lastReportedBoundingBox(from.getBox().toNeo()) .effectSpeed(EFFECTS[0]) .effectSlow(EFFECTS[1]) + .waitingForTeleport(posLocs.size() > 0) .effectJump(EFFECTS[2]) .build(); diff --git a/Anticheat/src/main/java/dev/brighten/ac/handler/block/BlockUpdateHandler.java b/Anticheat/src/main/java/dev/brighten/ac/handler/block/BlockUpdateHandler.java index f5e03f0..22fa9c5 100644 --- a/Anticheat/src/main/java/dev/brighten/ac/handler/block/BlockUpdateHandler.java +++ b/Anticheat/src/main/java/dev/brighten/ac/handler/block/BlockUpdateHandler.java @@ -24,7 +24,7 @@ import java.util.Optional; @RequiredArgsConstructor public class BlockUpdateHandler { - private final Map blockInformation = new HashMap<>(); + private final Map blockInformation = new Object2ObjectOpenHashMap<>(); private final APlayer player;