ProjectZombie/src/projectzombie/display/lighting/ChunkLightingTemp.java

50 lines
1.2 KiB
Java
Executable File

package projectzombie.display.lighting;
import gl_engine.vec.Vec2i;
import projectzombie.world.chunk.Chunk;
public class ChunkLightingTemp
{
private byte lighting_daylight[] = new byte[Chunk.CHUNK_INDEX];
private byte lighting_light[] = new byte[Chunk.CHUNK_INDEX];
public ChunkLightingTemp() {
for(int i=0;i<Chunk.CHUNK_INDEX;i++) {
lighting_daylight[i] = 0;
lighting_light[i] = 0;
}
}
public void setDaylightLevel(double v, Vec2i pos) {
setDaylightLevel(v, pos.getId(Chunk.CHUNK_SIZE));
}
public void setDaylightLevel(double v, int id) {
lighting_daylight[id] = (byte)(v * Byte.MAX_VALUE);
}
public void setLightLevel(double v, Vec2i pos) {
setLightLevel(v, pos.getId(Chunk.CHUNK_SIZE));
}
public void setLightLevel(double v, int id) {
lighting_light[id] = (byte)(v * Byte.MAX_VALUE);
}
public double getDaylightLevel(Vec2i pos) {
return getDaylightLevel(pos.getId(Chunk.CHUNK_SIZE));
}
public double getDaylightLevel(int id) {
return lighting_daylight[id] / (double)Byte.MAX_VALUE;
}
public double getLightLevel(Vec2i pos) {
return getLightLevel(pos.getId(Chunk.CHUNK_SIZE));
}
public double getLightLevel(int id) {
return lighting_light[id] / (double)Byte.MAX_VALUE;
}
}