diff --git a/core/src/main/java/com/seibel/distanthorizons/core/api/internal/rendering/DhRenderState.java b/core/src/main/java/com/seibel/distanthorizons/core/api/internal/rendering/DhRenderState.java
index 167596001..c7a340f20 100644
--- a/core/src/main/java/com/seibel/distanthorizons/core/api/internal/rendering/DhRenderState.java
+++ b/core/src/main/java/com/seibel/distanthorizons/core/api/internal/rendering/DhRenderState.java
@@ -2,6 +2,7 @@ package com.seibel.distanthorizons.core.api.internal.rendering;
import com.seibel.distanthorizons.core.api.internal.ClientApi;
import com.seibel.distanthorizons.core.util.math.Mat4f;
+import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftRenderWrapper;
import com.seibel.distanthorizons.core.wrapperInterfaces.world.IClientLevelWrapper;
/**
@@ -24,6 +25,7 @@ public class DhRenderState
* IE 60 FPS = 16.6 MS
*
* @link https://fpstoms.com/
+ * @see IMinecraftRenderWrapper#getPartialTickTime()
*/
public float partialTickTime = -1;
public IClientLevelWrapper clientLevelWrapper = null;
diff --git a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java
index 2a92fdbb5..c2d11675c 100644
--- a/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java
+++ b/core/src/main/java/com/seibel/distanthorizons/core/wrapperInterfaces/minecraft/IMinecraftRenderWrapper.java
@@ -21,6 +21,7 @@ package com.seibel.distanthorizons.core.wrapperInterfaces.minecraft;
import java.awt.Color;
+import com.seibel.distanthorizons.core.api.internal.rendering.DhRenderState;
import com.seibel.distanthorizons.core.enums.EDhDirection;
import com.seibel.distanthorizons.core.wrapperInterfaces.misc.ILightMapWrapper;
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindable;
@@ -43,6 +44,21 @@ public interface IMinecraftRenderWrapper extends IBindable
boolean playerHasBlindingEffect();
+ /**
+ * percentage of time into the current client tick.
+ *
+ * Can be converted to a millisecond frametime
+ * (IE time between frames in milliseconds) using the formula:
+ *
+ * (partialTickTime/20*1000)
+ *
+ * IE 60 FPS = 16.6 MS
+ *
+ * @link https://fpstoms.com/
+ * @see DhRenderState#partialTickTime
+ */
+ float getPartialTickTime();
+
Vec3d getCameraExactPosition();
Color getFogColor(float partialTicks);