diff options
Diffstat (limited to 'src/main/java/makamys/neodymium/mixin/MixinRenderGlobal.java')
-rw-r--r-- | src/main/java/makamys/neodymium/mixin/MixinRenderGlobal.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/main/java/makamys/neodymium/mixin/MixinRenderGlobal.java b/src/main/java/makamys/neodymium/mixin/MixinRenderGlobal.java new file mode 100644 index 0000000..dc561a2 --- /dev/null +++ b/src/main/java/makamys/neodymium/mixin/MixinRenderGlobal.java @@ -0,0 +1,40 @@ +package makamys.neodymium.mixin; + +import java.nio.IntBuffer; + +import org.lwjgl.opengl.GL11; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.ModifyVariable; +import org.spongepowered.asm.mixin.injection.Redirect; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +import makamys.neodymium.LODMod; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.RenderGlobal; +import net.minecraft.client.renderer.WorldRenderer; +import net.minecraft.entity.Entity; + +@Mixin(RenderGlobal.class) +abstract class MixinRenderGlobal { + + @Shadow + private WorldRenderer[] sortedWorldRenderers; + + @Redirect(method = "renderSortedRenderers", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/RenderGlobal;renderAllRenderLists(ID)V")) + private void redirectRenderAllRenderLists(RenderGlobal thiz, int p1, double p2) { + if(LODMod.shouldRenderVanillaWorld()) { + thiz.renderAllRenderLists(p1, p2); + } + } + + @Inject(method = "renderSortedRenderers", at = @At(value = "HEAD")) + public void preRenderSortedRenderers(int startRenderer, int numRenderers, int renderPass, double partialTickTime, CallbackInfoReturnable cir) { + if(LODMod.isActive()) { + LODMod.renderer.preRenderSortedRenderers(renderPass, partialTickTime, sortedWorldRenderers); + } + } +} |