Add projection matrix to RenderWorldLastEvent (#6536)

This commit is contained in:
Nightenom authored and GitHub committed 2020-03-11 00:00:21 -07:00
1 parent 58e5f33fad
commit 202ae50820
3 files changed
+33 -1

No files matched your search

@@ -172,11 +172,17 @@ public class ForgeHooksClient
return MinecraftForge.EVENT_BUS.post(new DrawHighlightEvent(context, info, target, partialTicks, matrix, buffers));
}
@Deprecated // TODO: Remove in 1.16
public static void dispatchRenderLast(WorldRenderer context, MatrixStack mat, float partialTicks)
{
MinecraftForge.EVENT_BUS.post(new RenderWorldLastEvent(context, mat, partialTicks));
}
public static void dispatchRenderLast(WorldRenderer context, MatrixStack mat, float partialTicks, Matrix4f projectionMatrix, long finishTimeNano)
{
MinecraftForge.EVENT_BUS.post(new RenderWorldLastEvent(context, mat, partialTicks, projectionMatrix, finishTimeNano));
}
public static boolean renderSpecificFirstPersonHand(Hand hand, MatrixStack mat, IRenderTypeBuffer buffers, int light, float partialTicks, float interpPitch, float swingProgress, float equipProgress, ItemStack stack)
{
return MinecraftForge.EVENT_BUS.post(new RenderHandEvent(hand, mat, buffers, light, partialTicks, interpPitch, swingProgress, equipProgress, stack));
@@ -21,6 +21,7 @@ package net.minecraftforge.client.event;
import com.mojang.blaze3d.matrix.MatrixStack;
import net.minecraft.client.renderer.Matrix4f;
import net.minecraft.client.renderer.WorldRenderer;
public class RenderWorldLastEvent extends net.minecraftforge.eventbus.api.Event
@@ -28,11 +29,26 @@ public class RenderWorldLastEvent extends net.minecraftforge.eventbus.api.Event
private final WorldRenderer context;
private final MatrixStack mat;
private final float partialTicks;
private final Matrix4f projectionMatrix;
private final long finishTimeNano;
@Deprecated // TODO: Remove in 1.16
public RenderWorldLastEvent(WorldRenderer context, MatrixStack mat, float partialTicks)
{
this.context = context;
this.mat = mat;
this.partialTicks = partialTicks;
this.projectionMatrix = null;
this.finishTimeNano = 0;
}
public RenderWorldLastEvent(WorldRenderer context, MatrixStack mat, float partialTicks, Matrix4f projectionMatrix, long finishTimeNano)
{
this.context = context;
this.mat = mat;
this.partialTicks = partialTicks;
this.projectionMatrix = projectionMatrix;
this.finishTimeNano = finishTimeNano;
}
public WorldRenderer getContext()
@@ -49,4 +65,14 @@ public class RenderWorldLastEvent extends net.minecraftforge.eventbus.api.Event
{
return partialTicks;
}
public Matrix4f getProjectionMatrix()
{
return projectionMatrix;
}
public long getFinishTimeNano()
{
return finishTimeNano;
}
}