aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormakamys <makamys@outlook.com>2022-06-30 09:08:42 +0200
committermakamys <makamys@outlook.com>2022-06-30 09:09:29 +0200
commit20782db23be14111d11ac60ae5d4b5a1d7853bb7 (patch)
tree0a0af9e80ca638dc1eb67c32aed56f038c2bf135 /src
parent362a3b7d50557a4b86d70b398d37a9c438ffa262 (diff)
downloadNeodymium-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.java9
-rw-r--r--src/main/java/makamys/neodymium/mixin/MixinWorldRenderer.java27
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);
}
}