From 32ac7022834d6a0854bc719f2048f289cdf76eb0 Mon Sep 17 00:00:00 2001 From: mofetaxd Date: Sun, 5 Apr 2026 16:45:20 -0300 Subject: [PATCH 1/4] fix xray only shows exposed ores --- .../SodiumBlockOcclusionCacheMixin.java | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/mixin/sodium/SodiumBlockOcclusionCacheMixin.java b/src/main/java/meteordevelopment/meteorclient/mixin/sodium/SodiumBlockOcclusionCacheMixin.java index 7151983142..66702bbaa4 100644 --- a/src/main/java/meteordevelopment/meteorclient/mixin/sodium/SodiumBlockOcclusionCacheMixin.java +++ b/src/main/java/meteordevelopment/meteorclient/mixin/sodium/SodiumBlockOcclusionCacheMixin.java @@ -8,43 +8,40 @@ import com.llamalad7.mixinextras.injector.ModifyReturnValue; import meteordevelopment.meteorclient.systems.modules.Modules; import meteordevelopment.meteorclient.systems.modules.render.Xray; -import net.caffeinemc.mods.sodium.client.render.chunk.compile.pipeline.BlockOcclusionCache; -import net.minecraft.block.BlockState; -import net.minecraft.util.math.BlockPos; +import net.caffeinemc.mods.sodium.client.render.model.AbstractBlockRenderContext; import net.minecraft.util.math.Direction; -import net.minecraft.world.BlockView; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; -@Mixin(value = BlockOcclusionCache.class, remap = false) +@Mixin(value = AbstractBlockRenderContext.class, remap = false) public abstract class SodiumBlockOcclusionCacheMixin { - @Unique - private Xray xray; + + @Shadow protected net.minecraft.block.BlockState state; + @Shadow protected net.minecraft.util.math.BlockPos pos; + @Shadow protected net.caffeinemc.mods.sodium.client.world.LevelSlice slice; + + @Unique private Xray xray; @Inject(method = "", at = @At("TAIL")) private void onInit(CallbackInfo info) { xray = Modules.get().get(Xray.class); } - // For More Culling compatibility - runs before More Culling's inject to force-render whitelisted Xray blocks @Inject(method = "shouldDrawSide", at = @At("HEAD"), cancellable = true) - private void meteor$forceXrayFace(BlockState state, BlockView view, BlockPos pos, Direction facing, - CallbackInfoReturnable cir) { + private void meteor$forceXrayFace(Direction facing, CallbackInfoReturnable cir) { if (xray != null && xray.isActive() && !xray.isBlocked(state.getBlock(), null)) { cir.setReturnValue(true); } } @ModifyReturnValue(method = "shouldDrawSide", at = @At("RETURN")) - private boolean shouldDrawSide(boolean original, BlockState state, BlockView view, BlockPos pos, Direction facing) { - if (xray.isActive()) { - return xray.modifyDrawSide(state, view, pos, facing, original); - } - - return original; + private boolean shouldDrawSide(boolean original, Direction facing) { + if (!xray.isActive()) return original; + return xray.modifyDrawSide(state, slice, pos, facing, original); } } From d126b8d5c9de84806047943d8d44f0559efe2297 Mon Sep 17 00:00:00 2001 From: mofetaxd Date: Sun, 5 Apr 2026 17:52:39 -0300 Subject: [PATCH 2/4] shadow fixes --- .../mixin/sodium/SodiumBlockOcclusionCacheMixin.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/mixin/sodium/SodiumBlockOcclusionCacheMixin.java b/src/main/java/meteordevelopment/meteorclient/mixin/sodium/SodiumBlockOcclusionCacheMixin.java index 66702bbaa4..42f9a83e52 100644 --- a/src/main/java/meteordevelopment/meteorclient/mixin/sodium/SodiumBlockOcclusionCacheMixin.java +++ b/src/main/java/meteordevelopment/meteorclient/mixin/sodium/SodiumBlockOcclusionCacheMixin.java @@ -9,6 +9,9 @@ import meteordevelopment.meteorclient.systems.modules.Modules; import meteordevelopment.meteorclient.systems.modules.render.Xray; import net.caffeinemc.mods.sodium.client.render.model.AbstractBlockRenderContext; +import net.caffeinemc.mods.sodium.client.world.LevelSlice; +import net.minecraft.block.BlockState; +import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -21,9 +24,9 @@ @Mixin(value = AbstractBlockRenderContext.class, remap = false) public abstract class SodiumBlockOcclusionCacheMixin { - @Shadow protected net.minecraft.block.BlockState state; - @Shadow protected net.minecraft.util.math.BlockPos pos; - @Shadow protected net.caffeinemc.mods.sodium.client.world.LevelSlice slice; + @Shadow protected BlockState state; + @Shadow protected BlockPos pos; + @Shadow protected LevelSlice slice; @Unique private Xray xray; From 7b359cb8d092fe20a0bcff2d0c8efb34971d89da Mon Sep 17 00:00:00 2001 From: mofetaxd Date: Sun, 5 Apr 2026 17:55:42 -0300 Subject: [PATCH 3/4] break sodium version --- src/main/resources/fabric.mod.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 563042a990..5cbeb61d70 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -57,7 +57,7 @@ "optifabric": "*", "feather": "*", "origins": "*", - "sodium": "<0.7.0", + "sodium": "<0.8.7", "morechathistory": "*", "lithium": "<0.21.3" } From 859989d9a2efdfc7e95d50ea874bfb9c7701431e Mon Sep 17 00:00:00 2001 From: mofetaxd Date: Sun, 5 Apr 2026 17:56:59 -0300 Subject: [PATCH 4/4] sodium depend version --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 65a8135913..09a02047d7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,7 +13,7 @@ loom = "1.14-SNAPSHOT" # Baritone (https://github.com/MeteorDevelopment/baritone) baritone = "1.21.10-SNAPSHOT" # Sodium (https://github.com/CaffeineMC/sodium-fabric) -sodium = "mc1.21.11-0.8.0-fabric" +sodium = "mc1.21.11-0.8.7-fabric" # Lithium (https://github.com/CaffeineMC/lithium-fabric) lithium = "mc1.21.11-0.21.3-fabric" # Iris (https://github.com/IrisShaders/Iris)