public List <BlockVec.Direction> GetEmptyAround(BlockVec pos) { List <BlockVec.Direction> outDirs = new List <BlockVec.Direction>(); foreach (BlockVec.Direction dir in Enum.GetValues(typeof(BlockVec.Direction))) { BlockVec checkPos = pos.Add(BlockVec.DirectionAsVec(dir)); /* * print(pos.x + " " + pos.y + " " + pos.z); * print(checkPos.x + " " + checkPos.y + " " + checkPos.z); * print(BlockVec.DirectionAsVec(dir).x + " " + BlockVec.DirectionAsVec(dir).y + " " + BlockVec.DirectionAsVec(dir).z); */ if (GetBlockByPos(checkPos) == null)//when fixed, also check isInRange(checkPos, startChunkPos, endChunkPos) { outDirs.Add(dir); } } return(outDirs); }