-2

我需要帮助:

structureRegion = box
blocks = 0
for x in xrange(structureRegion.minx,structureRegion.maxx):
    for y in xrange(structureRegion.miny,structureRegion.maxy):
        for z in xrange(structureRegion.minz,structureRegion.maxz):
            if blockAt(x, y, z, level) != 0 or air:
                blocks = blocks + 1
for block in blocks:
    for x in xrange(structureRegion.minx,structureRegion.maxx):
        for y in xrange(structureRegion.miny,structureRegion.maxy):
            for z in xrange(structureRegion.minz,structureRegion.maxz):
                coords2 = []
                coords2.append((x,y,z))
                part1 = ''.join(coords)
                part2 = ''.join(coords2)

当我使用它时,我在标题中得到了上面的错误。

我只想遍历每个块,直到没有更多块并重复代码。

谢谢

(顺便说一下,这是用于 Minecraft 和 MCEdit 过滤器的)

4

2 回答 2

1

blocks是一个整数,但该行for block in blocks:尝试将其视为可迭代的(列表、集合、元组等),但事实并非如此,因此出现错误。

于 2014-06-25T23:57:49.710 回答
0
[...]
for block in xrange(blocks):
[...]

更短(并修复了一些其他错误):

coords2 = []

for x in xrange(box.minx,box.maxx):
    for y in xrange(box.miny,box.maxy):
        for z in xrange(box.minz,box.maxz):
            if blockAt(x, y, z, level) != 0:
                coords2.append((x,y,z))

part1 = ''.join(coords)
part2 = ''.join(coords2)
于 2014-06-27T10:30:56.830 回答