Add fading to Forge and Neo, fix fading rain, fix old MC compiling

This commit is contained in:
James Seibel
2024-10-03 07:36:11 -05:00
parent e8288a0df9
commit 986e474657
3 changed files with 61 additions and 6 deletions
@@ -126,7 +126,8 @@ public class MixinLevelRenderer
frameTime = Minecraft.getInstance().getTimer().getRealtimeDeltaTicks();
#endif
// only render before solid blocks
// render LODs
if (renderType.equals(RenderType.solid()))
{
ClientApi.INSTANCE.renderLods(ClientLevelWrapper.getWrapper(this.level), mcModelViewMatrix, mcProjectionMatrix, frameTime);
@@ -136,6 +137,29 @@ public class MixinLevelRenderer
ClientApi.INSTANCE.renderDeferredLods(ClientLevelWrapper.getWrapper(this.level), mcModelViewMatrix, mcProjectionMatrix, frameTime);
}
// render fade
// fade rendering needs to happen AFTER_ENTITIES and AFTER_TRANSLUCENT respectively (fabric names)
// however since this method intjects at the beginning of the rendertype,
// we need to trigger for the renderType after those passes are done
if (renderType.equals(RenderType.cutout()))
{
ClientApi.INSTANCE.renderFadeOpaque(
mcModelViewMatrix,
mcProjectionMatrix,
frameTime,
ClientLevelWrapper.getWrapper(this.level)
);
}
else if (renderType.equals(RenderType.tripwire()))
{
ClientApi.INSTANCE.renderFade(
mcModelViewMatrix,
mcProjectionMatrix,
frameTime,
ClientLevelWrapper.getWrapper(this.level)
);
}
if (Config.Client.Advanced.Debugging.lodOnlyMode.get())
{
callback.cancel();