1 package com.irtimaled.bbor.mixin.client.renderer;
3 import com.irtimaled.bbor.client.interop.ClientInterop;
4 import net.minecraft.client.MinecraftClient;
5 import net.minecraft.client.render.Camera;
6 import net.minecraft.client.render.GameRenderer;
7 import net.minecraft.client.render.LightmapTextureManager;
8 import net.minecraft.client.render.WorldRenderer;
9 import net.minecraft.client.util.math.Matrix4f;
10 import net.minecraft.client.util.math.MatrixStack;
11 import org.spongepowered.asm.mixin.Final;
12 import org.spongepowered.asm.mixin.Mixin;
13 import org.spongepowered.asm.mixin.Shadow;
14 import org.spongepowered.asm.mixin.injection.At;
15 import org.spongepowered.asm.mixin.injection.Inject;
16 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
18 @Mixin(WorldRenderer.class)
19 public class MixinGameRenderer {
22 private MinecraftClient client;
24 @Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/debug/DebugRenderer;render(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider$Immediate;DDD)V", shift = At.Shift.BEFORE))
25 private void renderFirst(MatrixStack ignored_1, float partialTicks, long ignored_2, boolean ignored_3, Camera ignored_4, GameRenderer ignored_5, LightmapTextureManager ignored_6, Matrix4f ignored_7, CallbackInfo ci) {
26 ClientInterop.render(partialTicks, this.client.player);
29 @Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/WorldRenderer;renderChunkDebugInfo(Lnet/minecraft/client/render/Camera;)V", shift = At.Shift.BEFORE))
30 private void render(MatrixStack ignored_1, float partialTicks, long ignored_2, boolean ignored_3, Camera ignored_4, GameRenderer ignored_5, LightmapTextureManager ignored_6, Matrix4f ignored_7, CallbackInfo ci) {
31 ClientInterop.renderDeferred();