Skip to content

Commit 0d7ae67

Browse files
committed
bug fix
1 parent 4874b1a commit 0d7ae67

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

src/main/java/cn/ussshenzhou/madparticle/util/LightCache.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,14 @@ public void invalidateAll() {
7070
}
7171

7272
public byte getOrCompute(int x, int y, int z, SingleQuadParticle particle) {
73-
if (isInRange(x, y, z)) {
74-
var camera = Minecraft.getInstance().gameRenderer.getMainCamera().position();
75-
int rx = Mth.floor(x - camera.x) + XZ_RANGE;
76-
int ry = Mth.floor(y - camera.y) + Y_RANGE;
77-
int rz = Mth.floor(z - camera.z) + XZ_RANGE;
73+
var camera = Minecraft.getInstance().gameRenderer.getMainCamera().position();
74+
double cameraX = camera.x;
75+
double cameraY = camera.y;
76+
double cameraZ = camera.z;
77+
if (isInRange(x, y, z, cameraX, cameraY, cameraZ)) {
78+
int rx = Mth.floor(x - cameraX) + XZ_RANGE;
79+
int ry = Mth.floor(y - cameraY) + Y_RANGE;
80+
int rz = Mth.floor(z - cameraZ) + XZ_RANGE;
7881
byte value = bright[rx][rz][ry];
7982
int i = rx * XZ_RANGE * 2 * Y_RANGE * 2 / 8 + rz * Y_RANGE * 2 / 8 + ry / 8;
8083
byte mod = modifyFlag.get(i);
@@ -114,8 +117,7 @@ private byte getMax(int packedLight) {
114117
return (byte) (Math.max(block, sky));
115118
}
116119

117-
private boolean isInRange(int x, int y, int z) {
118-
var camera = Minecraft.getInstance().gameRenderer.getMainCamera().position();
119-
return Math.abs(x - camera.x) < XZ_RANGE && Math.abs(y - camera.y) < Y_RANGE && Math.abs(z - camera.z) < XZ_RANGE;
120+
private boolean isInRange(int x, int y, int z, double cameraX, double cameraY, double cameraZ) {
121+
return Math.abs(x - cameraX) < XZ_RANGE && Math.abs(y - cameraY) < Y_RANGE && Math.abs(z - cameraZ) < XZ_RANGE;
120122
}
121123
}

0 commit comments

Comments
 (0)