这是我在我的世界中寻找自由空间的方法。世界由可碰撞和不可碰撞的块组成。我不希望暴徒在可碰撞的块中生成,因为它们无法移动。但是,此方法无法正常工作,我该如何改进它以使代码实际上在空闲空间中生成所有小怪?
所有的块都是随机生成的。
public int findSpawnX(int limit) {
int xx = random.nextInt(limit) / 16; //find a random x coordinate and divide it by 16 to snap it to a block.
if (getBlock(xx, 0).solid()) findSpawnX(limit); //check if xx is at a solid block, if so then redo the method.
return xx; // if it is not solid then return the coordinate.
}
此代码有效。但是有些生物会成块生成。我希望所有随机生成的生物都不会生成在实心块中。