diff --git a/src/main/java/com/seibel/lod/core/api/external/events/DhApiEventRegister.java b/src/main/java/com/seibel/lod/core/api/external/events/DhApiEventRegister.java index 33afb4bc8..fbacb2355 100644 --- a/src/main/java/com/seibel/lod/core/api/external/events/DhApiEventRegister.java +++ b/src/main/java/com/seibel/lod/core/api/external/events/DhApiEventRegister.java @@ -1,6 +1,6 @@ package com.seibel.lod.core.api.external.events; -import com.seibel.lod.core.api.external.events.interfaces.IDhApiEvent; +import com.seibel.lod.core.api.external.events.interfaces.IDhApiEventHandler; import com.seibel.lod.core.api.external.shared.objects.DhApiResult; /** @@ -17,7 +17,7 @@ public class DhApiEventRegister * If multiple of the same eventHandler are added DhApiResult will return * the name of the already added handler and success = false. */ - public static DhApiResult on(IDhApiEvent eventHandler) + public static DhApiResult on(IDhApiEventHandler eventHandler) { throw new UnsupportedOperationException(); } @@ -27,7 +27,7 @@ public class DhApiEventRegister * If no eventHandler of the given class has been registered the result will return * success = false. */ - public static DhApiResult off(IDhApiEvent eventHandler) + public static DhApiResult off(IDhApiEventHandler eventHandler) { throw new UnsupportedOperationException(); } diff --git a/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiAfterRenderEvent.java b/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiAfterRenderEvent.java deleted file mode 100644 index 0623fabad..000000000 --- a/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiAfterRenderEvent.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.seibel.lod.core.api.external.events.interfaces; - -import com.seibel.lod.core.api.external.shared.interfaces.IDhApiLevelWrapper; -import com.seibel.lod.core.api.external.shared.objects.math.DhApiMat4f; - -/** - * @author James Seibel - * @version 2022-7-13 - */ -public interface IDhApiAfterRenderEvent extends IDhApiEvent -{ - /** - * Called after Distant Horizons' rendering pipeline finishes. - * - * @param renderingEnabled Passes in false if DH rendering was disabled or canceled for this frame. - */ - void afterRender(IDhApiLevelWrapper levelWrapper, - DhApiMat4f mcModelViewMatrix, DhApiMat4f mcProjectionMatrix, // the matrices received from Minecraft - DhApiMat4f dhModelViewMatrix, DhApiMat4f dhProjectionMatrix, // the matrices used by Distant Horizons - float partialTicks, boolean renderingEnabled); - -} \ No newline at end of file diff --git a/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiAfterRenderEventHandler.java b/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiAfterRenderEventHandler.java new file mode 100644 index 000000000..b4c393593 --- /dev/null +++ b/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiAfterRenderEventHandler.java @@ -0,0 +1,16 @@ +package com.seibel.lod.core.api.external.events.interfaces; + +import com.seibel.lod.core.api.external.events.objects.DhApiAfterRenderEvent; + +/** + * @author James Seibel + * @version 2022-7-13 + */ +public interface IDhApiAfterRenderEventHandler extends IDhApiEventHandler +{ + /** + * Called after Distant Horizons' rendering pipeline finishes. + */ + void afterRender(DhApiAfterRenderEvent event); + +} \ No newline at end of file diff --git a/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiBeforeRenderEvent.java b/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiBeforeRenderEvent.java deleted file mode 100644 index 437ab4f0c..000000000 --- a/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiBeforeRenderEvent.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.seibel.lod.core.api.external.events.interfaces; - -import com.seibel.lod.core.api.external.shared.interfaces.IDhApiLevelWrapper; -import com.seibel.lod.core.api.external.shared.objects.math.DhApiMat4f; - -/** - * @author James Seibel - * @version 2022-7-13 - */ -public interface IDhApiBeforeRenderEvent extends IDhApiEvent -{ - /** - * Called before Distant Horizons starts rendering.
- * If this method returns false; DH's rendering will be skipped for that frame.

- * - * The Matrices received are not passed on to the renderer and can be safely - * edited without modifying Minecraft or Distant Horizons' rendering. - */ - boolean beforeRender(IDhApiLevelWrapper levelWrapper, - DhApiMat4f mcModelViewMatrix, DhApiMat4f mcProjectionMatrix, // the matrices received from Minecraft - DhApiMat4f dhModelViewMatrix, DhApiMat4f dhProjectionMatrix, // the matrices used by Distant Horizons - float partialTicks); - -} \ No newline at end of file diff --git a/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiBeforeRenderEventHandler.java b/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiBeforeRenderEventHandler.java new file mode 100644 index 000000000..46d04a7a2 --- /dev/null +++ b/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiBeforeRenderEventHandler.java @@ -0,0 +1,20 @@ +package com.seibel.lod.core.api.external.events.interfaces; + +import com.seibel.lod.core.api.external.events.objects.DhApiRenderEvent; + +/** + * @author James Seibel + * @version 2022-7-14 + */ +public interface IDhApiBeforeRenderEventHandler extends IDhApiEventHandler +{ + /** + * Called before Distant Horizons starts rendering.
+ * If this method returns false; DH's rendering will be skipped for that frame.

+ * + * The Matrices received are not passed on to the renderer and can be safely + * edited without modifying Minecraft or Distant Horizons' rendering. + */ + boolean beforeRender(DhApiRenderEvent event); + +} \ No newline at end of file diff --git a/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiEvent.java b/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiEvent.java deleted file mode 100644 index 9d2518c38..000000000 --- a/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiEvent.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.seibel.lod.core.api.external.events.interfaces; - -/** - * All Api event handlers should implement this, so - * they can be more easily organized. - * - * @author James Seibel - * @version 2022-7-13 - */ -public interface IDhApiEvent -{ - -} diff --git a/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiEventHandler.java b/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiEventHandler.java new file mode 100644 index 000000000..0f8580b5d --- /dev/null +++ b/src/main/java/com/seibel/lod/core/api/external/events/interfaces/IDhApiEventHandler.java @@ -0,0 +1,15 @@ +package com.seibel.lod.core.api.external.events.interfaces; + +/** + * All Api event handlers should implement this. + * + * @param This is the datatype that should be passed into the + * event handler's method. + * + * @author James Seibel + * @version 2022-7-13 + */ +public interface IDhApiEventHandler +{ + +} diff --git a/src/main/java/com/seibel/lod/core/api/external/events/objects/DhApiAfterRenderEvent.java b/src/main/java/com/seibel/lod/core/api/external/events/objects/DhApiAfterRenderEvent.java new file mode 100644 index 000000000..c400208b0 --- /dev/null +++ b/src/main/java/com/seibel/lod/core/api/external/events/objects/DhApiAfterRenderEvent.java @@ -0,0 +1,14 @@ +package com.seibel.lod.core.api.external.events.objects; + +import com.seibel.lod.core.api.external.shared.interfaces.IDhApiLevelWrapper; +import com.seibel.lod.core.api.external.shared.objects.math.DhApiMat4f; + +/** + * @author James Seibel + * @version 2022-7-14 + */ +public class DhApiAfterRenderEvent extends DhApiRenderEvent +{ + /** False if DH rendering was disabled or canceled for this frame. */ + public boolean renderingEnabled; +} \ No newline at end of file diff --git a/src/main/java/com/seibel/lod/core/api/external/events/objects/DhApiRenderEvent.java b/src/main/java/com/seibel/lod/core/api/external/events/objects/DhApiRenderEvent.java new file mode 100644 index 000000000..f853d311a --- /dev/null +++ b/src/main/java/com/seibel/lod/core/api/external/events/objects/DhApiRenderEvent.java @@ -0,0 +1,23 @@ +package com.seibel.lod.core.api.external.events.objects; + +import com.seibel.lod.core.api.external.shared.interfaces.IDhApiLevelWrapper; +import com.seibel.lod.core.api.external.shared.objects.math.DhApiMat4f; + +/** + * @author James Seibel + * @version 2022-7-14 + */ +public class DhApiRenderEvent +{ + public IDhApiLevelWrapper levelWrapper; + + // the matrices received from Minecraft + public DhApiMat4f mcModelViewMatrix; + public DhApiMat4f mcProjectionMatrix; + + // the matrices used by Distant Horizons + public DhApiMat4f dhModelViewMatrix; + public DhApiMat4f dhProjectionMatrix; + + public float partialTicks; +} \ No newline at end of file