diff options
author | makamys <makamys@outlook.com> | 2022-06-24 09:59:15 +0200 |
---|---|---|
committer | makamys <makamys@outlook.com> | 2022-06-25 07:27:12 +0200 |
commit | d5d08eb64a91c1a5b74e401037628260cfd8059c (patch) | |
tree | bf28db78fa10f92a28e82639943fe3cc409ee514 /src/main/java/makamys/neodymium/mixin | |
parent | 41c8ac491b8e168f871e8d5eec1a13208e272410 (diff) | |
download | Neodymium-d5d08eb64a91c1a5b74e401037628260cfd8059c.tar.gz Neodymium-d5d08eb64a91c1a5b74e401037628260cfd8059c.tar.bz2 Neodymium-d5d08eb64a91c1a5b74e401037628260cfd8059c.zip |
DESTROOOOY
Delete unused LOD stuff. I can always restore it from Git history if I need it
later.
Diffstat (limited to 'src/main/java/makamys/neodymium/mixin')
4 files changed, 1 insertions, 157 deletions
diff --git a/src/main/java/makamys/neodymium/mixin/MixinWorldRenderer.java b/src/main/java/makamys/neodymium/mixin/MixinWorldRenderer.java index 997ac67..a45257f 100644 --- a/src/main/java/makamys/neodymium/mixin/MixinWorldRenderer.java +++ b/src/main/java/makamys/neodymium/mixin/MixinWorldRenderer.java @@ -3,46 +3,28 @@ package makamys.neodymium.mixin; import java.util.ArrayList; import java.util.List; -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.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import makamys.neodymium.Config; import makamys.neodymium.Neodymium; import makamys.neodymium.ducks.IWorldRenderer; import makamys.neodymium.renderer.ChunkMesh; import makamys.neodymium.renderer.NeoRenderer; -import makamys.neodymium.renderer.lod.FarChunkCache; -import makamys.neodymium.renderer.lod.FarWorldRenderer; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.WorldRenderer; -import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.ChunkCache; -import net.minecraft.world.World; /** Inserts hooks in WorldRenderer to listen for changes, and to grab the tessellator data right before rendering. */ @Mixin(WorldRenderer.class) abstract class MixinWorldRenderer implements IWorldRenderer { @Shadow - public int posX; - @Shadow - public int posY; - @Shadow - public int posZ; - - @Shadow private boolean isInFrustum; @Shadow public boolean[] skipRenderPass; - @Shadow - private int glRenderList; @Shadow public boolean needsUpdate; @@ -52,22 +34,6 @@ abstract class MixinWorldRenderer implements IWorldRenderer { public List<ChunkMesh> chunkMeshes; - @Redirect(method = "setPosition", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/entity/RenderItem;renderAABB(Lnet/minecraft/util/AxisAlignedBB;)V")) - private void redirectRenderAABB(AxisAlignedBB p1) { - if(!FarWorldRenderer.class.isInstance(this.getClass())) { - RenderItem.renderAABB(p1); - } - } - - @Redirect(method = "updateRenderer", at = @At(value = "NEW", target = "Lnet/minecraft/world/ChunkCache;")) - private ChunkCache redirectConstructChunkCache(World p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8) { - if(!FarWorldRenderer.class.isInstance(this.getClass())) { - return new ChunkCache(p1, p2, p3, p4, p5, p6, p7, p8); - } else { - return new FarChunkCache(p1, p2, p3, p4, p5, p6, p7, p8); - } - } - @Inject(method = "updateRenderer", at = @At(value = "HEAD")) private void preUpdateRenderer(CallbackInfo ci) { saveDrawnStatus(); @@ -101,49 +67,13 @@ abstract class MixinWorldRenderer implements IWorldRenderer { @Inject(method = "postRenderBlocks", at = @At(value = "HEAD")) private void prePostRenderBlocks(int pass, EntityLivingBase entity, CallbackInfo ci) { - if(insideUpdateRenderer && Neodymium.isActive() && !Config.disableChunkMeshes) { + if(insideUpdateRenderer && Neodymium.isActive()) { if(chunkMeshes != null) { chunkMeshes.add(ChunkMesh.fromTessellator(pass, WorldRenderer.class.cast(this), Tessellator.instance)); } } } - @Redirect(method = "postRenderBlocks", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/Tessellator;draw()I")) - private int redirectPostRenderBlocksDraw() { - if(!FarWorldRenderer.class.isInstance(this.getClass())) { - return Tessellator.instance.draw(); - } else { - Tessellator.instance.reset(); - return 0; - } - } - - // There's probably a nicer way to do this - - @Redirect(method = "postRenderBlocks", at = @At(value = "INVOKE", target = "Lorg/lwjgl/opengl/GL11;glPopMatrix()V")) - private void redirectPostRenderBlocksGL1() { - if(!FarWorldRenderer.class.isInstance(this.getClass())) { - GL11.glPopMatrix(); - } - } - - @Redirect(method = "postRenderBlocks", at = @At(value = "INVOKE", target = "Lorg/lwjgl/opengl/GL11;glEndList()V")) - private void redirectPostRenderBlocksGL2() { - if(!FarWorldRenderer.class.isInstance(this.getClass())) { - GL11.glEndList(); - } - } - - // XXX this is inconsistent, Forge callbacks are preserved in postRenderBlocks but not preRenderBlocks - - @Inject(method = "preRenderBlocks", at = @At(value = "HEAD")) - private void preRenderBlocksInjector(CallbackInfo ci) { - if(FarWorldRenderer.class.isInstance(this.getClass())) { - Tessellator.instance.setTranslation((double)(-this.posX), (double)(-this.posY), (double)(-this.posZ)); - ci.cancel(); - } - } - @Inject(method = "setDontDraw", at = @At(value = "HEAD")) private void preSetDontDraw(CallbackInfo ci) { if(Neodymium.isActive()) { diff --git a/src/main/java/makamys/neodymium/mixin/unused/lod/MixinChunkCache.java b/src/main/java/makamys/neodymium/mixin/unused/lod/MixinChunkCache.java deleted file mode 100644 index 98dce9d..0000000 --- a/src/main/java/makamys/neodymium/mixin/unused/lod/MixinChunkCache.java +++ /dev/null @@ -1,29 +0,0 @@ -package makamys.neodymium.mixin.unused.lod; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; - -import makamys.neodymium.Neodymium; -import makamys.neodymium.renderer.lod.FarChunkCache; -import net.minecraft.world.ChunkCache; -import net.minecraft.world.World; -import net.minecraft.world.chunk.Chunk; - -/** Unused remnant from LODMod. Handles reusage of Chunks when a LOD chunk becomes loaded. */ -@Mixin(ChunkCache.class) -abstract class MixinChunkCache { - - @Redirect(method = "<init>*", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;getChunkFromChunkCoords(II)Lnet/minecraft/world/chunk/Chunk;")) - private Chunk redirectGetChunkFromChunkCoords(World world, int p1, int p2) { - Chunk chunk = world.getChunkFromChunkCoords(p1, p2); - if(Neodymium.isActive() && FarChunkCache.class.isInstance(this.getClass()) && chunk.isEmpty()) { - Chunk myChunk = Neodymium.renderer.getChunkFromChunkCoords(p1, p2); - if(myChunk != null) { - chunk = myChunk; - } - } - return chunk; - } - -} diff --git a/src/main/java/makamys/neodymium/mixin/unused/lod/MixinEntityRenderer.java b/src/main/java/makamys/neodymium/mixin/unused/lod/MixinEntityRenderer.java deleted file mode 100644 index 7ddade1..0000000 --- a/src/main/java/makamys/neodymium/mixin/unused/lod/MixinEntityRenderer.java +++ /dev/null @@ -1,32 +0,0 @@ -package makamys.neodymium.mixin.unused.lod; - -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.callback.CallbackInfo; - -import makamys.neodymium.Neodymium; -import net.minecraft.client.renderer.EntityRenderer; - -/** Unused remnant from LODMod. Handles changing fog distance. */ -@Mixin(EntityRenderer.class) -abstract class MixinEntityRenderer { - - @Shadow - private float farPlaneDistance; - - @Inject(method = "setupCameraTransform", at = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/EntityRenderer;farPlaneDistance:F", shift = At.Shift.AFTER, ordinal = 1)) - private void onConstructed(CallbackInfo ci) { - if(Neodymium.isActive()) { - farPlaneDistance *= Neodymium.renderer.getFarPlaneDistanceMultiplier(); - } - } - - @Inject(method = "setupFog", at = @At(value = "RETURN")) - private void afterSetupFog(int mode, float alpha, CallbackInfo ci) { - if(Neodymium.isActive()) { - Neodymium.renderer.afterSetupFog(mode, alpha, farPlaneDistance); - } - } -} diff --git a/src/main/java/makamys/neodymium/mixin/unused/lod/MixinRenderBlocks.java b/src/main/java/makamys/neodymium/mixin/unused/lod/MixinRenderBlocks.java deleted file mode 100644 index 0af9799..0000000 --- a/src/main/java/makamys/neodymium/mixin/unused/lod/MixinRenderBlocks.java +++ /dev/null @@ -1,25 +0,0 @@ -package makamys.neodymium.mixin.unused.lod; - -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; - -import makamys.neodymium.Neodymium; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.world.IBlockAccess; - -/** Unused remnant from LODMod. Disables a wall being drawn on the edges of chunks facing unloaded chunks. */ -@Mixin(RenderBlocks.class) -abstract class MixinRenderBlocks { - - @Redirect(method = "renderBlockLiquid", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/Block;shouldSideBeRendered(Lnet/minecraft/world/IBlockAccess;IIII)Z")) - public boolean shouldSideBeRendered(Block block, IBlockAccess ba, int x, int y, int z, int w) { - if(Neodymium.isActive()) { - return Neodymium.renderer.shouldSideBeRendered(block, ba, x, y, z, w); - } else { - return block.shouldSideBeRendered(ba, x, y, z, w); - } - } - -} |