fix: attempting to build lights in non-local players chunk matrices

This commit is contained in:
MihailRis 2026-02-23 21:33:32 +03:00
parent 0051f06e46
commit 3308a61d56
4 changed files with 23 additions and 9 deletions

View file

@ -29,7 +29,8 @@ LevelController::LevelController(
settings(engine.getSettings()),
level(std::move(levelPtr)),
chunks(std::make_unique<ChunksController>(*level)),
playerTickClock(20, 3) {
playerTickClock(20, 3),
clientPlayer(clientPlayer) {
level->events->listen(LevelEventType::CHUNK_PRESENT, [](auto, Chunk* chunk) {
scripting::on_chunk_present(*chunk, chunk->flags.loaded);
@ -61,7 +62,7 @@ LevelController::LevelController(
player->chunks->configure(
std::floor(position.x), std::floor(position.z), 1
);
chunks->update(16, 1, 0, *player);
chunks->update(16, 1, 0, *player, player.get() == clientPlayer);
if (player->chunks->get(
std::floor(position.x), 0, std::floor(position.z)
)) {
@ -91,7 +92,8 @@ void LevelController::update(float delta, bool pause) {
settings.chunks.loadSpeed.get(),
settings.chunks.loadDistance.get(),
settings.chunks.padding.get(),
*player
*player,
player.get() == clientPlayer
);
}
if (!pause) {