From 69c745226aeeff9c7768460504074936b62ef048 Mon Sep 17 00:00:00 2001 From: rfresh2 <89827146+rfresh2@users.noreply.github.com> Date: Tue, 30 Sep 2025 21:24:42 -0700 Subject: [PATCH] 1.21.9 fabric + neo --- fabric/src/main/resources/fabric.mod.json | 2 +- forge/src/main/resources/META-INF/mods.toml | 2 +- gradle.properties | 8 +++---- .../resources/META-INF/neoforge.mods.toml | 2 +- .../baritone/api/utils/BlockOptionalMeta.java | 5 ++-- .../launch/mixins/MixinLivingEntity.java | 2 +- .../launch/mixins/MixinMinecraft.java | 5 ++-- .../launch/mixins/MixinWorldRenderer.java | 2 +- .../baritone/cache/FasterWorldScanner.java | 11 ++------- .../elytra/NetherPathfinderContext.java | 3 ++- .../baritone/utils/BaritoneRenderType.java | 8 ++++++- src/main/java/baritone/utils/GuiClick.java | 13 +++++----- .../java/baritone/utils/PathRenderer.java | 24 +------------------ 13 files changed, 32 insertions(+), 55 deletions(-) diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index abebc77b1..86de2ab3e 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -25,7 +25,7 @@ ], "depends": { "fabricloader": ">=0.14.22", - "minecraft": ["1.21.6", "1.21.7", "1.21.8"] + "minecraft": ["1.21.9"] }, "custom": { "modmenu": { diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml index f5e822b4f..1772f8fef 100644 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/forge/src/main/resources/META-INF/mods.toml @@ -35,6 +35,6 @@ A Minecraft pathfinder bot. modId="minecraft" mandatory=true # This version range declares a minimum of the current minecraft version up to but not including the next major version -versionRange="[1.21.6, 1.21.8]" +versionRange="[1.21.9]" ordering="NONE" side="BOTH" diff --git a/gradle.properties b/gradle.properties index 0a1999772..74ab8b103 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,20 +1,20 @@ org.gradle.jvmargs=-Xmx4G -available_loaders=fabric,neoforge,forge,tweaker +available_loaders=fabric,neoforge,tweaker -mod_version=1.15.0 +mod_version=1.16.0 maven_group=baritone archives_base_name=baritone java_version=21 -minecraft_version=1.21.8 +minecraft_version=1.21.9 forge_version=58.0.0 neoforge_version=2-beta -fabric_version=0.16.14 +fabric_version=0.17.2 nether_pathfinder_version=1.4.1 diff --git a/neoforge/src/main/resources/META-INF/neoforge.mods.toml b/neoforge/src/main/resources/META-INF/neoforge.mods.toml index ba78c05af..4f2cca7d5 100644 --- a/neoforge/src/main/resources/META-INF/neoforge.mods.toml +++ b/neoforge/src/main/resources/META-INF/neoforge.mods.toml @@ -35,6 +35,6 @@ A Minecraft pathfinder bot. modId="minecraft" type="required" # This version range declares a minimum of the current minecraft version up to but not including the next major version -versionRange="[1.21.6, 1.21.8]" +versionRange="[1.21.9]" ordering="NONE" side="BOTH" diff --git a/src/api/java/baritone/api/utils/BlockOptionalMeta.java b/src/api/java/baritone/api/utils/BlockOptionalMeta.java index 17df9a3b2..c73e2e8e2 100644 --- a/src/api/java/baritone/api/utils/BlockOptionalMeta.java +++ b/src/api/java/baritone/api/utils/BlockOptionalMeta.java @@ -32,7 +32,6 @@ import net.minecraft.server.RegistryLayer; import net.minecraft.server.ReloadableServerRegistries; import net.minecraft.server.level.ServerLevel; -import net.minecraft.server.level.progress.ChunkProgressListener; import net.minecraft.server.packs.PackType; import net.minecraft.server.packs.VanillaPackResources; import net.minecraft.server.packs.repository.ServerPacksSource; @@ -262,8 +261,8 @@ public static class ServerLevelStub extends ServerLevel { private static Unsafe unsafe = getUnsafe(); private static CompletableFuture registryAccess = load(); - public ServerLevelStub(MinecraftServer $$0, Executor $$1, LevelStorageSource.LevelStorageAccess $$2, ServerLevelData $$3, ResourceKey $$4, LevelStem $$5, ChunkProgressListener $$6, boolean $$7, long $$8, List $$9, boolean $$10, @Nullable RandomSequences $$11) { - super($$0, $$1, $$2, $$3, $$4, $$5, $$6, $$7, $$8, $$9, $$10, $$11); + public ServerLevelStub(MinecraftServer $$0, Executor $$1, LevelStorageSource.LevelStorageAccess $$2, ServerLevelData $$3, ResourceKey $$4, LevelStem $$5, boolean $$6, long $$7, List $$8, boolean $$9, @Nullable RandomSequences $$10) { + super($$0, $$1, $$2, $$3, $$4, $$5, $$6, $$7, $$8, $$9, $$10); } @Override diff --git a/src/launch/java/baritone/launch/mixins/MixinLivingEntity.java b/src/launch/java/baritone/launch/mixins/MixinLivingEntity.java index 6a4ee0e31..da2ae659c 100644 --- a/src/launch/java/baritone/launch/mixins/MixinLivingEntity.java +++ b/src/launch/java/baritone/launch/mixins/MixinLivingEntity.java @@ -101,7 +101,7 @@ private void onPreElytraMove(Vec3 direction, final CallbackInfoReturnable method = "travelFallFlying", at = @At( value = "INVOKE", - target = "net/minecraft/world/entity/LivingEntity.move(Lnet/minecraft/world/entity/MoverType;Lnet/minecraft/world/phys/Vec3;)V", + target = "Lnet/minecraft/world/entity/LivingEntity;move(Lnet/minecraft/world/entity/MoverType;Lnet/minecraft/world/phys/Vec3;)V", shift = At.Shift.AFTER ) ) diff --git a/src/launch/java/baritone/launch/mixins/MixinMinecraft.java b/src/launch/java/baritone/launch/mixins/MixinMinecraft.java index de78501ef..7a1c16c52 100644 --- a/src/launch/java/baritone/launch/mixins/MixinMinecraft.java +++ b/src/launch/java/baritone/launch/mixins/MixinMinecraft.java @@ -24,7 +24,6 @@ import baritone.api.event.events.WorldEvent; import baritone.api.event.events.type.EventState; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.screens.ReceivingLevelScreen; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.player.LocalPlayer; @@ -131,7 +130,7 @@ private void postUpdateEntities(CallbackInfo ci) { method = "setLevel", at = @At("HEAD") ) - private void preLoadWorld(ClientLevel world, ReceivingLevelScreen.Reason arg2, CallbackInfo ci) { + private void preLoadWorld(final ClientLevel world, final CallbackInfo ci) { // If we're unloading the world but one doesn't exist, ignore it if (this.level == null && world == null) { return; @@ -151,7 +150,7 @@ private void preLoadWorld(ClientLevel world, ReceivingLevelScreen.Reason arg2, C method = "setLevel", at = @At("RETURN") ) - private void postLoadWorld(ClientLevel world, ReceivingLevelScreen.Reason arg2, CallbackInfo ci) { + private void postLoadWorld(final ClientLevel world, final CallbackInfo ci) { // still fire event for both null, as that means we've just finished exiting a world // mc.world changing is only the primary baritone diff --git a/src/launch/java/baritone/launch/mixins/MixinWorldRenderer.java b/src/launch/java/baritone/launch/mixins/MixinWorldRenderer.java index 33928aa4c..ff8eddf3f 100644 --- a/src/launch/java/baritone/launch/mixins/MixinWorldRenderer.java +++ b/src/launch/java/baritone/launch/mixins/MixinWorldRenderer.java @@ -44,7 +44,7 @@ public class MixinWorldRenderer { method = "renderLevel", at = @At("RETURN") ) - private void onStartHand(final GraphicsResourceAllocator graphicsResourceAllocator, final DeltaTracker deltaTracker, final boolean bl, final Camera camera, final Matrix4f matrix4f, final Matrix4f matrix4f2, final GpuBufferSlice gpuBufferSlice, final Vector4f vector4f, final boolean bl2, final CallbackInfo ci) { + private void onStartHand(final GraphicsResourceAllocator graphicsResourceAllocator, final DeltaTracker deltaTracker, final boolean bl, final Camera camera, final Matrix4f matrix4f, final Matrix4f matrix4f2, final Matrix4f matrix4f3, final GpuBufferSlice gpuBufferSlice, final Vector4f vector4f, final boolean bl2, final CallbackInfo ci) { for (IBaritone ibaritone : BaritoneAPI.getProvider().getAllBaritones()) { PoseStack poseStack = new PoseStack(); poseStack.mulPose(matrix4f); diff --git a/src/main/java/baritone/cache/FasterWorldScanner.java b/src/main/java/baritone/cache/FasterWorldScanner.java index 4d6e4fc2c..c5e6a139a 100644 --- a/src/main/java/baritone/cache/FasterWorldScanner.java +++ b/src/main/java/baritone/cache/FasterWorldScanner.java @@ -26,19 +26,12 @@ import baritone.utils.accessor.IPalettedContainer; import io.netty.buffer.Unpooled; import net.minecraft.core.BlockPos; -import net.minecraft.core.IdMapper; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.util.BitStorage; import net.minecraft.world.level.ChunkPos; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.chunk.GlobalPalette; -import net.minecraft.world.level.chunk.ChunkSource; -import net.minecraft.world.level.chunk.LevelChunk; -import net.minecraft.world.level.chunk.LevelChunkSection; -import net.minecraft.world.level.chunk.Palette; -import net.minecraft.world.level.chunk.PalettedContainer; -import net.minecraft.world.level.chunk.SingleValuePalette; +import net.minecraft.world.level.chunk.*; import java.util.ArrayList; import java.util.List; @@ -289,7 +282,7 @@ private static BlockState[] getPalette(Palette palette) { return PALETTE_REGISTRY_SENTINEL; } else { FriendlyByteBuf buf = new FriendlyByteBuf(Unpooled.buffer()); - palette.write(buf); + palette.write(buf, Block.BLOCK_STATE_REGISTRY); int size = buf.readVarInt(); BlockState[] states = new BlockState[size]; for (int i = 0; i < size; i++) { diff --git a/src/main/java/baritone/process/elytra/NetherPathfinderContext.java b/src/main/java/baritone/process/elytra/NetherPathfinderContext.java index aa9f4965a..56c8fec38 100644 --- a/src/main/java/baritone/process/elytra/NetherPathfinderContext.java +++ b/src/main/java/baritone/process/elytra/NetherPathfinderContext.java @@ -30,6 +30,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.chunk.LevelChunk; import net.minecraft.world.level.chunk.LevelChunkSection; +import net.minecraft.world.level.chunk.PaletteResize; import net.minecraft.world.level.chunk.PalettedContainer; import net.minecraft.world.phys.Vec3; @@ -195,7 +196,7 @@ private static void writeChunkData(LevelChunk chunk, long ptr) { continue; } final PalettedContainer bsc = extendedblockstorage.getStates(); - final int airId = ((IPalettedContainer) bsc).getPalette().idFor(AIR_BLOCK_STATE); + final int airId = ((IPalettedContainer) bsc).getPalette().idFor(AIR_BLOCK_STATE, PaletteResize.noResizeExpected()); // pasted from FasterWorldScanner final BitStorage array = ((IPalettedContainer) bsc).getStorage(); if (array == null) continue; diff --git a/src/main/java/baritone/utils/BaritoneRenderType.java b/src/main/java/baritone/utils/BaritoneRenderType.java index 68424ddc3..ca57eb3e1 100644 --- a/src/main/java/baritone/utils/BaritoneRenderType.java +++ b/src/main/java/baritone/utils/BaritoneRenderType.java @@ -29,6 +29,7 @@ import com.mojang.blaze3d.vertex.VertexFormat; import net.minecraft.client.renderer.RenderStateShard; import net.minecraft.client.renderer.RenderType; +import org.joml.Vector3f; import org.joml.Vector4f; import java.util.OptionalDouble; @@ -56,6 +57,11 @@ public VertexFormat.Mode mode() { return this.renderPipeline.getVertexFormatMode(); } + @Override + public RenderPipeline pipeline() { + return this.renderPipeline; + } + @Override public void draw(final MeshData meshData) { this.setupRenderState(); @@ -84,7 +90,7 @@ public void draw(final MeshData meshData) { .writeTransform( RenderSystem.getModelViewMatrix(), new Vector4f(1.0F, 1.0F, 1.0F, 1.0F), - RenderSystem.getModelOffset(), + new Vector3f(), RenderSystem.getTextureMatrix(), RenderSystem.getShaderLineWidth() ); diff --git a/src/main/java/baritone/utils/GuiClick.java b/src/main/java/baritone/utils/GuiClick.java index 88b937ab4..55746c0af 100644 --- a/src/main/java/baritone/utils/GuiClick.java +++ b/src/main/java/baritone/utils/GuiClick.java @@ -27,6 +27,7 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screens.Screen; +import net.minecraft.client.input.MouseButtonEvent; import net.minecraft.client.player.LocalPlayer; import net.minecraft.core.BlockPos; import net.minecraft.network.chat.ClickEvent; @@ -84,9 +85,9 @@ public void render(GuiGraphics stack, int mouseX, int mouseY, float partialTicks } @Override - public boolean mouseReleased(double mouseX, double mouseY, int mouseButton) { + public boolean mouseReleased(MouseButtonEvent event) { if (currentMouseOver != null) { //Catch this, or else a click into void will result in a crash - if (mouseButton == 0) { + if (event.button() == 0) { if (clickStart != null && !clickStart.equals(currentMouseOver)) { BaritoneAPI.getProvider().getPrimaryBaritone().getSelectionManager().removeAllSelections(); BaritoneAPI.getProvider().getPrimaryBaritone().getSelectionManager().addSelection(BetterBlockPos.from(clickStart), BetterBlockPos.from(currentMouseOver)); @@ -101,18 +102,18 @@ public boolean mouseReleased(double mouseX, double mouseY, int mouseButton) { } else { BaritoneAPI.getProvider().getPrimaryBaritone().getCustomGoalProcess().setGoalAndPath(new GoalBlock(currentMouseOver)); } - } else if (mouseButton == 1) { + } else if (event.button() == 1) { BaritoneAPI.getProvider().getPrimaryBaritone().getCustomGoalProcess().setGoalAndPath(new GoalBlock(currentMouseOver.above())); } } clickStart = null; - return super.mouseReleased(mouseX, mouseY, mouseButton); + return super.mouseReleased(event); } @Override - public boolean mouseClicked(double mouseX, double mouseY, int mouseButton) { + public boolean mouseClicked(MouseButtonEvent event, boolean doubleClick) { clickStart = currentMouseOver; - return super.mouseClicked(mouseX, mouseY, mouseButton); + return super.mouseClicked(event, doubleClick); } public void onRender(PoseStack modelViewStack, Matrix4f projectionMatrix) { diff --git a/src/main/java/baritone/utils/PathRenderer.java b/src/main/java/baritone/utils/PathRenderer.java index b6f466ae8..58e7019d0 100644 --- a/src/main/java/baritone/utils/PathRenderer.java +++ b/src/main/java/baritone/utils/PathRenderer.java @@ -27,7 +27,6 @@ import baritone.pathing.path.PathExecutor; import com.mojang.blaze3d.vertex.BufferBuilder; import com.mojang.blaze3d.vertex.PoseStack; -import net.minecraft.client.renderer.blockentity.BeaconRenderer; import net.minecraft.core.BlockPos; import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; @@ -267,28 +266,7 @@ private static void drawGoal(@Nullable BufferBuilder bufferBuilder, PoseStack st // inject hook into LevelRenderer#renderBlockEntities where the matrices have already been set up correctly // copy out and modify the vanilla beacon render code // also another issue on 1.21.5 is we don't have a simple method call for editing the beacon's depth test - - stack.pushPose(); // push - stack.translate(goalPos.getX() - renderPosX, -renderPosY, goalPos.getZ() - renderPosZ); // translate - - BeaconRenderer.renderBeaconBeam( - stack, - ctx.minecraft().renderBuffers().bufferSource(), - BeaconRenderer.BEAM_LOCATION, - settings.renderGoalAnimated.value ? partialTicks : 0, - 1.0F, - settings.renderGoalAnimated.value ? ctx.world().getGameTime() : 0, - (int) minY, - (int) maxY, - color.getRGB(), - - // Arguments filled by the private method lol - 0.2F, - 0.25F - ); - - stack.popPose(); // pop - return; +// return; } minX = goalPos.getX() + 0.002 - renderPosX;