Add projection matrix to RenderWorldLastEvent (#6536)

This commit is contained in:
Nightenom 2020-03-11 08:00:21 +01:00 committed by GitHub
parent 58e5f33fad
commit 202ae50820
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 33 additions and 1 deletions

View File

@ -40,7 +40,7 @@
p_228378_4_.func_227863_a_(Vector3f.field_229181_d_.func_229187_a_(activerenderinfo.func_216778_f() + 180.0F));
this.field_78531_r.field_71438_f.func_228426_a_(p_228378_4_, p_228378_1_, p_228378_2_, flag, activerenderinfo, this, this.field_78513_d, matrix4f);
+ this.field_78531_r.func_213239_aq().func_219895_b("forge_render_last");
+ net.minecraftforge.client.ForgeHooksClient.dispatchRenderLast(this.field_78531_r.field_71438_f, p_228378_4_, p_228378_2_);
+ net.minecraftforge.client.ForgeHooksClient.dispatchRenderLast(this.field_78531_r.field_71438_f, p_228378_4_, p_228378_1_, matrix4f, p_228378_2_);
this.field_78531_r.func_213239_aq().func_219895_b("hand");
if (this.field_175074_C) {
RenderSystem.clear(256, Minecraft.field_142025_a);

View File

@ -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));

View File

@ -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;
}
}