diff options
author | makamys <makamys@outlook.com> | 2022-06-30 09:08:42 +0200 |
---|---|---|
committer | makamys <makamys@outlook.com> | 2022-06-30 09:09:29 +0200 |
commit | 20782db23be14111d11ac60ae5d4b5a1d7853bb7 (patch) | |
tree | 0a0af9e80ca638dc1eb67c32aed56f038c2bf135 /src | |
parent | 362a3b7d50557a4b86d70b398d37a9c438ffa262 (diff) | |
download | Neodymium-20782db23be14111d11ac60ae5d4b5a1d7853bb7.tar.gz Neodymium-20782db23be14111d11ac60ae5d4b5a1d7853bb7.tar.bz2 Neodymium-20782db23be14111d11ac60ae5d4b5a1d7853bb7.zip |
Make mixin members less conflict-prone
From my testing, @Unique does its job for methods, but not fields, so I manually
prefixed fields.
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/makamys/neodymium/mixin/MixinRenderGlobal.java | 9 | ||||
-rw-r--r-- | src/main/java/makamys/neodymium/mixin/MixinWorldRenderer.java | 27 |
2 files changed, 19 insertions, 17 deletions
diff --git a/src/main/java/makamys/neodymium/mixin/MixinRenderGlobal.java b/src/main/java/makamys/neodymium/mixin/MixinRenderGlobal.java index f4d01ac..3574868 100644 --- a/src/main/java/makamys/neodymium/mixin/MixinRenderGlobal.java +++ b/src/main/java/makamys/neodymium/mixin/MixinRenderGlobal.java @@ -21,8 +21,7 @@ abstract class MixinRenderGlobal { @Shadow private WorldRenderer[] sortedWorldRenderers; - @Unique - private boolean isInsideUpdateRenderers; + private boolean nd$isInsideUpdateRenderers; @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) { @@ -48,12 +47,12 @@ abstract class MixinRenderGlobal { @Inject(method = "updateRenderers", at = @At(value = "RETURN")) public void postUpdateRenderers(EntityLivingBase entity, boolean flag, CallbackInfoReturnable<Boolean> cir) { - if(Neodymium.isActive() && !isInsideUpdateRenderers) { - isInsideUpdateRenderers = true; + if(Neodymium.isActive() && !nd$isInsideUpdateRenderers) { + nd$isInsideUpdateRenderers = true; for(int i = 0; i < Neodymium.renderer.rendererSpeedup; i++) { ((RenderGlobal)(Object)this).updateRenderers(entity, flag); } - isInsideUpdateRenderers = false; + nd$isInsideUpdateRenderers = false; } } } diff --git a/src/main/java/makamys/neodymium/mixin/MixinWorldRenderer.java b/src/main/java/makamys/neodymium/mixin/MixinWorldRenderer.java index ad7b3d2..d744409 100644 --- a/src/main/java/makamys/neodymium/mixin/MixinWorldRenderer.java +++ b/src/main/java/makamys/neodymium/mixin/MixinWorldRenderer.java @@ -5,6 +5,7 @@ import java.util.List; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -31,19 +32,19 @@ abstract class MixinWorldRenderer implements IWorldRenderer { @Shadow public boolean needsUpdate; - boolean savedDrawnStatus; + private boolean nd$savedDrawnStatus; - public List<ChunkMesh> chunkMeshes; + private List<ChunkMesh> nd$chunkMeshes; @Inject(method = {"updateRenderer", "updateRendererSort"}, at = @At(value = "HEAD")) private void preUpdateRenderer(CallbackInfo ci) { saveDrawnStatus(); if(Neodymium.isActive()) { - if(chunkMeshes != null) { - Collections.fill(chunkMeshes, null); + if(nd$chunkMeshes != null) { + Collections.fill(nd$chunkMeshes, null); } else { - chunkMeshes = Lists.newArrayList(null, null); + nd$chunkMeshes = Lists.newArrayList(null, null); } } } @@ -53,9 +54,9 @@ abstract class MixinWorldRenderer implements IWorldRenderer { notifyIfDrawnStatusChanged(); if(Neodymium.isActive()) { - if(chunkMeshes != null) { + if(nd$chunkMeshes != null) { Neodymium.renderer.onWorldRendererPost(WorldRenderer.class.cast(this)); - Collections.fill(chunkMeshes, null); + Collections.fill(nd$chunkMeshes, null); } } } @@ -63,8 +64,8 @@ abstract class MixinWorldRenderer implements IWorldRenderer { @Inject(method = "postRenderBlocks", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/Tessellator;draw()I")) private void prePostRenderBlocks(int pass, EntityLivingBase entity, CallbackInfo ci) { if(Neodymium.isActive()) { - if(chunkMeshes != null) { - chunkMeshes.set(pass, ChunkMesh.fromTessellator(pass, WorldRenderer.class.cast(this), Tessellator.instance)); + if(nd$chunkMeshes != null) { + nd$chunkMeshes.set(pass, ChunkMesh.fromTessellator(pass, WorldRenderer.class.cast(this), Tessellator.instance)); } } } @@ -78,7 +79,7 @@ abstract class MixinWorldRenderer implements IWorldRenderer { @Override public List<ChunkMesh> getChunkMeshes() { - return chunkMeshes; + return nd$chunkMeshes; } @Inject(method = "updateInFrustum", at = @At(value = "HEAD")) @@ -91,13 +92,15 @@ abstract class MixinWorldRenderer implements IWorldRenderer { notifyIfDrawnStatusChanged(); } + @Unique private void saveDrawnStatus() { - savedDrawnStatus = isDrawn(); + nd$savedDrawnStatus = isDrawn(); } + @Unique private void notifyIfDrawnStatusChanged() { boolean drawn = isDrawn(); - if(Neodymium.isActive() && drawn != savedDrawnStatus) { + if(Neodymium.isActive() && drawn != nd$savedDrawnStatus) { Neodymium.renderer.onWorldRendererChanged(WorldRenderer.class.cast(this), drawn ? NeoRenderer.WorldRendererChange.VISIBLE : NeoRenderer.WorldRendererChange.INVISIBLE); } } |