Освещённость в мире

Версия Minecraft
1.10.2
4,045
63
645
Всем привет! Думаю, вопрос будет лёгким.
Пытаюсь я, значит, узнать освещённость в конкретной точке мира. Причём, освещённость эта должна учитывать не только видимость неба и время суток, но и свет от окружающих блоков.
Использую для этого метод world.getLightBrightness(pos).
Однако, вот беда, выяснилось, что адекватно он работает только на сервере. На клиенте всегда выдаёт 15 единиц.
Забыл упомянуть, что в мою задачу входит выяснение освещённости на обеих сторонах (на сервере и на клиенте).
Кто-нибудь может подсказать простой способ/метод для решения этой задачи?

А то я тут навертел уже...
Код:
float light = Math.max(world.getLightFor(EnumSkyBlock.BLOCK, pos) * 0.625F, world.getLightFor(EnumSkyBlock.SKY, pos) * getSunBrightnessBody(world, 0));
 
private static float getSunBrightnessBody(World world, float tick) {
    float cel = world.getCelestialAngle(tick) * ((float)Math.PI * 2F);
    float f1 = 1.0F - (MathHelper.cos(cel) * 2.0F + 0.2F);
    f1 = MathHelper.clamp_float(f1, 0.0F, 1.0F);
    f1 = 1.0F - f1;
    f1 = (float)(f1 * (1.0D - world.getRainStrength(tick) * 5.0F / 16.0D));
    f1 = (float)(f1 * (1.0D - world.getThunderStrength(tick) * 5.0F / 16.0D));
    return f1 * 0.8F + 0.2F;
}
 
7,099
324
1,510
На клиенте чанк с блоков должен быть получен с сервера и входиь в область прорисовки, наверное, в этом проблема. Если блок за границей некоторой области, то отправляй пакеты с серва
 
Сверху