fix lighting

This commit is contained in:
Sen 2025-07-17 16:20:46 +02:00
parent e289dc7d5b
commit 2ea8656390
Signed by: sen
GPG key ID: 3AC50A6F47D1B722
4 changed files with 14 additions and 13 deletions

View file

@ -1737,7 +1737,7 @@ public class Client implements IThreadListener {
lline = "Licht: " + chunk.getLightSub(blockpos, 0) + " (" + chunk.getLight(LightType.SKY, blockpos) + " Himmel, "
+ chunk.getLight(LightType.BLOCK, blockpos) + " Blöcke, " + String.format(
"%.1f", this.world.getSunBrightness(1.0f) * 15.0f) + " Welt), A: "
+ String.format("%.3f °", this.world.getCelestialAngle(1.0f));
+ String.format("%.1f °", this.world.getCelestialAngle(1.0f));
}
else {
bline = "Biom: <?>, D: " +
@ -1745,7 +1745,7 @@ public class Client implements IThreadListener {
" (" + (this.dimensionName == null ? UniverseRegistry.getName(this.world.dimension) : this.dimensionName) + ")";
lline = "Licht: " + String.format(
"%.1f", this.world.getSunBrightness(1.0f) * 15.0f) + " Welt, A: "
+ String.format("%.3f °", this.world.getCelestialAngle(1.0f));
+ String.format("%.1f °", this.world.getCelestialAngle(1.0f));
}
float temp = Math.max(this.world.getTempOffset() + (biome != null ? biome.getTemperature(blockpos) : 0.0f), 0.0f);

View file

@ -750,21 +750,22 @@ public class EntityRenderer {
float sun = world.getSunBrightness(1.0F);
float msun = sun * 0.95F + 0.05F;
float space = world.getSpaceFactor();
float brightness = (float)world.dimension.getBrightness() / 15.0f;
for (int n = 0; n < 256; ++n)
{
float sky = World.BRIGHTNESS[world.dimension.getBrightness()][n / 16] * msun;
float rsky = World.BRIGHTNESS[0][n / 16];
float block = World.BRIGHTNESS[world.dimension.getBrightness()][n % 16] * (this.torchFlickerX * 0.1F + 1.5F);
float sky = rsky * msun;
float rblock = World.BRIGHTNESS[0][n % 16];
float block = rblock * (this.torchFlickerX * 0.1F + 1.5F);
float sred = sky * (sun * 0.65F + 0.35F);
float sgreen = sky * (sun * 0.65F + 0.35F);
float sblue = sky;
float sred = Math.max(sky * (sun * 0.65F + 0.35F), brightness);
float sgreen = Math.max(sky * (sun * 0.65F + 0.35F), brightness);
float sblue = Math.max(sky, brightness);
if (world.dimension.getLightColor() != 0xffffffff)
{
Vec3 lightColor = new Vec3(world.dimension.getLightColor());
float light = world.dimension.hasSkyLight() ? sky : 1.0f;
float light = world.dimension.hasSkyLight() ? Math.max(sky, brightness) : 1.0f;
sred = (float)lightColor.xCoord * light;
sgreen = (float)lightColor.yCoord * light;
sblue = (float)lightColor.zCoord * light;
@ -792,7 +793,7 @@ public class EntityRenderer {
if (world.dimension.getBlockColor() != 0xffffffff)
{
Vec3 lightColor = new Vec3(world.dimension.getBlockColor());
float light = world.dimension.isBlockLightSubtracted() ? rblock * (this.torchFlickerX * 0.1F + 1.5F) : block;
float light = block;
if(light > 1.0F)
light = 1.0F;
bred = (float)lightColor.xCoord * light;