From 15f4253b3db96b8c31ef088f4c4f7305c5ed8b0a Mon Sep 17 00:00:00 2001 From: Brady Date: Sat, 24 Jun 2023 21:48:44 -0700 Subject: [PATCH 1/3] Clamp pitch to normal range --- src/main/java/baritone/behavior/LookBehavior.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/baritone/behavior/LookBehavior.java b/src/main/java/baritone/behavior/LookBehavior.java index 4ea0274d7..d438e8f85 100644 --- a/src/main/java/baritone/behavior/LookBehavior.java +++ b/src/main/java/baritone/behavior/LookBehavior.java @@ -202,7 +202,7 @@ public final class LookBehavior extends Behavior implements ILookBehavior { return new Rotation( this.calculateMouseMove(prev.getYaw(), desiredYaw), this.calculateMouseMove(prev.getPitch(), desiredPitch) - ); + ).clamp(); } @Override From 8211ae4af58585ca3077c558c00b480d7d72ab59 Mon Sep 17 00:00:00 2001 From: Leijurv Date: Thu, 29 Jun 2023 21:59:31 -0700 Subject: [PATCH 2/3] memory leaks are joever --- src/api/java/baritone/api/Settings.java | 7 +++++++ src/main/java/baritone/cache/CachedWorld.java | 3 +++ 2 files changed, 10 insertions(+) diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index 824dfd7e2..a8e4ced7d 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -622,6 +622,13 @@ public final class Settings { */ public final Setting pruneRegionsFromRAM = new Setting<>(true); + /** + * The chunk packer queue can never grow to larger than this, if it does, the oldest chunks are discarded + *

+ * The newest chunks are kept, so that if you're moving in a straight line quickly then stop, your immediate render distance is still included + */ + public final Setting chunkPackerQueueMaxSize = new Setting<>(2000); + /** * Fill in blocks behind you */ diff --git a/src/main/java/baritone/cache/CachedWorld.java b/src/main/java/baritone/cache/CachedWorld.java index 6b3959fe3..32112f20f 100644 --- a/src/main/java/baritone/cache/CachedWorld.java +++ b/src/main/java/baritone/cache/CachedWorld.java @@ -307,6 +307,9 @@ public final class CachedWorld implements ICachedWorld, Helper { try { ChunkPos pos = toPackQueue.take(); Chunk chunk = toPackMap.remove(pos); + if (toPackQueue.size() > Baritone.settings().chunkPackerQueueMaxSize.value) { + continue; + } CachedChunk cached = ChunkPacker.pack(chunk); CachedWorld.this.updateCachedChunk(cached); //System.out.println("Processed chunk at " + chunk.x + "," + chunk.z); From 6654476da435203df9f5f42ed9f41310f5560c30 Mon Sep 17 00:00:00 2001 From: Brady Date: Sun, 2 Jul 2023 19:59:26 -0500 Subject: [PATCH 3/3] Make `blockFreeLook` depend on `freeLook` --- src/api/java/baritone/api/Settings.java | 3 +-- src/main/java/baritone/behavior/LookBehavior.java | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/api/java/baritone/api/Settings.java b/src/api/java/baritone/api/Settings.java index a8e4ced7d..da241d6ba 100644 --- a/src/api/java/baritone/api/Settings.java +++ b/src/api/java/baritone/api/Settings.java @@ -731,8 +731,7 @@ public final class Settings { public final Setting freeLook = new Setting<>(true); /** - * Break and place blocks without having to force the client-sided rotations. Having this setting enabled implies - * {@link #freeLook}. + * Break and place blocks without having to force the client-sided rotations. Requires {@link #freeLook}. */ public final Setting blockFreeLook = new Setting<>(false); diff --git a/src/main/java/baritone/behavior/LookBehavior.java b/src/main/java/baritone/behavior/LookBehavior.java index d438e8f85..372cf1aae 100644 --- a/src/main/java/baritone/behavior/LookBehavior.java +++ b/src/main/java/baritone/behavior/LookBehavior.java @@ -135,10 +135,10 @@ public final class LookBehavior extends Behavior implements ILookBehavior { } public Optional getEffectiveRotation() { - if (Baritone.settings().freeLook.value || Baritone.settings().blockFreeLook.value) { + if (Baritone.settings().freeLook.value) { return Optional.ofNullable(this.serverRotation); } - // If neither of the freeLook settings are on, just defer to the player's actual rotations + // If freeLook isn't on, just defer to the player's actual rotations return Optional.empty(); } @@ -306,7 +306,7 @@ public final class LookBehavior extends Behavior implements ILookBehavior { final boolean blockFreeLook = settings.blockFreeLook.value; final boolean freeLook = settings.freeLook.value; - if (!freeLook && !blockFreeLook) return CLIENT; + if (!freeLook) return CLIENT; if (!blockFreeLook && blockInteract) return CLIENT; // Regardless of if antiCheatCompatibility is enabled, if a blockInteract is requested then the player