axiom compat

fix crash with ChunkRenderOverrider
This commit is contained in:
techno-sam
2025-09-03 00:46:07 +02:00
parent 8e620d8663
commit 11fbc3cd05
8 changed files with 58 additions and 3 deletions
@@ -6,7 +6,8 @@ import java.util.Optional;
import java.util.function.Supplier;
public enum Mods {
SODIUM("sodium");
SODIUM("sodium"),
AXIOM("axiom");
public final String id;
public final boolean isLoaded;
@@ -0,0 +1,22 @@
package io.github.slimeistdev.crystalline_sky.mixin.client.compat.axiom;
import com.moulberry.axiom.render.ChunkRenderOverrider;
import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin;
import io.github.slimeistdev.crystalline_sky.compat.Mods;
import io.github.slimeistdev.crystalline_sky.extenders_cove.BlockRenderLayerExt;
import net.minecraft.client.render.BlockRenderLayer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@ConditionalMixin(mods = Mods.AXIOM)
@Mixin(ChunkRenderOverrider.AxiomChunkOverrideLayer.class)
public class ChunkRenderOverrider_AxiomChunkOverrideLayerMixin {
@Inject(method = "fromVanilla", at = @At(value = "NEW", target = "()Ljava/lang/IncompatibleClassChangeError;"), cancellable = true)
private static void unexplodeSky(BlockRenderLayer layer, CallbackInfoReturnable<ChunkRenderOverrider.AxiomChunkOverrideLayer> cir) {
if (layer == BlockRenderLayerExt.CRYSTALLINE_SKY_SKY) {
cir.setReturnValue(ChunkRenderOverrider.AxiomChunkOverrideLayer.CUTOUT_MIPPED);
}
}
}
@@ -23,6 +23,7 @@
"client.WorldRenderer_NoSodium_Mixin",
"client.WorldRendererAccessor",
"client.WorldRendererMixin",
"client.compat.axiom.ChunkRenderOverrider_AxiomChunkOverrideLayerMixin",
"client.compat.sodium.DefaultMaterialsMixin",
"client.compat.sodium.DefaultTerrainRenderPassesMixin",
"client.compat.sodium.ShaderChunkRendererMixin",