if __name__ ==“__ main__”dosent做任何事情

时间:2017-02-15 01:11:49

标签: python multiprocessing main mcedit

我在这里使代码更简单,但我想我也缩小了我的问题。当mcedit作为过滤器运行时,名称 dosent等于 main ,所以你是否应该将名称与其他程序调用的其他东西进行比较,使< strong> 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的编程世界的过滤器,过滤器只是编辑世界的程序。所以除非你有程序,否则这个程序实际上会做任何事情

2 个答案:

答案 0 :(得分:0)

经过大量的搞乱后,它变成了它没有在进程中运行正确的文件,它将运行主程序,这就是为什么它打开程序的第二个版本,所以我把执行文件更改为打开python而不是程序,它工作正常!

答案 1 :(得分:0)

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

pymclevel无法在MCEdit之外运行。

您无需编写脚本来执行此操作。如果你按住alt,它将显示你的立方体指针的坐标。转到您要放置块的世界中的点,并使用fill and replace工具进行与所需块匹配的填充。