mirror of
https://github.com/wisplite/crystalline-sky.git
synced 2026-10-30 13:32:18 -05:00
Skybox V
iris doesn't explode, at least
This commit is contained in:
@@ -18,6 +18,7 @@ dependencies {
|
|||||||
compileOnly(libs.jsr305)
|
compileOnly(libs.jsr305)
|
||||||
|
|
||||||
modCompileOnly(libs.sodium.fabric)
|
modCompileOnly(libs.sodium.fabric)
|
||||||
|
modCompileOnly(libs.iris.fabric)
|
||||||
|
|
||||||
compileOnly(annotationProcessor(libs.mixinextras.common.get())!!)!!
|
compileOnly(annotationProcessor(libs.mixinextras.common.get())!!)!!
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import java.util.function.Supplier;
|
|||||||
|
|
||||||
public enum Mods {
|
public enum Mods {
|
||||||
SODIUM("sodium"),
|
SODIUM("sodium"),
|
||||||
|
IRIS("iris"),
|
||||||
AXIOM("axiom");
|
AXIOM("axiom");
|
||||||
|
|
||||||
public final String id;
|
public final String id;
|
||||||
|
|||||||
+26
@@ -0,0 +1,26 @@
|
|||||||
|
package io.github.slimeistdev.crystalline_sky.mixin.client.compat.iris;
|
||||||
|
|
||||||
|
import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin;
|
||||||
|
import io.github.slimeistdev.crystalline_sky.compat.Mods;
|
||||||
|
import io.github.slimeistdev.crystalline_sky.mixin.client.compat.sodium.TerrainRenderPassAccessor;
|
||||||
|
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderTypes;
|
||||||
|
import net.caffeinemc.mods.sodium.client.render.chunk.terrain.TerrainRenderPass;
|
||||||
|
import net.irisshaders.iris.pipeline.programs.SodiumPrograms;
|
||||||
|
import net.irisshaders.iris.shadows.ShadowRenderingState;
|
||||||
|
import net.minecraft.client.renderer.RenderType;
|
||||||
|
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.IRIS)
|
||||||
|
@Mixin(SodiumPrograms.class)
|
||||||
|
public class SodiumProgramsMixin {
|
||||||
|
@Inject(method = "mapTerrainRenderPass", at = @At(value = "NEW", target = "(Ljava/lang/String;)Ljava/lang/IllegalArgumentException;"), cancellable = true)
|
||||||
|
private static void customRenderTypes(TerrainRenderPass pass, CallbackInfoReturnable<SodiumPrograms.Pass> cir) {
|
||||||
|
RenderType renderType = ((TerrainRenderPassAccessor) pass).crystalline_sky$getRenderLayer();
|
||||||
|
if (renderType == CrystallineRenderTypes.SKY || renderType == CrystallineRenderTypes.SKYBOX) {
|
||||||
|
cir.setReturnValue(ShadowRenderingState.areShadowsCurrentlyBeingRendered() ? SodiumPrograms.Pass.SHADOW : SodiumPrograms.Pass.TERRAIN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+21
@@ -0,0 +1,21 @@
|
|||||||
|
package io.github.slimeistdev.crystalline_sky.mixin.client.compat.iris;
|
||||||
|
|
||||||
|
import io.github.slimeistdev.crystalline_sky.annotation.mixin.ConditionalMixin;
|
||||||
|
import io.github.slimeistdev.crystalline_sky.compat.Mods;
|
||||||
|
import io.github.slimeistdev.crystalline_sky.registry.client.CrystallineRenderTypes;
|
||||||
|
import net.irisshaders.iris.pipeline.WorldRenderingPhase;
|
||||||
|
import net.minecraft.client.renderer.RenderType;
|
||||||
|
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.IRIS)
|
||||||
|
@Mixin(WorldRenderingPhase.class)
|
||||||
|
public class WorldRenderingPhaseMixin {
|
||||||
|
@Inject(method = "fromTerrainRenderType", at = @At(value = "NEW", target = "(Ljava/lang/String;)Ljava/lang/IllegalStateException;"), cancellable = true)
|
||||||
|
private static void customRenderTypes(RenderType renderType, CallbackInfoReturnable<WorldRenderingPhase> cir) {
|
||||||
|
if (renderType == CrystallineRenderTypes.SKY || renderType == CrystallineRenderTypes.SKYBOX)
|
||||||
|
cir.setReturnValue(WorldRenderingPhase.TERRAIN_SOLID);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -26,6 +26,8 @@
|
|||||||
"client.ModelBlockRendererMixin",
|
"client.ModelBlockRendererMixin",
|
||||||
"client.RenderTargetMixin",
|
"client.RenderTargetMixin",
|
||||||
"client.SimpleBakedModelMixin",
|
"client.SimpleBakedModelMixin",
|
||||||
|
"client.compat.iris.SodiumProgramsMixin",
|
||||||
|
"client.compat.iris.WorldRenderingPhaseMixin",
|
||||||
"client.compat.sodium.CompactChunkVertexMixin",
|
"client.compat.sodium.CompactChunkVertexMixin",
|
||||||
"client.compat.sodium.DefaultMaterialsMixin",
|
"client.compat.sodium.DefaultMaterialsMixin",
|
||||||
"client.compat.sodium.DefaultTerrainRenderPassesMixin",
|
"client.compat.sodium.DefaultTerrainRenderPassesMixin",
|
||||||
|
|||||||
@@ -32,6 +32,14 @@ dependencies {
|
|||||||
modLocalRuntime(libs.sodium.fabric)
|
modLocalRuntime(libs.sodium.fabric)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
modCompileOnly(libs.iris.fabric)
|
||||||
|
if (!inCI && "enable_iris"().toBoolean()) {
|
||||||
|
modLocalRuntime(libs.iris.fabric)
|
||||||
|
modLocalRuntime("org.antlr:antlr4-runtime:4.13.1")
|
||||||
|
modLocalRuntime("io.github.douira:glsl-transformer:2.0.1")
|
||||||
|
modLocalRuntime("org.anarres:jcpp:1.4.14")
|
||||||
|
}
|
||||||
|
|
||||||
modCompileOnly(libs.axiom)
|
modCompileOnly(libs.axiom)
|
||||||
if (!inCI && "enable_axiom"().toBoolean()) {
|
if (!inCI && "enable_axiom"().toBoolean()) {
|
||||||
modLocalRuntime(libs.axiom)
|
modLocalRuntime(libs.axiom)
|
||||||
|
|||||||
@@ -27,4 +27,5 @@ compatibleVersions=1.21.1
|
|||||||
|
|
||||||
# mod compat
|
# mod compat
|
||||||
enable_sodium=true
|
enable_sodium=true
|
||||||
|
enable_iris=true
|
||||||
enable_axiom=false
|
enable_axiom=false
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ mixinextras = "0.5.0"
|
|||||||
mm = "11.0.4"
|
mm = "11.0.4"
|
||||||
sodium-fabric = "mc1.21.1-0.6.13-fabric"
|
sodium-fabric = "mc1.21.1-0.6.13-fabric"
|
||||||
sodium-neoforge = "mc1.21.1-0.6.13-neoforge"
|
sodium-neoforge = "mc1.21.1-0.6.13-neoforge"
|
||||||
|
iris-fabric = "1.8.8+1.21.1-fabric"
|
||||||
|
iris-neoforge = "1.8.8+1.21.1-neoforge"
|
||||||
axiom = "jTdCyf2H"
|
axiom = "jTdCyf2H"
|
||||||
# these have to be manually extracted from the jar and put in the flatDir libs folder (only if the enable_axiom property is true)
|
# these have to be manually extracted from the jar and put in the flatDir libs folder (only if the enable_axiom property is true)
|
||||||
axiom-axiomclientapi = "1.0.0"
|
axiom-axiomclientapi = "1.0.0"
|
||||||
@@ -46,6 +48,9 @@ mm = { group = "com.terraformersmc", name = "modmenu", version.ref = "mm" }
|
|||||||
sodium-fabric = { group = "maven.modrinth", name = "sodium", version.ref = "sodium-fabric" }
|
sodium-fabric = { group = "maven.modrinth", name = "sodium", version.ref = "sodium-fabric" }
|
||||||
sodium-neoforge = { group = "maven.modrinth", name = "sodium", version.ref = "sodium-neoforge" }
|
sodium-neoforge = { group = "maven.modrinth", name = "sodium", version.ref = "sodium-neoforge" }
|
||||||
|
|
||||||
|
iris-fabric = { group = "maven.modrinth", name = "iris", version.ref = "iris-fabric" }
|
||||||
|
iris-neoforge = { group = "maven.modrinth", name = "iris", version.ref = "iris-neoforge" }
|
||||||
|
|
||||||
axiom = { group = "maven.modrinth", name = "axiom", version.ref = "axiom" }
|
axiom = { group = "maven.modrinth", name = "axiom", version.ref = "axiom" }
|
||||||
axiom-axiomclientapi = { group = "local", name = "axiomclientapi", version.ref = "axiom-axiomclientapi" }
|
axiom-axiomclientapi = { group = "local", name = "axiomclientapi", version.ref = "axiom-axiomclientapi" }
|
||||||
axiom-lattice = { group = "local", name = "lattice", version.ref = "axiom-lattice" }
|
axiom-lattice = { group = "local", name = "lattice", version.ref = "axiom-lattice" }
|
||||||
|
|||||||
@@ -26,6 +26,14 @@ dependencies {
|
|||||||
modLocalRuntime(libs.sodium.neoforge)
|
modLocalRuntime(libs.sodium.neoforge)
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
modCompileOnly(libs.iris.neoforge)
|
||||||
|
if (!inCI && "enable_iris"().toBoolean()) { // this doesn't work, because of jar-in-jar
|
||||||
|
modLocalRuntime(libs.iris.neoforge)
|
||||||
|
modLocalRuntime("org.antlr:antlr4-runtime:4.13.1")
|
||||||
|
modLocalRuntime("io.github.douira:glsl-transformer:2.0.1")
|
||||||
|
modLocalRuntime("org.anarres:jcpp:1.4.14")
|
||||||
|
}
|
||||||
|
|
||||||
compileOnly(annotationProcessor(libs.mixinextras.common.get())!!)!!
|
compileOnly(annotationProcessor(libs.mixinextras.common.get())!!)!!
|
||||||
implementation(include(libs.mixinextras.neoforge.get())!!)!!
|
implementation(include(libs.mixinextras.neoforge.get())!!)!!
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user