#include "ChunkRegistry.hpp" namespace MC::World { ChunkRegistry::Data& ChunkRegistry::get(ChunkIndex index) { auto entry = m_chunks.find(index); if (entry == m_chunks.end()) { Data data{index, Status::Empty}; m_chunks.insert({index, std::move(data)}); return m_chunks.at(index); } return entry->second; } ChunkRegistry::Data& ChunkRegistry::find(Position::BlockWorld pos) { return get({ static_cast(pos.x() / Chunk::Width), static_cast(pos.z() / Chunk::Width) }); } ChunkRegistry::Data& ChunkRegistry::find(ChunkIndex chunk, Position::BlockLocal pos) { return find(chunk.world(pos)); } }