diff --git a/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java b/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java index 1aaf3578f..b85717201 100644 --- a/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java +++ b/buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java @@ -83,7 +83,7 @@ class BaritoneGradleTask extends DefaultTask { protected void verifyArtifacts() throws IllegalStateException { if (!Files.exists(this.artifactPath)) { - throw new IllegalStateException("Artifact not found! Run build first!"); + throw new IllegalStateException("Artifact not found! Run build first! Missing file: " + this.artifactPath); } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e750102e0..84d1f85fd 100755 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle index 0e6cdeb43..8917ae757 100755 --- a/settings.gradle +++ b/settings.gradle @@ -37,4 +37,6 @@ pluginManagement { } mavenCentral() } -} \ No newline at end of file +} + +rootProject.name = 'baritone' diff --git a/src/api/java/baritone/api/pathing/movement/ActionCosts.java b/src/api/java/baritone/api/pathing/movement/ActionCosts.java index 683b1b10e..691d73b4d 100644 --- a/src/api/java/baritone/api/pathing/movement/ActionCosts.java +++ b/src/api/java/baritone/api/pathing/movement/ActionCosts.java @@ -65,8 +65,8 @@ public interface ActionCosts { static double[] generateFallNBlocksCost() { - double[] costs = new double[257]; - for (int i = 0; i < 257; i++) { + double[] costs = new double[4097]; + for (int i = 0; i < 4097; i++) { costs[i] = distanceToTicks(i); } return costs; diff --git a/src/launch/java/baritone/launch/mixins/MixinClientPlayNetHandler.java b/src/launch/java/baritone/launch/mixins/MixinClientPlayNetHandler.java index 297aabeef..df3fbf09f 100644 --- a/src/launch/java/baritone/launch/mixins/MixinClientPlayNetHandler.java +++ b/src/launch/java/baritone/launch/mixins/MixinClientPlayNetHandler.java @@ -175,7 +175,7 @@ public class MixinClientPlayNetHandler { method = "handlePlayerCombatKill", at = @At( value = "INVOKE", - target = "Lnet/minecraft/client/Minecraft;setScreen(Lnet/minecraft/client/gui/screens/Screen;)V" + target = "Lnet/minecraft/client/player/LocalPlayer;shouldShowDeathScreen()Z" ) ) private void onPlayerDeath(ClientboundPlayerCombatKillPacket packetIn, CallbackInfo ci) { diff --git a/src/main/java/baritone/pathing/movement/MovementHelper.java b/src/main/java/baritone/pathing/movement/MovementHelper.java index c5119bec6..8ef34a9a2 100644 --- a/src/main/java/baritone/pathing/movement/MovementHelper.java +++ b/src/main/java/baritone/pathing/movement/MovementHelper.java @@ -99,12 +99,15 @@ public interface MovementHelper extends ActionCosts, Helper { if (block instanceof AirBlock) { // early return for most common case return true; } - if (block instanceof BaseFireBlock || block == Blocks.TRIPWIRE || block == Blocks.COBWEB || block == Blocks.END_PORTAL || block == Blocks.COCOA || block instanceof AbstractSkullBlock || block == Blocks.BUBBLE_COLUMN || block instanceof ShulkerBoxBlock || block instanceof SlabBlock || block instanceof TrapDoorBlock || block == Blocks.HONEY_BLOCK || block == Blocks.END_ROD || block == Blocks.POINTED_DRIPSTONE || block == Blocks.AMETHYST_CLUSTER || block instanceof AzaleaBlock) { + if (block instanceof BaseFireBlock || block == Blocks.TRIPWIRE || block == Blocks.COBWEB || block == Blocks.END_PORTAL || block == Blocks.COCOA || block instanceof AbstractSkullBlock || block == Blocks.BUBBLE_COLUMN || block instanceof ShulkerBoxBlock || block instanceof SlabBlock || block instanceof TrapDoorBlock || block == Blocks.HONEY_BLOCK || block == Blocks.END_ROD || block == Blocks.SWEET_BERRY_BUSH || block == Blocks.POINTED_DRIPSTONE || block instanceof AmethystClusterBlock || block instanceof AzaleaBlock) { return false; } if (block == Blocks.BIG_DRIPLEAF) { return false; } + if (block == Blocks.POWDER_SNOW) { + return false; + } if (Baritone.settings().blocksToAvoid.value.contains(block)) { return false; } @@ -288,6 +291,7 @@ public interface MovementHelper extends ActionCosts, Helper { return !state.getFluidState().isEmpty() || block == Blocks.MAGMA_BLOCK || block == Blocks.CACTUS + || block == Blocks.SWEET_BERRY_BUSH || block instanceof BaseFireBlock || block == Blocks.END_PORTAL || block == Blocks.COBWEB diff --git a/src/main/java/baritone/process/BuilderProcess.java b/src/main/java/baritone/process/BuilderProcess.java index 6453d58f4..ab3934dde 100644 --- a/src/main/java/baritone/process/BuilderProcess.java +++ b/src/main/java/baritone/process/BuilderProcess.java @@ -847,7 +847,18 @@ public final class BuilderProcess extends BaritoneProcessHelper implements IBuil continue; } // - result.add(((BlockItem) stack.getItem()).getBlock().getStateForPlacement(new BlockPlaceContext(new UseOnContext(ctx.world(), ctx.player(), InteractionHand.MAIN_HAND, stack, new BlockHitResult(new Vec3(ctx.player().position().x, ctx.player().position().y, ctx.player().position().z), Direction.UP, ctx.playerFeet(), false)) {}))); + BlockState itemState = ((BlockItem) stack.getItem()) + .getBlock() + .getStateForPlacement( + new BlockPlaceContext( + new UseOnContext(ctx.world(), ctx.player(), InteractionHand.MAIN_HAND, stack, new BlockHitResult(new Vec3(ctx.player().position().x, ctx.player().position().y, ctx.player().position().z), Direction.UP, ctx.playerFeet(), false)) {} + ) + ); + if (itemState != null) { + result.add(itemState); + } else { + result.add(Blocks.AIR.defaultBlockState()); + } // } return result; diff --git a/src/main/java/baritone/utils/BlockStateInterface.java b/src/main/java/baritone/utils/BlockStateInterface.java index 7ea347d6d..4ed589e96 100644 --- a/src/main/java/baritone/utils/BlockStateInterface.java +++ b/src/main/java/baritone/utils/BlockStateInterface.java @@ -43,7 +43,7 @@ public class BlockStateInterface { private final ClientChunkCache provider; private final WorldData worldData; - protected final BlockGetter world; + protected final Level world; public final BlockPos.MutableBlockPos isPassableBlockPos; public final BlockGetter access; @@ -97,9 +97,9 @@ public class BlockStateInterface { } public BlockState get0(int x, int y, int z) { // Mickey resigned - y -= worldData.dimension.minY(); + y -= world.dimensionType().minY(); // Invalid vertical position - if (y < 0 || y >= worldData.dimension.height()) { + if (y < 0 || y >= world.dimensionType().height()) { return AIR; } diff --git a/src/test/java/baritone/pathing/movement/ActionCostsTest.java b/src/test/java/baritone/pathing/movement/ActionCostsTest.java index 9bfdafb0d..a6d7e3e72 100644 --- a/src/test/java/baritone/pathing/movement/ActionCostsTest.java +++ b/src/test/java/baritone/pathing/movement/ActionCostsTest.java @@ -26,10 +26,10 @@ public class ActionCostsTest { @Test public void testFallNBlocksCost() { - assertEquals(FALL_N_BLOCKS_COST.length, 257); // Fall 0 blocks through fall 256 blocks - for (int i = 0; i < 257; i++) { + assertEquals(FALL_N_BLOCKS_COST.length, 4097); // Fall 0 blocks through fall 4096 blocks + for (int i = 0; i < 4097; i++) { double blocks = ticksToBlocks(FALL_N_BLOCKS_COST[i]); - assertEquals(blocks, i, 0.000000000001); // If you add another 0 the test fails at i=217 LOL + assertEquals(blocks, i, 0.00000000001); // If you add another 0 the test fails at i=989 LOL } assertEquals(FALL_1_25_BLOCKS_COST, 6.2344, 0.00001); assertEquals(FALL_0_25_BLOCKS_COST, 3.0710, 0.00001);