]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/mixin/client/renderer/MixinWorldRenderer.java
Update to 1.17.1 (#124)
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / mixin / client / renderer / MixinWorldRenderer.java
1 package com.irtimaled.bbor.mixin.client.renderer;
2
3 import com.google.common.base.Preconditions;
4 import com.irtimaled.bbor.client.Player;
5 import com.irtimaled.bbor.client.RenderCulling;
6 import com.irtimaled.bbor.client.interop.ClientInterop;
7 import net.minecraft.client.MinecraftClient;
8 import net.minecraft.client.render.Camera;
9 import net.minecraft.client.render.Frustum;
10 import net.minecraft.client.render.GameRenderer;
11 import net.minecraft.client.render.LightmapTextureManager;
12 import net.minecraft.client.render.WorldRenderer;
13 import net.minecraft.client.util.math.MatrixStack;
14 import net.minecraft.util.math.Matrix4f;
15 import org.spongepowered.asm.mixin.Final;
16 import org.spongepowered.asm.mixin.Mixin;
17 import org.spongepowered.asm.mixin.Shadow;
18 import org.spongepowered.asm.mixin.injection.At;
19 import org.spongepowered.asm.mixin.injection.Inject;
20 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
21
22 @Mixin(WorldRenderer.class)
23 public class MixinWorldRenderer {
24
25     @Shadow @Final private MinecraftClient client;
26
27     @Shadow private Frustum frustum;
28
29     @Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/RenderLayer;getWaterMask()Lnet/minecraft/client/render/RenderLayer;", shift = At.Shift.BEFORE))
30     private void onRender(MatrixStack matrixStack, float partialTicks, long ignored_2, boolean ignored_3, Camera ignored_4, GameRenderer ignored_5, LightmapTextureManager ignored_6, Matrix4f ignored_7, CallbackInfo ci) {
31         Preconditions.checkNotNull(this.client.player);
32         RenderCulling.setFrustum(frustum);
33         RenderCulling.flushStats();
34         Player.setPosition(partialTicks, this.client.player);
35         ClientInterop.render(matrixStack, this.client.player);
36         ClientInterop.renderDeferred();
37     }
38
39 }