#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) { if (!Chunk::is_valid_position(pos.to_local())) return nullptr; return &get(ChunkIndex::from_position(pos)); } ChunkRegistry::Data* ChunkRegistry::find(Position::World pos) { return find(pos.round_to_block()); } }