-3

我在这里简化了我的代码,但我想我也缩小了我的问题范围。当 mcedit 将其作为过滤器运行时, name dosent 等于main,所以您是否应该将 name 与 main 以外的其他程序进行比较,从而使main PlaceBlock 仍然不起作用?

from multiprocessing import Process
from pymclevel import alphaMaterials

displayName = "PlaceBlock"

def perform(level, box, options):

    x = box.minx
    z = box.minz

    def block(height):
         level.setBlockAt(x, height, z, 1)

    print(__name__)
    if __name__ == "__main__":
        print('Processing')
        p1 = Process(target=block, args=(1, ))
        p2 = Process(target=block, args=(2, ))

        p1.start()
        p2.start()

    p1.join()
    p2.join()

还要回答评论中的问题,这是一个名为 mcedit 的我的世界程序的过滤器,用于编辑世界,过滤器只是编辑世界的程序。因此,除非您拥有该程序,否则该程序实际上会做任何事情

4

2 回答 2

0

经过大量的混乱之后,它发现它没有在进程中运行正确的文件,它将运行主程序,这就是它打开程序的第二个版本的原因,所以我更改了执行文件以打开 python的程序,它工作正常!

于 2017-02-17T20:25:06.463 回答
0

您的脚本只能在MCEdit Unified中运行。

pymclevel不能在 MCEdit 之外运行。

您无需编写脚本即可执行此操作。如果按住 alt 键,它将显示立方体指针的坐标。转到世界上您想要放置块的点,然后使用该fill and replace工具用您想要的块填充该坐标。

于 2018-05-28T22:58:37.507 回答