Fix relight and removelight (#475)

* Start work on lighting engine (does not build)

* Implement getLighting

* Setting, flushing light etc works. Getting light should be working..?

* Better queue/chunk handling

* Use correct location for lighting update

* Correct set location, remove debug

* cleanup a little

* Fix fixlight

* Apply to all versions for the numpties

* Remove lighting extent if not using

* Actually bitmask blocks when setting in chunks

* Initialise Maps and Dequeues with inital size

* format

* Documentation maybe
This commit is contained in:
dordsor21
2020-05-27 11:45:08 +01:00
committed by GitHub
parent 1ff5e7761b
commit bdc14c10c7
27 changed files with 1910 additions and 93 deletions

View File

@ -436,6 +436,24 @@ public class MCAChunk implements IChunk {
return true;
}
@Override public void setBlockLight(int x, int y, int z, int value) {
}
@Override public void setSkyLight(int x, int y, int z, int value) {
}
@Override public void removeSectionLighting(int layer, boolean sky) {}
@Override public void setFullBright(int layer) {}
@Override
public void setLightLayer(int layer, char[] toSet) {}
@Override
public void setSkyLightLayer(int layer, char[] toSet) {}
@Override
public void setEntity(CompoundTag entityTag) {
setModified();
@ -454,6 +472,14 @@ public class MCAChunk implements IChunk {
return this.biomes;
}
@Override public char[][] getLight() {
return new char[0][];
}
@Override public char[][] getSkyLight() {
return new char[0][];
}
@Override
public boolean setBiome(BlockVector2 pos, BiomeType biome) {
return this.setBiome(pos.getX(), 0, pos.getZ(), biome);
@ -499,6 +525,15 @@ public class MCAChunk implements IChunk {
return BlockState.getFromOrdinal(ordinal);
}
//TODO implement lighting
@Override public int getSkyLight(int x, int y, int z) {
return 0;
}
@Override public int getEmmittedLight(int x, int y, int z) {
return 0;
}
@Override
public BaseBlock getFullBlock(int x, int y, int z) {
BlockState block = getBlock(x, y, z);