繁体   English   中英

如果 __name__ == "__main__" dosent 做任何事情

[英]if __name__ == "__main__" dosent do anything

我在这里简化了我的代码,但我想我也缩小了我的问题。 当 mcedit 作为过滤器运行时, name docent 等于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 的 minecraft 程序的过滤器,用于编辑世界,过滤器只是编辑世界的程序。 所以这个程序实际上不会做任何事情,除非你有这个程序

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

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

pymclevel不能在 MCEdit 之外运行。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM