虽然forceload和基岩版的tickingarea都是用来控制常加载区块的,但两者却有那么一点点不一样:前者是直接控制区块,后者是控制由区块组成的常加载区域。
啥意思呢?
当你在使用/tickingarea控制常加载区块时,实际上是在控制由一个或多个常加载区块组成的不同的常加载区域。这就是为什么当你使用/tickingarea添加常加载区块时,要指定名称的原因,因为你实际上是在通过框选得到的区块来创建一个常加载区域,然后游戏会让这个常加载区域内的所有区块不断加载。
而/forceload就没有『常加载区域』这个概念,因为当你使用forceload控制常加载区块时,还真的就是直接控制到区块本身,而不是控制由区块组成的区域。这就是为什么你使用forceload添加常加载区块时不需要指定名称的原因。
比如:
/forceload add ~~
假设你此时在主世界的(17,42,18)这个位置,那么这条指令将会使得你所在的区块不断强制加载,并返回以下数据:
已将minecraft:overworld中的区块[1,1]标记为强制加载
需要注意的是,由于区块不考虑Y轴,所以你在使用forceload添加常加载区块时不需要指定Y坐标,只需要指定X和Z坐标即可。
上面这条信息中,区块[1,1]是什么意思?
[1,1]在这边并不是一个普通的坐标,而是区块坐标。区块坐标本质上和普通的MC坐标没啥差别,唯二的两个差别无非以下两个:
①区块坐标的单位长度为16格,也就是1区块边长
②区块坐标的X、Z坐标均为整数(Y坐标其实也是,只不过如果算上Y坐标的话就变成区段坐标了)
也就是说,上面的区块[1,1],指的就是(16,?,16)这个坐标位置所处的区块。
现在,让我们尝试一下取消这个区块的强制加载:
/forceload remove ~~
如果你的位置在刚才都没有发生改变,那么这条指令将会使得你所在的区块,也就是区块[1,1]解除常加载:
已将minecraft:overworld中的区块[1,1]解除强制加载
但如果你已经跑到了其他区块,那么运行上述指令只会返回:
没有强制加载的区块被移除