版本1.17,在一个循环型命令方块中输入如下命令后启动:复制代码然后扔出的雪球就会自动将周围的方块全部替换为空气,按理来说如果正对下方扔出雪球则会整出来一条打穿地底直通虚空的空洞,但实际测试时却发现有时候会留下最下面的一层基岩没有被破坏,请问这是为什么
- execute at @e[type=snowball] run fill ~-5 ~-5 ~-5 ~5 ~5 ~5 air
能补一张图吗
假设你这个世界的最低高度是y=1,譬如雪球飞到y=4的地方,此时的fill指令就囊括了y=-1到9的范围,y=-1的部分已经超出了世界界限,fill指令整个都会执行失败
想来在y=256的地方往上扔雪球应该也会发生同样的事
想来在y=256的地方往上扔雪球应该也会发生同样的事
无敌三脚猫 发表于 2022-12-8 10:33
假设你这个世界的最低高度是y=1,譬如雪球飞到y=4的地方,此时的fill指令就囊括了y=-1到9的范围,y=-1的部 ...
原来是这样
本帖最后由 Dahesor 于 2022-12-10 02:11 编辑
接沙发:
最容易理解的解决方法很简单,把不同的层次分开就好了。
把你的一条命令换成:
复制代码
(在世界边界还是不行)
只要你的范围不是很大这样穷举就行
之前:
由于选取下面的部分在世界之外,所以游戏判定运行失败(无法在虚空放置方块。空气也是方块)
之后:
分成一层层的独立命令,即使虚空的部分失败了上面的还是可以运行
接沙发:
最容易理解的解决方法很简单,把不同的层次分开就好了。
把你的一条命令换成:
- execute at @e[type=snowball] run fill ~-5 ~-5 ~-5 ~5 ~-5 ~5 air
- execute at @e[type=snowball] run fill ~-5 ~-4 ~-5 ~5 ~-4 ~5 air
- execute at @e[type=snowball] run fill ~-5 ~-3 ~-5 ~5 ~-3 ~5 air
- ......
- execute at @e[type=snowball] run fill ~-5 ~4 ~-5 ~5 ~4 ~5 air
- execute at @e[type=snowball] run fill ~-5 ~5 ~-5 ~5 ~5 ~5 air
只要你的范围不是很大这样穷举就行
之前:

由于选取下面的部分在世界之外,所以游戏判定运行失败(无法在虚空放置方块。空气也是方块)
之后:

分成一层层的独立命令,即使虚空的部分失败了上面的还是可以运行