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



我在这里让我的代码更简单,但我想我也缩小了我的问题范围。它由 McEdit 作为过滤器运行时,名称 dosent 等于 main,所以您是否应该将名称与另一个程序调用的 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工具填充该坐标与所需的块。

相关内容

  • 没有找到相关文章

最新更新