private List <CaveRoom> GenerateRooms(int roomCount = 4)
    {
        List <CaveRoom> rooms = new List <CaveRoom>();

        for (int i = 0; i < roomCount; i++)
        {
            Vector3 size    = GenRan.RandomVector3(8, 32, 3, 7, 8, 32);
            Vec3i   roomPos = GenRan.RandomVec3i((int)size.x + 1, (int)(TileSize.x - size.x - 1), (int)size.y + 1, (int)(World.ChunkHeight - size.y - 1),
                                                 (int)size.z + 1, (int)(TileSize.z - size.z - 1));
            Debug.Log(roomPos + "_" + size);
            rooms.Add(new CaveRoom(roomPos, size, new Vec3i(0, 0, 0), new Vec3i(0, 0, 0)));
            List <Vec3i> vs = rooms[rooms.Count - 1].AllPointsInside();
            Debug.Log(vs.Count + " nodes total");
            foreach (Vec3i v in vs)
            {
                //if(InBounds(v))
                ClearVoxelNode(v.x, v.y, v.z);
                Densities[v.x, v.y, v.z] = 0;
            }
        }
        return(rooms);
    }