我在这里使代码更简单,但我想我也缩小了我的问题。当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的编程世界的过滤器,过滤器只是编辑世界的程序。所以除非你有程序,否则这个程序实际上会做任何事情
答案 0 :(得分:0)
经过大量的搞乱后,它变成了它没有在进程中运行正确的文件,它将运行主程序,这就是为什么它打开程序的第二个版本,所以我把执行文件更改为打开python而不是程序,它工作正常!
答案 1 :(得分:0)
您的脚本只能在MCEdit Unified中运行。
pymclevel
无法在MCEdit之外运行。
您无需编写脚本来执行此操作。如果你按住alt,它将显示你的立方体指针的坐标。转到您要放置块的世界中的点,并使用fill and replace
工具进行与所需块匹配的填充。