diff --git a/DHApi.jar b/DistantHorizons-forge-2.0.4-a-dev-1.20.1.jar
similarity index 84%
rename from DHApi.jar
rename to DistantHorizons-forge-2.0.4-a-dev-1.20.1.jar
index 56752d5b31..4577e2e7da 100644
Binary files a/DHApi.jar and b/DistantHorizons-forge-2.0.4-a-dev-1.20.1.jar differ
diff --git a/build.gradle b/build.gradle
index dc14f75fa0..64b4c7caf3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -48,6 +48,13 @@ sourceSets {
}
}
+ dhCompatibility {
+ java {
+ compileClasspath += main.compileClasspath
+ compileClasspath += main.output
+ }
+ }
+
sodiumCompatibility {
java {
compileClasspath += main.compileClasspath
@@ -72,6 +79,7 @@ loom {
sourceSet sourceSets.main
sourceSet sourceSets.vendored
sourceSet sourceSets.sodiumCompatibility
+ sourceSet sourceSets.dhCompatibility
}
}
}
@@ -108,7 +116,7 @@ dependencies {
forge "net.neoforged:forge:${minecraft_version}-${forge_version}"
modImplementation "org.embeddedt:embeddium-${minecraft_version}:${embeddium_version}"
- modCompileOnly(files("DHApi.jar"))
+ modCompileOnly(files("DistantHorizons-forge-2.0.4-a-dev-1.20.1.jar"))
forgeRuntimeLibrary(implementation(shadow(project(path: ":glsl-relocated", configuration: "bundledJar")))) {
transitive = false
@@ -147,6 +155,7 @@ remapJar {
jar {
from sourceSets.sodiumCompatibility.output
+ from sourceSets.dhCompatibility.output
from sourceSets.vendored.output
from sourceSets.desktop.output
}
@@ -157,6 +166,7 @@ java {
sourcesJar {
from sourceSets.sodiumCompatibility.allSource
+ from sourceSets.dhCompatibility.allSource
from sourceSets.vendored.allSource
from sourceSets.desktop.allSource
}
diff --git a/src/main/java/com/seibel/distanthorizons/api/interfaces/override/IDhApiOverrideable.java b/src/main/java/com/seibel/distanthorizons/api/interfaces/override/IDhApiOverrideable.java
deleted file mode 100644
index b69170a941..0000000000
--- a/src/main/java/com/seibel/distanthorizons/api/interfaces/override/IDhApiOverrideable.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * This file is part of the Distant Horizons mod
- * licensed under the GNU LGPL v3 License.
- *
- * Copyright (C) 2020-2023 James Seibel
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see .
- */
-
-package com.seibel.distanthorizons.api.interfaces.override;
-
-import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindable;
-import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IOverrideInjector;
-
-/**
- * Implemented by all DhApi objects that can be overridden.
- *
- * @author James Seibel
- * @version 2022-9-5
- * @since API 1.0.0
- */
-public interface IDhApiOverrideable extends IBindable {
- /**
- * Higher (larger numerical) priorities override lower (smaller numerical) priorities.
- * For most developers this can be left at the default.
- *
- * @return The priority of this interface, the lowest legal value is {@link IOverrideInjector#MIN_NON_CORE_OVERRIDE_PRIORITY}.
- */
- default int getPriority() {
- return IOverrideInjector.DEFAULT_NON_CORE_OVERRIDE_PRIORITY;
- }
-
-}
diff --git a/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiCullingFrustum.java b/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiCullingFrustum.java
deleted file mode 100644
index 85217a86af..0000000000
--- a/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiCullingFrustum.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * This file is part of the Distant Horizons mod
- * licensed under the GNU LGPL v3 License.
- *
- * Copyright (C) 2020-2023 James Seibel
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see .
- */
-
-package com.seibel.distanthorizons.api.interfaces.override.rendering;
-
-import com.seibel.distanthorizons.api.enums.EDhApiDetailLevel;
-import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
-import com.seibel.distanthorizons.coreapi.util.math.Mat4f;
-
-/**
- * Used to determine if a LOD should be rendered or is outside the
- * user's field of view.
- *
- * @author James Seibel
- * @version 2024-2-6
- * @since API 1.1.0
- */
-public interface IDhApiCullingFrustum extends IDhApiOverrideable {
-
- /**
- * Called before a render pass is done.
- *
- * @param worldMinBlockY the lowest block position this level allows.
- * @param worldMaxBlockY the highest block position this level allows.
- * @param worldViewProjection the projection matrix used in this render pass.
- */
- void update(int worldMinBlockY, int worldMaxBlockY, Mat4f worldViewProjection);
-
- /**
- * returns true if the LOD bounds intersect this frustum
- *
- * @param lodBlockPosMinX this LOD's starting block X position closest to negative infinity
- * @param lodBlockPosMinZ this LOD's starting block Z position closest to negative infinity
- * @param lodBlockWidth this LOD's width in blocks
- * @param lodDetailLevel this LOD's detail level
- * @see EDhApiDetailLevel
- */
- boolean intersects(int lodBlockPosMinX, int lodBlockPosMinZ, int lodBlockWidth, int lodDetailLevel);
-
-}
diff --git a/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiShadowCullingFrustum.java b/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiShadowCullingFrustum.java
deleted file mode 100644
index a526cb2ed7..0000000000
--- a/src/main/java/com/seibel/distanthorizons/api/interfaces/override/rendering/IDhApiShadowCullingFrustum.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * This file is part of the Distant Horizons mod
- * licensed under the GNU LGPL v3 License.
- *
- * Copyright (C) 2020-2023 James Seibel
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see .
- */
-
-package com.seibel.distanthorizons.api.interfaces.override.rendering;
-
-/**
- * The culling frustum used during Distant Horizons' shadow pass
- * if another mod has enabled Distant Horizons' shadow
- * pass via the API.
- *
- * @author James Seibel
- * @version 2024-2-10
- * @see IDhApiCullingFrustum
- * @since API 1.1.0
- */
-public interface IDhApiShadowCullingFrustum extends IDhApiCullingFrustum {
- // should be identical to the parent culling frustum
-}
diff --git a/src/main/java/com/seibel/distanthorizons/coreapi/interfaces/dependencyInjection/IBindable.java b/src/main/java/com/seibel/distanthorizons/coreapi/interfaces/dependencyInjection/IBindable.java
deleted file mode 100644
index bd32a2cf62..0000000000
--- a/src/main/java/com/seibel/distanthorizons/coreapi/interfaces/dependencyInjection/IBindable.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * This file is part of the Distant Horizons mod
- * licensed under the GNU LGPL v3 License.
- *
- * Copyright (C) 2020-2023 James Seibel
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, version 3.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see .
- */
-
-package com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection;
-
-/**
- * Necessary for all singletons that can be dependency injected.
- *
- * @author James Seibel
- * @version 2022-7-16
- */
-public interface IBindable {
- /**
- * Finish initializing this object.
- *
- * Generally this should just be used for getting other objects through
- * dependency injection and is specifically designed to allow
- * for circular references.
- *
- * If no circular dependencies are required this method
- * doesn't have to be implemented.
- */
- default void finishDelayedSetup() {
- }
-
- /**
- * Returns if this dependency has been setup yet.
- *
- * If this object doesn't require a delayed setup, this
- * method doesn't have to be implemented and should always return true.
- */
- default boolean getDelayedSetupComplete() {
- return true;
- }
-
-}
diff --git a/src/main/java/net/irisshaders/iris/compat/dh/mixin/AdvancedShadowCullingFrustumMixin.java b/src/main/java/net/irisshaders/iris/compat/dh/mixin/AdvancedShadowCullingFrustumMixin.java
new file mode 100644
index 0000000000..dee303bd68
--- /dev/null
+++ b/src/main/java/net/irisshaders/iris/compat/dh/mixin/AdvancedShadowCullingFrustumMixin.java
@@ -0,0 +1,30 @@
+package net.irisshaders.iris.compat.dh.mixin;
+
+import com.seibel.distanthorizons.api.interfaces.override.rendering.IDhApiShadowCullingFrustum;
+import com.seibel.distanthorizons.coreapi.util.math.Mat4f;
+import net.irisshaders.iris.shadows.frustum.advanced.AdvancedShadowCullingFrustum;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Shadow;
+
+@Mixin(value = AdvancedShadowCullingFrustum.class, remap = false)
+public class AdvancedShadowCullingFrustumMixin implements IDhApiShadowCullingFrustum {
+ @Shadow
+ private int worldMinYDH;
+ @Shadow
+ private int worldMaxYDH;
+ @Shadow
+ public int isVisible(double minX, double minY, double minZ, double maxX, double maxY, double maxZ) {
+ throw new AssertionError();
+ }
+
+ @Override
+ public void update(int worldMinBlockY, int worldMaxBlockY, Mat4f worldViewProjection) {
+ this.worldMinYDH = worldMinBlockY;
+ this.worldMaxYDH = worldMaxBlockY;
+ }
+
+ @Override
+ public boolean intersects(int lodBlockPosMinX, int lodBlockPosMinZ, int lodBlockWidth, int lodDetailLevel) {
+ return this.isVisible(lodBlockPosMinX, this.worldMinYDH, lodBlockPosMinZ, lodBlockPosMinX + lodBlockWidth, this.worldMaxYDH, lodBlockPosMinZ + lodBlockWidth) != 0;
+ }
+}
diff --git a/src/main/java/net/irisshaders/iris/compat/dh/mixin/BoxCullingFrustumMixin.java b/src/main/java/net/irisshaders/iris/compat/dh/mixin/BoxCullingFrustumMixin.java
new file mode 100644
index 0000000000..3caf41da79
--- /dev/null
+++ b/src/main/java/net/irisshaders/iris/compat/dh/mixin/BoxCullingFrustumMixin.java
@@ -0,0 +1,31 @@
+package net.irisshaders.iris.compat.dh.mixin;
+
+import com.seibel.distanthorizons.api.interfaces.override.rendering.IDhApiShadowCullingFrustum;
+import com.seibel.distanthorizons.coreapi.util.math.Mat4f;
+import net.irisshaders.iris.shadows.frustum.BoxCuller;
+import net.irisshaders.iris.shadows.frustum.fallback.BoxCullingFrustum;
+import org.spongepowered.asm.mixin.Final;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Shadow;
+
+@Mixin(value = BoxCullingFrustum.class, remap = false)
+public class BoxCullingFrustumMixin implements IDhApiShadowCullingFrustum {
+ @Shadow
+ @Final
+ protected BoxCuller boxCuller;
+ @Shadow
+ private int worldMinYDH;
+ @Shadow
+ private int worldMaxYDH;
+
+ @Override
+ public void update(int worldMinBlockY, int worldMaxBlockY, Mat4f worldViewProjection) {
+ this.worldMinYDH = worldMinBlockY;
+ this.worldMaxYDH = worldMaxBlockY;
+ }
+
+ @Override
+ public boolean intersects(int lodBlockPosMinX, int lodBlockPosMinZ, int lodBlockWidth, int lodDetailLevel) {
+ return !boxCuller.isCulled(lodBlockPosMinX, this.worldMinYDH, lodBlockPosMinZ, lodBlockPosMinX + lodBlockWidth, this.worldMaxYDH, lodBlockPosMinZ + lodBlockWidth);
+ }
+}
diff --git a/src/main/java/net/irisshaders/iris/compat/dh/mixin/CullEverythingFrustumMixin.java b/src/main/java/net/irisshaders/iris/compat/dh/mixin/CullEverythingFrustumMixin.java
new file mode 100644
index 0000000000..1c2de107aa
--- /dev/null
+++ b/src/main/java/net/irisshaders/iris/compat/dh/mixin/CullEverythingFrustumMixin.java
@@ -0,0 +1,19 @@
+package net.irisshaders.iris.compat.dh.mixin;
+
+import com.seibel.distanthorizons.api.interfaces.override.rendering.IDhApiShadowCullingFrustum;
+import com.seibel.distanthorizons.coreapi.util.math.Mat4f;
+import net.irisshaders.iris.shadows.frustum.CullEverythingFrustum;
+import org.spongepowered.asm.mixin.Mixin;
+
+@Mixin(value = CullEverythingFrustum.class, remap = false)
+public class CullEverythingFrustumMixin implements IDhApiShadowCullingFrustum {
+ @Override
+ public void update(int worldMinBlockY, int worldMaxBlockY, Mat4f worldViewProjection) {
+
+ }
+
+ @Override
+ public boolean intersects(int lodBlockPosMinX, int lodBlockPosMinZ, int lodBlockWidth, int lodDetailLevel) {
+ return false;
+ }
+}
diff --git a/src/main/java/net/irisshaders/iris/compat/dh/mixin/NonCullingFrustumMixin.java b/src/main/java/net/irisshaders/iris/compat/dh/mixin/NonCullingFrustumMixin.java
new file mode 100644
index 0000000000..e942502a13
--- /dev/null
+++ b/src/main/java/net/irisshaders/iris/compat/dh/mixin/NonCullingFrustumMixin.java
@@ -0,0 +1,19 @@
+package net.irisshaders.iris.compat.dh.mixin;
+
+import com.seibel.distanthorizons.api.interfaces.override.rendering.IDhApiShadowCullingFrustum;
+import com.seibel.distanthorizons.coreapi.util.math.Mat4f;
+import net.irisshaders.iris.shadows.frustum.fallback.NonCullingFrustum;
+import org.spongepowered.asm.mixin.Mixin;
+
+@Mixin(value = NonCullingFrustum.class, remap = false)
+public class NonCullingFrustumMixin implements IDhApiShadowCullingFrustum {
+ @Override
+ public void update(int worldMinBlockY, int worldMaxBlockY, Mat4f worldViewProjection) {
+
+ }
+
+ @Override
+ public boolean intersects(int lodBlockPosMinX, int lodBlockPosMinZ, int lodBlockWidth, int lodDetailLevel) {
+ return true;
+ }
+}
diff --git a/src/main/java/net/irisshaders/iris/compat/dh/mixin/OculusDHCompatMixinPlugin.java b/src/main/java/net/irisshaders/iris/compat/dh/mixin/OculusDHCompatMixinPlugin.java
new file mode 100644
index 0000000000..4b32916212
--- /dev/null
+++ b/src/main/java/net/irisshaders/iris/compat/dh/mixin/OculusDHCompatMixinPlugin.java
@@ -0,0 +1,46 @@
+package net.irisshaders.iris.compat.dh.mixin;
+
+import net.minecraftforge.fml.loading.LoadingModList;
+import org.objectweb.asm.tree.ClassNode;
+import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
+import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
+
+import java.util.List;
+import java.util.Set;
+
+public class OculusDHCompatMixinPlugin implements IMixinConfigPlugin {
+ @Override
+ public void onLoad(String s) {
+
+ }
+
+ @Override
+ public String getRefMapperConfig() {
+ return null;
+ }
+
+ @Override
+ public boolean shouldApplyMixin(String s, String s1) {
+ return LoadingModList.get().getModFileById("distanthorizons") != null;
+ }
+
+ @Override
+ public void acceptTargets(Set set, Set set1) {
+
+ }
+
+ @Override
+ public List getMixins() {
+ return null;
+ }
+
+ @Override
+ public void preApply(String s, ClassNode classNode, String s1, IMixinInfo iMixinInfo) {
+
+ }
+
+ @Override
+ public void postApply(String s, ClassNode classNode, String s1, IMixinInfo iMixinInfo) {
+
+ }
+}
diff --git a/src/main/java/net/irisshaders/iris/shadows/frustum/CullEverythingFrustum.java b/src/main/java/net/irisshaders/iris/shadows/frustum/CullEverythingFrustum.java
index 6e7708b5f9..34a9bcbf2f 100644
--- a/src/main/java/net/irisshaders/iris/shadows/frustum/CullEverythingFrustum.java
+++ b/src/main/java/net/irisshaders/iris/shadows/frustum/CullEverythingFrustum.java
@@ -1,12 +1,10 @@
package net.irisshaders.iris.shadows.frustum;
-import com.seibel.distanthorizons.api.interfaces.override.rendering.IDhApiShadowCullingFrustum;
-import com.seibel.distanthorizons.coreapi.util.math.Mat4f;
import net.minecraft.client.renderer.culling.Frustum;
import net.minecraft.world.phys.AABB;
import org.joml.Matrix4f;
-public class CullEverythingFrustum extends Frustum implements IDhApiShadowCullingFrustum {
+public class CullEverythingFrustum extends Frustum {
public CullEverythingFrustum() {
super(new Matrix4f(), new Matrix4f());
}
@@ -20,14 +18,4 @@ public boolean canDetermineInvisible(double minX, double minY, double minZ, doub
public boolean isVisible(AABB box) {
return false;
}
-
- @Override
- public void update(int worldMinBlockY, int worldMaxBlockY, Mat4f worldViewProjection) {
-
- }
-
- @Override
- public boolean intersects(int lodBlockPosMinX, int lodBlockPosMinZ, int lodBlockWidth, int lodDetailLevel) {
- return false;
- }
}
diff --git a/src/main/java/net/irisshaders/iris/shadows/frustum/advanced/AdvancedShadowCullingFrustum.java b/src/main/java/net/irisshaders/iris/shadows/frustum/advanced/AdvancedShadowCullingFrustum.java
index 03b3f2ad1d..4995e9c2a3 100644
--- a/src/main/java/net/irisshaders/iris/shadows/frustum/advanced/AdvancedShadowCullingFrustum.java
+++ b/src/main/java/net/irisshaders/iris/shadows/frustum/advanced/AdvancedShadowCullingFrustum.java
@@ -1,7 +1,5 @@
package net.irisshaders.iris.shadows.frustum.advanced;
-import com.seibel.distanthorizons.api.interfaces.override.rendering.IDhApiShadowCullingFrustum;
-import com.seibel.distanthorizons.coreapi.util.math.Mat4f;
import net.irisshaders.iris.shadows.frustum.BoxCuller;
import net.minecraft.client.renderer.culling.Frustum;
import net.minecraft.world.phys.AABB;
@@ -30,7 +28,7 @@
* are not sensitive to the specific internal ordering of planes and corners, in order to avoid potential bugs at the
* cost of slightly more computations.
*/
-public class AdvancedShadowCullingFrustum extends Frustum implements IDhApiShadowCullingFrustum {
+public class AdvancedShadowCullingFrustum extends Frustum {
private static final int MAX_CLIPPING_PLANES = 13;
protected final BoxCuller boxCuller;
/**
@@ -383,15 +381,4 @@ public boolean checkCornerVisibilityBool(float minX, float minY, float minZ, flo
return true;
}
-
- @Override
- public void update(int worldMinBlockY, int worldMaxBlockY, Mat4f worldViewProjection) {
- this.worldMinYDH = worldMinBlockY;
- this.worldMaxYDH = worldMaxBlockY;
- }
-
- @Override
- public boolean intersects(int lodBlockPosMinX, int lodBlockPosMinZ, int lodBlockWidth, int lodDetailLevel) {
- return this.isVisible(lodBlockPosMinX, this.worldMinYDH, lodBlockPosMinZ, lodBlockPosMinX + lodBlockWidth, this.worldMaxYDH, lodBlockPosMinZ + lodBlockWidth) != 0;
- }
}
diff --git a/src/main/java/net/irisshaders/iris/shadows/frustum/fallback/BoxCullingFrustum.java b/src/main/java/net/irisshaders/iris/shadows/frustum/fallback/BoxCullingFrustum.java
index 60781cd5d7..bdff5c4a03 100644
--- a/src/main/java/net/irisshaders/iris/shadows/frustum/fallback/BoxCullingFrustum.java
+++ b/src/main/java/net/irisshaders/iris/shadows/frustum/fallback/BoxCullingFrustum.java
@@ -1,13 +1,11 @@
package net.irisshaders.iris.shadows.frustum.fallback;
-import com.seibel.distanthorizons.api.interfaces.override.rendering.IDhApiShadowCullingFrustum;
-import com.seibel.distanthorizons.coreapi.util.math.Mat4f;
import net.irisshaders.iris.shadows.frustum.BoxCuller;
import net.minecraft.client.renderer.culling.Frustum;
import net.minecraft.world.phys.AABB;
import org.joml.Matrix4f;
-public class BoxCullingFrustum extends Frustum implements IDhApiShadowCullingFrustum {
+public class BoxCullingFrustum extends Frustum {
private final BoxCuller boxCuller;
private double x, y, z;
private int worldMinYDH;
@@ -37,15 +35,4 @@ public boolean canDetermineInvisible(double minX, double minY, double minZ, doub
public boolean isVisible(AABB box) {
return !boxCuller.isCulled(box);
}
-
- @Override
- public void update(int worldMinBlockY, int worldMaxBlockY, Mat4f worldViewProjection) {
- this.worldMinYDH = worldMinBlockY;
- this.worldMaxYDH = worldMaxBlockY;
- }
-
- @Override
- public boolean intersects(int lodBlockPosMinX, int lodBlockPosMinZ, int lodBlockWidth, int lodDetailLevel) {
- return !boxCuller.isCulled(lodBlockPosMinX, this.worldMinYDH, lodBlockPosMinZ, lodBlockPosMinX + lodBlockWidth, this.worldMaxYDH, lodBlockPosMinZ + lodBlockWidth);
- }
}
diff --git a/src/main/java/net/irisshaders/iris/shadows/frustum/fallback/NonCullingFrustum.java b/src/main/java/net/irisshaders/iris/shadows/frustum/fallback/NonCullingFrustum.java
index 2bf8ba4aa6..46c753ec9b 100644
--- a/src/main/java/net/irisshaders/iris/shadows/frustum/fallback/NonCullingFrustum.java
+++ b/src/main/java/net/irisshaders/iris/shadows/frustum/fallback/NonCullingFrustum.java
@@ -1,12 +1,10 @@
package net.irisshaders.iris.shadows.frustum.fallback;
-import com.seibel.distanthorizons.api.interfaces.override.rendering.IDhApiShadowCullingFrustum;
-import com.seibel.distanthorizons.coreapi.util.math.Mat4f;
import net.minecraft.client.renderer.culling.Frustum;
import net.minecraft.world.phys.AABB;
import org.joml.Matrix4f;
-public class NonCullingFrustum extends Frustum implements IDhApiShadowCullingFrustum {
+public class NonCullingFrustum extends Frustum {
public NonCullingFrustum() {
super(new Matrix4f(), new Matrix4f());
}
@@ -22,14 +20,4 @@ public boolean canDetermineInvisible(double minX, double minY, double minZ, doub
public boolean isVisible(AABB box) {
return true;
}
-
- @Override
- public void update(int worldMinBlockY, int worldMaxBlockY, Mat4f worldViewProjection) {
-
- }
-
- @Override
- public boolean intersects(int lodBlockPosMinX, int lodBlockPosMinZ, int lodBlockWidth, int lodDetailLevel) {
- return true;
- }
}
diff --git a/src/main/resources/mixins.oculus.compat.dh.json b/src/main/resources/mixins.oculus.compat.dh.json
new file mode 100644
index 0000000000..79ddb718ce
--- /dev/null
+++ b/src/main/resources/mixins.oculus.compat.dh.json
@@ -0,0 +1,18 @@
+{
+ "required": true,
+ "minVersion": "0.8",
+ "plugin": "net.irisshaders.iris.compat.dh.mixin.OculusDHCompatMixinPlugin",
+ "package": "net.irisshaders.iris.compat.dh.mixin",
+ "compatibilityLevel": "JAVA_8",
+ "client": [
+ ],
+ "injectors": {
+ "defaultRequire": 1
+ },
+ "mixins": [
+ "AdvancedShadowCullingFrustumMixin",
+ "BoxCullingFrustumMixin",
+ "CullEverythingFrustumMixin",
+ "NonCullingFrustumMixin"
+ ]
+}
\ No newline at end of file