Deprecate Helper.mc and begin to replace usages

This commit is contained in:
Brady
2023-06-13 18:24:31 -05:00
parent 1b254a4811
commit 714ebb2c2d
9 changed files with 55 additions and 29 deletions

View File

@@ -21,7 +21,6 @@ import baritone.api.BaritoneAPI;
import baritone.api.IBaritone;
import baritone.api.Settings;
import baritone.api.event.listener.IEventBus;
import baritone.api.utils.Helper;
import baritone.api.utils.IPlayerContext;
import baritone.behavior.*;
import baritone.cache.WorldProvider;
@@ -33,7 +32,7 @@ import baritone.utils.BlockStateInterface;
import baritone.utils.GuiClick;
import baritone.utils.InputOverrideHandler;
import baritone.utils.PathingControlManager;
import baritone.utils.player.PrimaryPlayerContext;
import baritone.utils.player.BaritonePlayerContext;
import net.minecraft.client.Minecraft;
import java.io.File;
@@ -64,6 +63,8 @@ public class Baritone implements IBaritone {
}
}
private final Minecraft mc;
private GameEventHandler gameEventHandler;
private PathingBehavior pathingBehavior;
@@ -91,11 +92,12 @@ public class Baritone implements IBaritone {
public BlockStateInterface bsi;
Baritone() {
Baritone(Minecraft mc) {
this.mc = mc;
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 = PrimaryPlayerContext.INSTANCE;
this.playerContext = new BaritonePlayerContext(this);
{
// the Behavior constructor calls baritone.registerBehavior(this) so this populates the behaviors arraylist
@@ -119,7 +121,7 @@ public class Baritone implements IBaritone {
this.pathingControlManager.registerProcess(inventoryPauserProcess = new InventoryPauserProcess(this));
}
this.worldProvider = new WorldProvider();
this.worldProvider = new WorldProvider(this);
this.selectionManager = new SelectionManager(this);
this.commandManager = new CommandManager(this);
}
@@ -219,11 +221,15 @@ public class Baritone implements IBaritone {
new Thread(() -> {
try {
Thread.sleep(100);
Helper.mc.addScheduledTask(() -> Helper.mc.displayGuiScreen(new GuiClick()));
mc.addScheduledTask(() -> mc.displayGuiScreen(new GuiClick()));
} catch (Exception ignored) {}
}).start();
}
public Minecraft getMinecraft() {
return this.mc;
}
public static Settings settings() {
return BaritoneAPI.getSettings();
}

View File

@@ -23,10 +23,10 @@ import baritone.api.cache.IWorldScanner;
import baritone.api.command.ICommandSystem;
import baritone.api.schematic.ISchematicSystem;
import baritone.cache.FasterWorldScanner;
import baritone.cache.WorldScanner;
import baritone.command.CommandSystem;
import baritone.command.ExampleBaritoneControl;
import baritone.utils.schematic.SchematicSystem;
import net.minecraft.client.Minecraft;
import java.util.Collections;
import java.util.List;
@@ -41,7 +41,7 @@ public final class BaritoneProvider implements IBaritoneProvider {
private final List<IBaritone> all;
{
this.primary = new Baritone();
this.primary = new Baritone(Minecraft.getMinecraft());
this.all = Collections.singletonList(this.primary);
// Setup chat control, just for the primary instance

View File

@@ -164,19 +164,19 @@ public final class LookBehavior extends Behavior implements ILookBehavior {
return pitch;
}
private static float calculateMouseMove(float current, float target) {
private float calculateMouseMove(float current, float target) {
final float delta = target - current;
final int deltaPx = angleToMouse(delta);
return current + mouseToAngle(deltaPx);
}
private static int angleToMouse(float angleDelta) {
private int angleToMouse(float angleDelta) {
final float minAngleChange = mouseToAngle(1);
return Math.round(angleDelta / minAngleChange);
}
private static float mouseToAngle(int mouseDelta) {
final float f = Helper.mc.gameSettings.mouseSensitivity * 0.6f + 0.2f;
private float mouseToAngle(int mouseDelta) {
final float f = baritone.getMinecraft().gameSettings.mouseSensitivity * 0.6f + 0.2f;
return mouseDelta * f * f * f * 8.0f * 0.15f;
}

View File

@@ -44,9 +44,14 @@ public class WorldProvider implements IWorldProvider, Helper {
private static final Map<Path, WorldData> worldCache = new HashMap<>(); // this is how the bots have the same cached world
private Baritone baritone;
private WorldData currentWorld;
private World mcWorld; // this let's us detect a broken load/unload hook
public WorldProvider(Baritone baritone) {
this.baritone = baritone;
}
@Override
public final WorldData getCurrentWorld() {
detectAndHandleBrokenLoading();

View File

@@ -23,7 +23,6 @@ import baritone.api.event.events.TickEvent;
import baritone.api.utils.IInputOverrideHandler;
import baritone.api.utils.input.Input;
import baritone.behavior.Behavior;
import net.minecraft.client.Minecraft;
import net.minecraft.util.MovementInputFromOptions;
import java.util.HashMap;
@@ -100,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(Minecraft.getMinecraft().gameSettings);
ctx.player().movementInput = new MovementInputFromOptions(baritone.getMinecraft().gameSettings);
}
}
// only set it if it was previously incorrect

View File

@@ -17,10 +17,11 @@
package baritone.utils.player;
import baritone.api.BaritoneAPI;
import baritone.Baritone;
import baritone.api.cache.IWorldData;
import baritone.api.utils.*;
import baritone.behavior.LookBehavior;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.world.World;
@@ -31,33 +32,41 @@ import net.minecraft.world.World;
* @author Brady
* @since 11/12/2018
*/
public enum PrimaryPlayerContext implements IPlayerContext, Helper {
public final class BaritonePlayerContext implements IPlayerContext {
INSTANCE;
private final Baritone baritone;
private final Minecraft mc;
private final IPlayerController playerController;
public BaritonePlayerContext(Baritone baritone) {
this.baritone = baritone;
this.mc = baritone.getMinecraft();
this.playerController = new BaritonePlayerController(baritone);
}
@Override
public EntityPlayerSP player() {
return mc.player;
return this.mc.player;
}
@Override
public IPlayerController playerController() {
return PrimaryPlayerController.INSTANCE;
return this.playerController;
}
@Override
public World world() {
return mc.world;
return this.mc.world;
}
@Override
public IWorldData worldData() {
return BaritoneAPI.getProvider().getPrimaryBaritone().getWorldProvider().getCurrentWorld();
return this.baritone.getWorldProvider().getCurrentWorld();
}
@Override
public Rotation playerRotations() {
return ((LookBehavior) BaritoneAPI.getProvider().getPrimaryBaritone().getLookBehavior()).getEffectiveRotation()
return ((LookBehavior) this.baritone.getLookBehavior()).getEffectiveRotation()
.orElseGet(IPlayerContext.super::playerRotations);
}

View File

@@ -17,9 +17,10 @@
package baritone.utils.player;
import baritone.api.utils.Helper;
import baritone.Baritone;
import baritone.api.utils.IPlayerController;
import baritone.utils.accessor.IPlayerControllerMP;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.multiplayer.WorldClient;
import net.minecraft.entity.player.EntityPlayer;
@@ -39,9 +40,13 @@ import net.minecraft.world.World;
* @author Brady
* @since 12/14/2018
*/
public enum PrimaryPlayerController implements IPlayerController, Helper {
public final class BaritonePlayerController implements IPlayerController {
INSTANCE;
private final Minecraft mc;
public BaritonePlayerController(Baritone baritone) {
this.mc = baritone.getMinecraft();
}
@Override
public void syncHeldItem() {