我读了一篇blog关于在我的世界中检索立方体中的所有块并写出可以复制它的python脚本。代码为Minescan.py
然而,它逐个迭代x,y,z坐标,所以如果你有一个10x10x10的立方体,那么它将创建1000个语句;这不仅写入速度慢,而且执行速度慢。
我的Minecraft API可让您设置individual block或cuboid of blocks of the same type。
我希望改进这个程序,以便在可能的情况下创建长方体而不是单个块。但是,我在概念上努力想出最好的方法来做到这一点。
e.g。如果只有一个维度,它看起来像这样(W为Wood,D为Dirt):
WDDDDDDDDW
您可以使用简单的for循环遍历x轴,并在每次更改块时写入命令。
伪代码
for i in range(0, x):
blockType = getBlock(x,0,0)
if blockType != previousBlock:
writeBlockRange
最终会以
结束setBLock(1,0,0,Wood)
setBLocks(2,0,0,9,0,0,Dirt)
setBLock(10,0,0,Wood)
如何有效地将简单的for循环扩展到2维,然后扩展到3维?