Mirror von
https://github.com/IntellectualSites/FastAsyncWorldEdit.git
synchronisiert 2024-11-03 01:50:07 +01:00
Minor changes to NMS logic
Dieser Commit ist enthalten in:
Ursprung
3caf53987f
Commit
9f6e0ebd5c
@ -128,6 +128,7 @@ public class BukkitGetBlocks_1_14 extends CharGetBlocks {
|
|||||||
public int getSkyLight(int x, int y, int z) {
|
public int getSkyLight(int x, int y, int z) {
|
||||||
int layer = y >> 4;
|
int layer = y >> 4;
|
||||||
if (skyLight[layer] == null) {
|
if (skyLight[layer] == null) {
|
||||||
|
//getDataLayerData
|
||||||
skyLight[layer] = world.getChunkProvider().getLightEngine().a(EnumSkyBlock.SKY).a(SectionPosition.a(nmsChunk.getPos(), layer));
|
skyLight[layer] = world.getChunkProvider().getLightEngine().a(EnumSkyBlock.SKY).a(SectionPosition.a(nmsChunk.getPos(), layer));
|
||||||
}
|
}
|
||||||
long l = BlockPosition.a(x, y, z);
|
long l = BlockPosition.a(x, y, z);
|
||||||
@ -138,6 +139,7 @@ public class BukkitGetBlocks_1_14 extends CharGetBlocks {
|
|||||||
public int getEmmittedLight(int x, int y, int z) {
|
public int getEmmittedLight(int x, int y, int z) {
|
||||||
int layer = y >> 4;
|
int layer = y >> 4;
|
||||||
if (blockLight[layer] == null) {
|
if (blockLight[layer] == null) {
|
||||||
|
//getDataLayerData
|
||||||
blockLight[layer] = world.getChunkProvider().getLightEngine().a(EnumSkyBlock.BLOCK).a(SectionPosition.a(nmsChunk.getPos(), layer));
|
blockLight[layer] = world.getChunkProvider().getLightEngine().a(EnumSkyBlock.BLOCK).a(SectionPosition.a(nmsChunk.getPos(), layer));
|
||||||
}
|
}
|
||||||
long l = BlockPosition.a(x, y, z);
|
long l = BlockPosition.a(x, y, z);
|
||||||
|
@ -428,7 +428,7 @@ public class NMSRelighter implements Relighter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (int y = 255; y > 0; y--) {
|
for (int y = 255; y > 0; y--) {
|
||||||
for (RelightSkyEntry chunk : chunks) { // Propogate skylight
|
for (RelightSkyEntry chunk : chunks) { // Propagate skylight
|
||||||
int layer = y >> 4;
|
int layer = y >> 4;
|
||||||
byte[] mask = chunk.mask;
|
byte[] mask = chunk.mask;
|
||||||
if ((y & 15) == 15 && chunk.fix[layer] != SkipReason.NONE) {
|
if ((y & 15) == 15 && chunk.fix[layer] != SkipReason.NONE) {
|
||||||
@ -596,7 +596,7 @@ public class NMSRelighter implements Relighter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class RelightSkyEntry implements Comparable {
|
private class RelightSkyEntry implements Comparable<RelightSkyEntry> {
|
||||||
public final int x;
|
public final int x;
|
||||||
public final int z;
|
public final int z;
|
||||||
public final byte[] mask;
|
public final byte[] mask;
|
||||||
@ -625,18 +625,17 @@ public class NMSRelighter implements Relighter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int compareTo(Object o) {
|
public int compareTo(RelightSkyEntry o) {
|
||||||
RelightSkyEntry other = (RelightSkyEntry) o;
|
if (o.x < x) {
|
||||||
if (other.x < x) {
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if (other.x > x) {
|
if (o.x > x) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (other.z < z) {
|
if (o.z < z) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if (other.z > z) {
|
if (o.z > z) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren