diff options
Diffstat (limited to 'src/World/World.cpp')
| -rw-r--r-- | src/World/World.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/World/World.cpp b/src/World/World.cpp index b5dae43..ff8d22e 100644 --- a/src/World/World.cpp +++ b/src/World/World.cpp @@ -42,18 +42,18 @@ std::vector<ChunkRegistry::Data*> World::get_visible_chunks(Time const& time, Po } Chunk::BlockData World::block_at(Position::BlockWorld pos) { - auto& data = m_registry.find(pos); - if (data.chunk.has_value()) return data.chunk->at(pos.to_local()); + auto data = m_registry.find(pos); + if (data && data->chunk.has_value()) return data->chunk->at(pos.to_local()); return {}; } void World::set_block(Position::BlockWorld pos, BlockType type) { - auto& chunk_data = m_registry.find(pos); - if (!chunk_data.chunk.has_value()) return; + auto chunk_data = m_registry.find(pos); + if (!chunk_data || !chunk_data->chunk.has_value()) return; - auto& block_data = chunk_data.chunk->at(pos.to_local()); + auto& block_data = chunk_data->chunk->at(pos.to_local()); block_data.type = type; - chunk_data.damage(); + chunk_data->damage(); } void World::break_block(Position::BlockWorld pos) { |
