using OpenTK.Mathematics; using VoxelEngine.World.Blocks; using VoxelEngine.World.Persistence; namespace VoxelEngine.World; public interface IWorld { IChunkModificationStore ModificationStore { get; } void SetChunk(Vector3i chunkPos, Chunk.Chunk chunk); void RemoveChunk(Vector3i chunkPos); Chunk.Chunk? GetChunk(Vector3i chunkPos); IBlock GetBlock(int worldX, int worldY, int worldZ); bool SetBlock(int worldX, int worldY, int worldZ, ushort blockId); }