diff --git a/src/api/java/baritone/api/utils/IPlayerContext.java b/src/api/java/baritone/api/utils/IPlayerContext.java index fcc4c81cc..525f73ddc 100644 --- a/src/api/java/baritone/api/utils/IPlayerContext.java +++ b/src/api/java/baritone/api/utils/IPlayerContext.java @@ -19,6 +19,7 @@ package baritone.api.utils; import baritone.api.cache.IWorldData; import net.minecraft.block.BlockSlab; +import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.RayTraceResult; @@ -33,6 +34,8 @@ import java.util.Optional; */ public interface IPlayerContext { + Minecraft minecraft(); + EntityPlayerSP player(); IPlayerController playerController(); diff --git a/src/main/java/baritone/Baritone.java b/src/main/java/baritone/Baritone.java index 4a873c226..488850f82 100755 --- a/src/main/java/baritone/Baritone.java +++ b/src/main/java/baritone/Baritone.java @@ -97,7 +97,7 @@ public class Baritone implements IBaritone { this.gameEventHandler = new GameEventHandler(this); // Define this before behaviors try and get it, or else it will be null and the builds will fail! - this.playerContext = new BaritonePlayerContext(this); + this.playerContext = new BaritonePlayerContext(this, mc); { // the Behavior constructor calls baritone.registerBehavior(this) so this populates the behaviors arraylist @@ -226,10 +226,6 @@ public class Baritone implements IBaritone { }).start(); } - public Minecraft getMinecraft() { - return this.mc; - } - public static Settings settings() { return BaritoneAPI.getSettings(); } diff --git a/src/main/java/baritone/behavior/LookBehavior.java b/src/main/java/baritone/behavior/LookBehavior.java index 2d237dfb8..67aa45e39 100644 --- a/src/main/java/baritone/behavior/LookBehavior.java +++ b/src/main/java/baritone/behavior/LookBehavior.java @@ -176,7 +176,7 @@ public final class LookBehavior extends Behavior implements ILookBehavior { } private float mouseToAngle(int mouseDelta) { - final float f = baritone.getMinecraft().gameSettings.mouseSensitivity * 0.6f + 0.2f; + final float f = ctx.minecraft().gameSettings.mouseSensitivity * 0.6f + 0.2f; return mouseDelta * f * f * f * 8.0f * 0.15f; } diff --git a/src/main/java/baritone/behavior/PathingBehavior.java b/src/main/java/baritone/behavior/PathingBehavior.java index 23f2b1431..f5433fe8d 100644 --- a/src/main/java/baritone/behavior/PathingBehavior.java +++ b/src/main/java/baritone/behavior/PathingBehavior.java @@ -238,14 +238,13 @@ public final class PathingBehavior extends Behavior implements IPathingBehavior, @Override public void onPlayerUpdate(PlayerUpdateEvent event) { if (current != null) { - final GameSettings settings = baritone.getMinecraft().gameSettings; switch (event.getState()) { case PRE: - lastAutoJump = settings.autoJump; - settings.autoJump = false; + lastAutoJump = ctx.minecraft().gameSettings.autoJump; + ctx.minecraft().gameSettings.autoJump = false; break; case POST: - settings.autoJump = lastAutoJump; + ctx.minecraft().gameSettings.autoJump = lastAutoJump; break; default: break; diff --git a/src/main/java/baritone/utils/InputOverrideHandler.java b/src/main/java/baritone/utils/InputOverrideHandler.java index b7f320e96..f110b9ce1 100755 --- a/src/main/java/baritone/utils/InputOverrideHandler.java +++ b/src/main/java/baritone/utils/InputOverrideHandler.java @@ -99,7 +99,7 @@ public final class InputOverrideHandler extends Behavior implements IInputOverri } } else { if (ctx.player().movementInput.getClass() == PlayerMovementInput.class) { // allow other movement inputs that aren't this one, e.g. for a freecam - ctx.player().movementInput = new MovementInputFromOptions(baritone.getMinecraft().gameSettings); + ctx.player().movementInput = new MovementInputFromOptions(ctx.minecraft().gameSettings); } } // only set it if it was previously incorrect diff --git a/src/main/java/baritone/utils/player/BaritonePlayerContext.java b/src/main/java/baritone/utils/player/BaritonePlayerContext.java index 0bb118a1d..601d2bb72 100644 --- a/src/main/java/baritone/utils/player/BaritonePlayerContext.java +++ b/src/main/java/baritone/utils/player/BaritonePlayerContext.java @@ -37,10 +37,15 @@ public final class BaritonePlayerContext implements IPlayerContext { private final Minecraft mc; private final IPlayerController playerController; - public BaritonePlayerContext(Baritone baritone) { + public BaritonePlayerContext(Baritone baritone, Minecraft mc) { this.baritone = baritone; - this.mc = baritone.getMinecraft(); - this.playerController = new BaritonePlayerController(baritone); + this.mc = mc; + this.playerController = new BaritonePlayerController(mc); + } + + @Override + public Minecraft minecraft() { + return this.mc; } @Override diff --git a/src/main/java/baritone/utils/player/BaritonePlayerController.java b/src/main/java/baritone/utils/player/BaritonePlayerController.java index 95a55e026..b0e94e8c5 100644 --- a/src/main/java/baritone/utils/player/BaritonePlayerController.java +++ b/src/main/java/baritone/utils/player/BaritonePlayerController.java @@ -44,8 +44,8 @@ public final class BaritonePlayerController implements IPlayerController { private final Minecraft mc; - public BaritonePlayerController(Baritone baritone) { - this.mc = baritone.getMinecraft(); + public BaritonePlayerController(Minecraft mc) { + this.mc = mc; } @Override