我的世界结构方块怎么用 我的世界结构方块不能用是怎么回事( 二 )


save方块在载入文件的时候按照坐标的字典序将方块写入文件 。加载时方块按照方块在结构文件中的顺序依次放置 。比如用加载红石块的方法激活命令方块 。命令方块会按照红石块的的放置顺序激活 。如果有两个方块占据在同一个位置 。后放置的会将前面的覆盖 。所以如果在list里先有一个红石块 。后有一个石块在同一个位置 。被放置的位置本来是空气 。结构完整性是0.5 。那么加载后有二分之一的概率是石块 。四分之一的概率是红石块 。四分之一的概率是空气 。
当结构被加载时 。文件中每个方块都会引起方块更新 。即使方块前后没有变化 。或者随机放置时该方块没被随机到(人工更新某区域内方块(概率设为0)) 。如果方块前后没有变化 。不会引起观察者响应//(除非该方快具有方块实体)// 。如果方块结构中有两个方块占据在同一个位置 。比如一开始是红石块 。文件要求先换成石头再换成红石块 。也会让观察者响应 。虽然前后都是红石块 。
结构方块有一个充能标志(powered byte) 。若加载模式结构方块发现自己被充能(或者接触充能方块)并且充能标志为0 。自然会加载并且把充能标志改成1 。但是 。被加载的或者clone的//或者fill的或者setblock的//或者手动放置到被充能位置的加载模式方块不会自己更新自己 。也就是说放(不论什么方式)的时候就放在红石块边上的加载模式方块处于BUD态 。当然 。如果被加载的或clone的时候相邻位置有其他方块一同被加载(clone) 。那么就会更新到它让他加载(当然 。必须周围有红石块之类的和他接触)(一同加载的方块产生更新条件见上) 。
那么如何用cb在某地加载结构呢?可以想到先setblock结构方块然后setblock红石块 。但如果直接把相邻的结构方块和红石块一同clone过去(或者想让加载的结构里的结构方块继续加载其他的结构使得不修改文件立即加载很大的建筑) 。结构方块已经是被激活的 。clone过去的也是被激活的 。这时就不会让结构方块激活 。所以应当让使用blockdata指令修改clone前的结构方块的充能标志 。再它被clone过去的时候结构方块周围的方块放置更新它让他加载 。
结构方块有一个自我保护机制 。具体保护机制触发条件并不清楚 。似乎是为了保护自己不陷入死循环 。他会将“肇事”的加载模式结构方块替换成屏障方块 。

我的世界结构方块怎么用 我的世界结构方块不能用是怎么回事

文章插图

我的世界结构方块怎么用 我的世界结构方块不能用是怎么回事

文章插图