public List<ChunkCoordinates> chunks() {
        if (!this.isDefined()) return Collections.<ChunkCoordinates>emptyList();

        final List<ChunkCoordinates> coords = new ArrayList<ChunkCoordinates>();
        for (int x = this.minChunkX; x <= this.maxChunkX; x++)
            for (int z = this.minChunkZ; z <= this.maxChunkZ; z++)
                coords.add(new ChunkCoordinates(x, z));

        return coords;
    }