diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index 0dbbe1078..ed9414c75 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -26,6 +26,6 @@ "depends": { "fabricloader": ">=0.11.0", - "minecraft": "1.19.4" + "minecraft": ">=1.20-beta.1 <1.20" } } diff --git a/gradle.properties b/gradle.properties index 1de9c913d..ce2e298f9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,6 +4,6 @@ mod_version=1.9.3 maven_group=baritone archives_base_name=baritone -minecraft_version=1.19.4 -forge_version=1.19.4-45.0.43 -fabric_version=0.14.11 +minecraft_version=1.20-pre1 +#forge_version=1.19.4-45.0.43 +fabric_version=0.14.18 diff --git a/settings.gradle b/settings.gradle index 2475b0845..58b6e203d 100755 --- a/settings.gradle +++ b/settings.gradle @@ -43,7 +43,8 @@ rootProject.name = 'baritone' include("tweaker") if (System.getProperty("Baritone.enabled_platforms") == null) { - System.setProperty("Baritone.enabled_platforms", "fabric,forge") +// System.setProperty("Baritone.enabled_platforms", "fabric,forge") + System.setProperty("Baritone.enabled_platforms", "fabric") } for (platform in System.getProperty("Baritone.enabled_platforms").split(",")) { include(platform) diff --git a/src/api/java/baritone/api/utils/BlockOptionalMeta.java b/src/api/java/baritone/api/utils/BlockOptionalMeta.java index b144240d0..d0eb461a3 100644 --- a/src/api/java/baritone/api/utils/BlockOptionalMeta.java +++ b/src/api/java/baritone/api/utils/BlockOptionalMeta.java @@ -45,8 +45,8 @@ import net.minecraft.world.level.storage.LevelStorageSource; import net.minecraft.world.level.storage.ServerLevelData; import net.minecraft.world.level.storage.loot.BuiltInLootTables; import net.minecraft.world.level.storage.loot.LootContext; -import net.minecraft.world.level.storage.loot.LootTables; -import net.minecraft.world.level.storage.loot.PredicateManager; +import net.minecraft.world.level.storage.loot.LootDataManager; +import net.minecraft.world.level.storage.loot.LootParams; import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.Vec3; @@ -69,8 +69,7 @@ public final class BlockOptionalMeta { private final ImmutableSet stateHashes; private final ImmutableSet stackHashes; private static final Pattern pattern = Pattern.compile("^(.+?)(?::(\\d+))?$"); - private static LootTables lootTables; - private static PredicateManager predicate = new PredicateManager(); + private static LootDataManager lootTables; private static Map> drops = new HashMap<>(); public BlockOptionalMeta(@Nonnull Block block) { @@ -172,11 +171,11 @@ public final class BlockOptionalMeta { return null; } - public static LootTables getManager() { + public static LootDataManager getManager() { if (lootTables == null) { MultiPackResourceManager resources = new MultiPackResourceManager(PackType.SERVER_DATA, List.of(getVanillaServerPack())); ReloadableResourceManager resourceManager = new ReloadableResourceManager(PackType.SERVER_DATA); - lootTables = new LootTables(predicate); + lootTables = new LootDataManager(); resourceManager.registerReloadListener(lootTables); try { resourceManager.createReload(new ThreadPerTaskExecutor(Thread::new), new ThreadPerTaskExecutor(Thread::new), CompletableFuture.completedFuture(Unit.INSTANCE), resources.listPacks().toList()).done().get(); @@ -188,10 +187,6 @@ public final class BlockOptionalMeta { return lootTables; } - public static PredicateManager getPredicateManager() { - return predicate; - } - private static synchronized List drops(Block b) { return drops.computeIfAbsent(b, block -> { ResourceLocation lootTableLocation = block.getLootTable(); @@ -200,14 +195,17 @@ public final class BlockOptionalMeta { } else { List items = new ArrayList<>(); try { - getManager().get(lootTableLocation).getRandomItems( - new LootContext.Builder(ServerLevelStub.fastCreate()) - .withRandom(RandomSource.create()) - .withParameter(LootContextParams.ORIGIN, Vec3.atLowerCornerOf(BlockPos.ZERO)) - .withParameter(LootContextParams.TOOL, ItemStack.EMPTY) - .withOptionalParameter(LootContextParams.BLOCK_ENTITY, null) - .withParameter(LootContextParams.BLOCK_STATE, block.defaultBlockState()) - .create(LootContextParamSets.BLOCK), + + getManager().getLootTable(lootTableLocation).getRandomItemsRaw( + new LootContext.Builder( + new LootParams.Builder(ServerLevelStub.fastCreate()) + .withParameter(LootContextParams.ORIGIN, Vec3.atLowerCornerOf(BlockPos.ZERO)) + .withParameter(LootContextParams.TOOL, ItemStack.EMPTY) + .withOptionalParameter(LootContextParams.BLOCK_ENTITY, null) + .withParameter(LootContextParams.BLOCK_STATE, block.defaultBlockState()) + .create(LootContextParamSets.BLOCK) + ).withOptionalRandomSeed(1L) + .create(null), stack -> items.add(stack.getItem()) ); } catch (Exception e) { diff --git a/src/api/java/baritone/api/utils/RayTraceUtils.java b/src/api/java/baritone/api/utils/RayTraceUtils.java index 70c79be0b..5c0a78f37 100644 --- a/src/api/java/baritone/api/utils/RayTraceUtils.java +++ b/src/api/java/baritone/api/utils/RayTraceUtils.java @@ -57,7 +57,7 @@ public final class RayTraceUtils { direction.y * blockReachDistance, direction.z * blockReachDistance ); - return entity.level.clip(new ClipContext(start, end, ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, entity)); + return entity.level().clip(new ClipContext(start, end, ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, entity)); } public static Vec3 inferSneakingEyePosition(Entity entity) { diff --git a/src/api/java/baritone/api/utils/RotationUtils.java b/src/api/java/baritone/api/utils/RotationUtils.java index a6156354e..0a4fd8209 100644 --- a/src/api/java/baritone/api/utils/RotationUtils.java +++ b/src/api/java/baritone/api/utils/RotationUtils.java @@ -196,8 +196,8 @@ public final class RotationUtils { return possibleRotation; } - BlockState state = entity.level.getBlockState(pos); - VoxelShape shape = state.getShape(entity.level, pos); + BlockState state = entity.level().getBlockState(pos); + VoxelShape shape = state.getShape(entity.level(), pos); if (shape.isEmpty()) { shape = Shapes.block(); } @@ -233,7 +233,7 @@ public final class RotationUtils { if (((BlockHitResult) result).getBlockPos().equals(pos)) { return Optional.of(rotation); } - if (entity.level.getBlockState(pos).getBlock() instanceof BaseFireBlock && ((BlockHitResult) result).getBlockPos().equals(pos.below())) { + if (entity.level().getBlockState(pos).getBlock() instanceof BaseFireBlock && ((BlockHitResult) result).getBlockPos().equals(pos.below())) { return Optional.of(rotation); } } @@ -250,6 +250,6 @@ public final class RotationUtils { * @return The optional rotation */ public static Optional reachableCenter(Entity entity, BlockPos pos, double blockReachDistance, boolean wouldSneak) { - return reachableOffset(entity, pos, VecUtils.calculateBlockCenter(entity.level, pos), blockReachDistance, wouldSneak); + return reachableOffset(entity, pos, VecUtils.calculateBlockCenter(entity.level(), pos), blockReachDistance, wouldSneak); } } diff --git a/src/api/java/baritone/api/utils/gui/BaritoneToast.java b/src/api/java/baritone/api/utils/gui/BaritoneToast.java index 4965208c4..6cdc57cc0 100644 --- a/src/api/java/baritone/api/utils/gui/BaritoneToast.java +++ b/src/api/java/baritone/api/utils/gui/BaritoneToast.java @@ -20,6 +20,7 @@ package baritone.api.utils.gui; import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.toasts.Toast; import net.minecraft.client.gui.components.toasts.ToastComponent; import net.minecraft.network.chat.Component; @@ -38,7 +39,7 @@ public class BaritoneToast implements Toast { this.totalShowTime = totalShowTime; } - public Visibility render(PoseStack matrixStack, ToastComponent toastGui, long delta) { + public Visibility render(GuiGraphics gui, ToastComponent toastGui, long delta) { if (this.newDisplay) { this.firstDrawTime = delta; this.newDisplay = false; @@ -46,15 +47,13 @@ public class BaritoneToast implements Toast { //TODO: check - toastGui.getMinecraft().getTextureManager().bindForSetup(new ResourceLocation("textures/gui/toasts.png")); - //GlStateManager._color4f(1.0F, 1.0F, 1.0F, 255.0F); - toastGui.blit(matrixStack, 0, 0, 0, 32, 160, 32); + gui.blit(new ResourceLocation("textures/gui/toasts.png"), 0, 0, 0, 32, 160, 32); if (this.subtitle == null) { - toastGui.getMinecraft().font.draw(matrixStack, this.title, 18, 12, -11534256); + gui.drawString(toastGui.getMinecraft().font, this.title, 18, 12, -11534256); } else { - toastGui.getMinecraft().font.draw(matrixStack, this.title, 18, 7, -11534256); - toastGui.getMinecraft().font.draw(matrixStack, this.subtitle, 18, 18, -16777216); + gui.drawString(toastGui.getMinecraft().font, this.title, 18, 7, -11534256); + gui.drawString(toastGui.getMinecraft().font, this.subtitle, 18, 18, -16777216); } return delta - this.firstDrawTime < totalShowTime ? Visibility.SHOW : Visibility.HIDE; diff --git a/src/launch/java/baritone/launch/mixins/MixinLootContext.java b/src/launch/java/baritone/launch/mixins/MixinLootContext.java index 7c7960cf1..223444e12 100644 --- a/src/launch/java/baritone/launch/mixins/MixinLootContext.java +++ b/src/launch/java/baritone/launch/mixins/MixinLootContext.java @@ -21,8 +21,7 @@ import baritone.api.utils.BlockOptionalMeta; import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.storage.loot.LootContext; -import net.minecraft.world.level.storage.loot.LootTables; -import net.minecraft.world.level.storage.loot.PredicateManager; +import net.minecraft.world.level.storage.loot.LootDataManager; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; @@ -48,27 +47,13 @@ public class MixinLootContext { method = "create", at = @At( value = "INVOKE", - target = "Lnet/minecraft/server/MinecraftServer;getLootTables()Lnet/minecraft/world/level/storage/loot/LootTables;" + target = "Lnet/minecraft/server/MinecraftServer;getLootData()Lnet/minecraft/world/level/storage/loot/LootDataManager;" ) ) - private LootTables getLootTableManager(MinecraftServer server) { + private LootDataManager getLootTableManager(MinecraftServer server) { if (server == null) { return BlockOptionalMeta.getManager(); } - return server.getLootTables(); - } - - @Redirect( - method = "create", - at = @At( - value = "INVOKE", - target = "Lnet/minecraft/server/MinecraftServer;getPredicateManager()Lnet/minecraft/world/level/storage/loot/PredicateManager;" - ) - ) - private PredicateManager getLootPredicateManager(MinecraftServer server) { - if (server == null) { - return BlockOptionalMeta.getPredicateManager(); - } - return server.getPredicateManager(); + return server.getLootData(); } } diff --git a/src/launch/java/baritone/launch/mixins/MixinMinecraft.java b/src/launch/java/baritone/launch/mixins/MixinMinecraft.java index ae6996d0a..660292a19 100644 --- a/src/launch/java/baritone/launch/mixins/MixinMinecraft.java +++ b/src/launch/java/baritone/launch/mixins/MixinMinecraft.java @@ -32,6 +32,7 @@ import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Redirect; +import org.spongepowered.asm.mixin.injection.Slice; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import java.util.function.BiFunction; @@ -123,12 +124,26 @@ public class MixinMinecraft { at = @At( value = "FIELD", opcode = Opcodes.GETFIELD, - target = "Lnet/minecraft/client/gui/screens/Screen;passEvents:Z" + target = "Lnet/minecraft/client/Minecraft;screen:Lnet/minecraft/client/gui/screens/Screen;" + ), + slice = @Slice( + from = @At( + value = "FIELD", + opcode = Opcodes.GETFIELD, + target = "Lnet/minecraft/client/Options;renderDebug:Z" + ), + to = @At( + value = "CONSTANT", + args = "stringValue=Keybindings" + ) ) ) - private boolean passEvents(Screen screen) { + private Screen passEvents(Minecraft instance) { // allow user input is only the primary baritone - return (BaritoneAPI.getProvider().getPrimaryBaritone().getPathingBehavior().isPathing() && player != null) || screen.passEvents; + if (BaritoneAPI.getProvider().getPrimaryBaritone().getPathingBehavior().isPathing() && player != null) { + return null; + } + return instance.screen; } // TODO diff --git a/src/main/java/baritone/behavior/PathingBehavior.java b/src/main/java/baritone/behavior/PathingBehavior.java index c307e673b..9a8c4d1b5 100644 --- a/src/main/java/baritone/behavior/PathingBehavior.java +++ b/src/main/java/baritone/behavior/PathingBehavior.java @@ -419,7 +419,7 @@ public final class PathingBehavior extends Behavior implements IPathingBehavior, public BetterBlockPos pathStart() { // TODO move to a helper or util class BetterBlockPos feet = ctx.playerFeet(); if (!MovementHelper.canWalkOn(ctx, feet.below())) { - if (ctx.player().isOnGround()) { + if (ctx.player().onGround()) { double playerX = ctx.player().position().x; double playerZ = ctx.player().position().z; ArrayList closest = new ArrayList<>(); diff --git a/src/main/java/baritone/pathing/movement/MovementHelper.java b/src/main/java/baritone/pathing/movement/MovementHelper.java index b636ef9c2..b69388eb1 100644 --- a/src/main/java/baritone/pathing/movement/MovementHelper.java +++ b/src/main/java/baritone/pathing/movement/MovementHelper.java @@ -43,7 +43,6 @@ import net.minecraft.world.level.material.FlowingFluid; import net.minecraft.world.level.material.Fluid; import net.minecraft.world.level.material.Fluids; import net.minecraft.world.level.material.FluidState; -import net.minecraft.world.level.material.Material; import net.minecraft.world.level.material.WaterFluid; import net.minecraft.world.level.pathfinder.PathComputationType; import net.minecraft.world.phys.BlockHitResult; @@ -327,7 +326,7 @@ public interface MovementHelper extends ActionCosts, Helper { if (block == Blocks.LARGE_FERN || block == Blocks.TALL_GRASS) { return true; } - return state.getMaterial().isReplaceable(); + return state.canBeReplaced(); } @Deprecated @@ -511,14 +510,14 @@ public interface MovementHelper extends ActionCosts, Helper { static boolean canUseFrostWalker(CalculationContext context, BlockState state) { return context.frostWalker != 0 - && state.getMaterial() == Material.WATER + && state.getBlock() == Blocks.WATER && ((Integer) state.getValue(LiquidBlock.LEVEL)) == 0; } static boolean canUseFrostWalker(IPlayerContext ctx, BlockPos pos) { BlockState state = BlockStateInterface.get(ctx, pos); return EnchantmentHelper.hasFrostWalker(ctx.player()) - && state.getMaterial() == Material.WATER + && state.getBlock() == Blocks.WATER && ((Integer) state.getValue(LiquidBlock.LEVEL)) == 0; } diff --git a/src/main/java/baritone/pathing/movement/movements/MovementFall.java b/src/main/java/baritone/pathing/movement/movements/MovementFall.java index cb8711757..913b410aa 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementFall.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementFall.java @@ -100,7 +100,7 @@ public class MovementFall extends Movement { return state.setStatus(MovementStatus.UNREACHABLE); } - if (ctx.player().position().y - dest.getY() < ctx.playerController().getBlockReachDistance() && !ctx.player().isOnGround()) { + if (ctx.player().position().y - dest.getY() < ctx.playerController().getBlockReachDistance() && !ctx.player().onGround()) { ctx.player().getInventory().selected = ctx.player().getInventory().findSlotMatchingItem(STACK_BUCKET_WATER); targetRotation = new Rotation(toDest.getYaw(), 90.0F); @@ -135,7 +135,7 @@ public class MovementFall extends Movement { } Vec3 destCenter = VecUtils.getBlockPosCenter(dest); // we are moving to the 0.5 center not the edge (like if we were falling on a ladder) if (Math.abs(ctx.player().position().x + ctx.player().getDeltaMovement().x - destCenter.x) > 0.1 || Math.abs(ctx.player().position().z + ctx.player().getDeltaMovement().z - destCenter.z) > 0.1) { - if (!ctx.player().isOnGround() && Math.abs(ctx.player().getDeltaMovement().y) > 0.4) { + if (!ctx.player().onGround() && Math.abs(ctx.player().getDeltaMovement().y) > 0.4) { state.setInput(Input.SNEAK, true); } state.setInput(Input.MOVE_FORWARD, true); @@ -147,7 +147,7 @@ public class MovementFall extends Movement { double dist = Math.abs(avoid.getX() * (destCenter.x - avoid.getX() / 2.0 - ctx.player().position().x)) + Math.abs(avoid.getZ() * (destCenter.z - avoid.getZ() / 2.0 - ctx.player().position().z)); if (dist < 0.6) { state.setInput(Input.MOVE_FORWARD, true); - } else if (!ctx.player().isOnGround()) { + } else if (!ctx.player().onGround()) { state.setInput(Input.SNEAK, false); } } diff --git a/src/main/java/baritone/pathing/movement/movements/MovementParkour.java b/src/main/java/baritone/pathing/movement/movements/MovementParkour.java index c46cf68bd..1fa150a21 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementParkour.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementParkour.java @@ -279,7 +279,7 @@ public class MovementParkour extends Movement { if (Baritone.settings().allowPlace.value // see PR #3775 && ((Baritone) baritone).getInventoryBehavior().hasGenericThrowaway() && !MovementHelper.canWalkOn(ctx, dest.below()) - && !ctx.player().isOnGround() + && !ctx.player().onGround() && MovementHelper.attemptToPlaceABlock(state, baritone, dest.below(), true, false) == PlaceResult.READY_TO_PLACE ) { // go in the opposite order to check DOWN before all horizontals -- down is preferable because you don't have to look to the side while in midair, which could mess up the trajectory diff --git a/src/main/java/baritone/pathing/movement/movements/MovementPillar.java b/src/main/java/baritone/pathing/movement/movements/MovementPillar.java index cf084093c..50ecf930c 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementPillar.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementPillar.java @@ -256,7 +256,7 @@ public class MovementPillar extends Movement { BlockState frState = BlockStateInterface.get(ctx, src); Block fr = frState.getBlock(); // TODO: Evaluate usage of getMaterial().isReplaceable() - if (!(fr instanceof AirBlock || frState.getMaterial().isReplaceable())) { + if (!(fr instanceof AirBlock || frState.canBeReplaced())) { RotationUtils.reachable(ctx.player(), src, ctx.playerController().getBlockReachDistance()) .map(rot -> new MovementState.MovementTarget(rot, true)) .ifPresent(state::setTarget); diff --git a/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java b/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java index cec3ca39a..705863407 100644 --- a/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java +++ b/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java @@ -261,7 +261,7 @@ public class MovementTraverse extends Movement { } Block low = BlockStateInterface.get(ctx, src).getBlock(); Block high = BlockStateInterface.get(ctx, src.above()).getBlock(); - if (ctx.player().position().y > src.y + 0.1D && !ctx.player().isOnGround() && (low == Blocks.VINE || low == Blocks.LADDER || high == Blocks.VINE || high == Blocks.LADDER)) { + if (ctx.player().position().y > src.y + 0.1D && !ctx.player().onGround() && (low == Blocks.VINE || low == Blocks.LADDER || high == Blocks.VINE || high == Blocks.LADDER)) { // hitting W could cause us to climb the ladder instead of going forward // wait until we're on the ground return state; diff --git a/src/main/java/baritone/pathing/path/PathExecutor.java b/src/main/java/baritone/pathing/path/PathExecutor.java index 5c89da116..d760f3a38 100644 --- a/src/main/java/baritone/pathing/path/PathExecutor.java +++ b/src/main/java/baritone/pathing/path/PathExecutor.java @@ -272,7 +272,7 @@ public class PathExecutor implements IPathExecutor, Helper { if (!current.isPresent()) { return false; } - if (!ctx.player().isOnGround()) { + if (!ctx.player().onGround()) { return false; } if (!MovementHelper.canWalkOn(ctx, ctx.playerFeet().below())) { @@ -321,7 +321,7 @@ public class PathExecutor implements IPathExecutor, Helper { * @return Whether or not it was possible to snap to the current player feet */ public boolean snipsnapifpossible() { - if (!ctx.player().isOnGround() && ctx.world().getFluidState(ctx.playerFeet()).isEmpty()) { + if (!ctx.player().onGround() && ctx.world().getFluidState(ctx.playerFeet()).isEmpty()) { // if we're falling in the air, and not in water, don't splice return false; } else { diff --git a/src/main/java/baritone/process/BuilderProcess.java b/src/main/java/baritone/process/BuilderProcess.java index 01eac45c1..62c9a3da0 100644 --- a/src/main/java/baritone/process/BuilderProcess.java +++ b/src/main/java/baritone/process/BuilderProcess.java @@ -525,7 +525,7 @@ public final class BuilderProcess extends BaritoneProcessHelper implements IBuil } Optional> toBreak = toBreakNearPlayer(bcc); - if (toBreak.isPresent() && isSafeToCancel && ctx.player().isOnGround()) { + if (toBreak.isPresent() && isSafeToCancel && ctx.player().onGround()) { // we'd like to pause to break this block // only change look direction if it's safe (don't want to fuck up an in progress parkour for example Rotation rot = toBreak.get().getB(); @@ -545,7 +545,7 @@ public final class BuilderProcess extends BaritoneProcessHelper implements IBuil } List desirableOnHotbar = new ArrayList<>(); Optional toPlace = searchForPlacables(bcc, desirableOnHotbar); - if (toPlace.isPresent() && isSafeToCancel && ctx.player().isOnGround() && ticks <= 0) { + if (toPlace.isPresent() && isSafeToCancel && ctx.player().onGround() && ticks <= 0) { Rotation rot = toPlace.get().rot; baritone.getLookBehavior().updateTarget(rot, true); ctx.player().getInventory().selected = toPlace.get().hotbarSelection; diff --git a/src/main/java/baritone/process/FarmProcess.java b/src/main/java/baritone/process/FarmProcess.java index 512951753..b9308591c 100644 --- a/src/main/java/baritone/process/FarmProcess.java +++ b/src/main/java/baritone/process/FarmProcess.java @@ -303,7 +303,7 @@ public final class FarmProcess extends BaritoneProcessHelper implements IFarmPro } } for (Entity entity : ctx.entities()) { - if (entity instanceof ItemEntity && entity.isOnGround()) { + if (entity instanceof ItemEntity && entity.onGround()) { ItemEntity ei = (ItemEntity) entity; if (PICKUP_DROPPED.contains(ei.getItem().getItem())) { // +0.1 because of farmland's 0.9375 dummy height lol diff --git a/src/main/java/baritone/process/MineProcess.java b/src/main/java/baritone/process/MineProcess.java index c7bbec752..3e5423b70 100644 --- a/src/main/java/baritone/process/MineProcess.java +++ b/src/main/java/baritone/process/MineProcess.java @@ -123,7 +123,7 @@ public final class MineProcess extends BaritoneProcessHelper implements IMinePro .filter(pos -> !(BlockStateInterface.get(ctx, pos).getBlock() instanceof AirBlock)) // after breaking a block, it takes mineGoalUpdateInterval ticks for it to actually update this list =( .min(Comparator.comparingDouble(ctx.playerFeet()::distSqr)); baritone.getInputOverrideHandler().clearAllKeys(); - if (shaft.isPresent() && ctx.player().isOnGround()) { + if (shaft.isPresent() && ctx.player().onGround()) { BlockPos pos = shaft.get(); BlockState state = baritone.bsi.get0(pos); if (!MovementHelper.avoidBreaking(baritone.bsi, pos.getX(), pos.getY(), pos.getZ(), state)) { diff --git a/src/main/java/baritone/utils/GuiClick.java b/src/main/java/baritone/utils/GuiClick.java index 5c7832b71..6b3f8f520 100644 --- a/src/main/java/baritone/utils/GuiClick.java +++ b/src/main/java/baritone/utils/GuiClick.java @@ -25,6 +25,7 @@ import baritone.api.utils.Helper; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import net.minecraft.ChatFormatting; +import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.GameRenderer; @@ -64,7 +65,7 @@ public class GuiClick extends Screen implements Helper { } @Override - public void render(PoseStack stack, int mouseX, int mouseY, float partialTicks) { + public void render(GuiGraphics stack, int mouseX, int mouseY, float partialTicks) { double mx = mc.mouseHandler.xpos(); double my = mc.mouseHandler.ypos(); @@ -78,7 +79,7 @@ public class GuiClick extends Screen implements Helper { /// Vec3 viewerPos = new Vec3(PathRenderer.posX(), PathRenderer.posY(), PathRenderer.posZ()); LocalPlayer player = BaritoneAPI.getProvider().getPrimaryBaritone().getPlayerContext().player(); - HitResult result = player.level.clip(new ClipContext(near.add(viewerPos), far.add(viewerPos), ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player)); + HitResult result = player.level().clip(new ClipContext(near.add(viewerPos), far.add(viewerPos), ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player)); if (result != null && result.getType() == HitResult.Type.BLOCK) { currentMouseOver = ((BlockHitResult) result).getBlockPos(); System.out.println("currentMouseOver = " + currentMouseOver); diff --git a/src/main/java/baritone/utils/PathRenderer.java b/src/main/java/baritone/utils/PathRenderer.java index f18db52b2..438b1d092 100644 --- a/src/main/java/baritone/utils/PathRenderer.java +++ b/src/main/java/baritone/utils/PathRenderer.java @@ -88,7 +88,7 @@ public final class PathRenderer implements IRenderer, Helper { Entity renderView = Helper.mc.getCameraEntity(); - if (renderView.level != BaritoneAPI.getProvider().getPrimaryBaritone().getPlayerContext().world()) { + if (renderView.level() != BaritoneAPI.getProvider().getPrimaryBaritone().getPlayerContext().world()) { System.out.println("I have no idea what's going on"); System.out.println("The primary baritone is in a different world than the render view entity"); System.out.println("Not rendering the path"); @@ -209,7 +209,7 @@ public final class PathRenderer implements IRenderer, Helper { positions.forEach(pos -> { BlockState state = bsi.get0(pos); - VoxelShape shape = state.getShape(player.level, pos); + VoxelShape shape = state.getShape(player.level(), pos); AABB toDraw = shape.isEmpty() ? Shapes.block().bounds() : shape.bounds(); toDraw = toDraw.move(pos); IRenderer.drawAABB(stack, toDraw, .002D); @@ -272,7 +272,7 @@ public final class PathRenderer implements IRenderer, Helper { TEXTURE_BEACON_BEAM, settings.renderGoalAnimated.value ? partialTicks : 0, 1.0F, - settings.renderGoalAnimated.value ? player.level.getGameTime() : 0, + settings.renderGoalAnimated.value ? player.level().getGameTime() : 0, 0, 256, color.getColorComponents(null),