aboutsummaryrefslogtreecommitdiff
path: root/src/compat
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-10-15 00:21:37 +0200
committerLinnea Gräf <nea@nea.moe>2025-10-15 00:21:37 +0200
commit12ab95f7e800f42e25e70465bedc22002a75dd44 (patch)
tree42e67b2991991fda41d1933b765d6d864bb04eb7 /src/compat
parentdf3338b3b8a542226fd5bd0aa2a5fe88ab87a37b (diff)
downloadFirmament-12ab95f7e800f42e25e70465bedc22002a75dd44.tar.gz
Firmament-12ab95f7e800f42e25e70465bedc22002a75dd44.tar.bz2
Firmament-12ab95f7e800f42e25e70465bedc22002a75dd44.zip
feat: assign iris pipelines
closes https://github.com/nea89o/Firmament/pull/306
Diffstat (limited to 'src/compat')
-rw-r--r--src/compat/iris/java/moe/nea/firmament/compat/iris/Compat.kt12
-rw-r--r--src/compat/iris/java/moe/nea/firmament/compat/iris/IrisPipelineAssigner.kt19
2 files changed, 31 insertions, 0 deletions
diff --git a/src/compat/iris/java/moe/nea/firmament/compat/iris/Compat.kt b/src/compat/iris/java/moe/nea/firmament/compat/iris/Compat.kt
new file mode 100644
index 0000000..6d04842
--- /dev/null
+++ b/src/compat/iris/java/moe/nea/firmament/compat/iris/Compat.kt
@@ -0,0 +1,12 @@
+package moe.nea.firmament.compat.iris
+
+import net.fabricmc.loader.api.FabricLoader
+import moe.nea.firmament.util.compatloader.CompatMeta
+import moe.nea.firmament.util.compatloader.ICompatMeta
+
+@CompatMeta
+object Compat : ICompatMeta {
+ override fun shouldLoad(): Boolean {
+ return FabricLoader.getInstance().isModLoaded("iris")
+ }
+}
diff --git a/src/compat/iris/java/moe/nea/firmament/compat/iris/IrisPipelineAssigner.kt b/src/compat/iris/java/moe/nea/firmament/compat/iris/IrisPipelineAssigner.kt
new file mode 100644
index 0000000..b7b3e42
--- /dev/null
+++ b/src/compat/iris/java/moe/nea/firmament/compat/iris/IrisPipelineAssigner.kt
@@ -0,0 +1,19 @@
+package moe.nea.firmament.compat.iris
+
+import net.irisshaders.iris.api.v0.IrisApi
+import net.irisshaders.iris.api.v0.IrisProgram
+import util.render.CustomRenderPipelines
+import moe.nea.firmament.annotations.Subscribe
+import moe.nea.firmament.events.ClientInitEvent
+
+object IrisPipelineAssigner {
+ @Subscribe
+ fun initIrisAssignments(event: ClientInitEvent) {
+ val api = IrisApi.getInstance()
+ api.assignPipeline(CustomRenderPipelines.GUI_TEXTURED_NO_DEPTH_TRIS, IrisProgram.TEXTURED)
+ api.assignPipeline(CustomRenderPipelines.OMNIPRESENT_LINES, IrisProgram.LINES)
+ api.assignPipeline(CustomRenderPipelines.COLORED_OMNIPRESENT_QUADS, IrisProgram.BASIC)
+ api.assignPipeline(CustomRenderPipelines.CIRCLE_FILTER_TRANSLUCENT_GUI_TRIS, IrisProgram.TEXTURED)
+ api.assignPipeline(CustomRenderPipelines.PARALLAX_CAPE_SHADER, IrisProgram.ENTITIES)
+ }
+}