在第九十七章,作者讲到了JAVA版可以使用forceload指令来创建一个常加载区块。
但那个指令是在1.13.1版本添加的啊!
可是现在大部分人最常用的版本仍然是1.12.2,那么这些人该怎么办呢?
很简单,我们知道JAVA版他本来就自带了一个常加载区块,也就是世界出生点区块。
把命令方块放在世界出生点区块内,就可以一直运行了。
那么怎样设置世界出生点呢?
额,在第三十四章不是讲过了吗,使用/setworldspawn就可以在当前位置设置出生点了。
(教你一招,实际上你只需要输入一个/set,然后按两次Tab就可以了)
就这么简单。
但是如果要设置多个呢?
很抱歉,没有这个指令。
那么该怎么办呢?
这个时候我们就要引入一个新的概念:区块加载器。
什么是区块加载器?
这其实并不是一个指令。
也并不是一个方块。
那应该是什么?
红石机械啊!
没错,虽然这件事你不可能只用指令做到。但是你可以只用红石做到!
这说明什么?你的刷铁机有救了!
区块加载器根据实际用法大致有两个类别:加载当前区块的和加载指定区块的。
你可以在B站上搜到一大堆的视频教程,我相信你看完这些教程一定能做出来的。
(实际上有一个MOD是专门解决这个问题的,如果不想要麻烦的话去下个MOD也行)
我们可以在这里稍微了解一下这个技术的原理。
为了了解这个技术的原理,我们还要了解一下区块加载的原理:
当玩家从一个区块移动到另一个区块,玩家视距内的区块都会被加载,同时游戏会根据玩家现在的位置来加载一些新的区块,同时也卸载掉一些旧的区块,让游戏保持流畅。
但实际上,不只是玩家,红石、火焰以及漏斗都会加载区块。
那么这些区块什么时候会被卸载呢?
实际上不只是你,连你正在玩的Minecraft都不知道。
但你正在玩的Minecraft可比你要聪明一点,它知道它自己不知道该何时卸载掉这些区块,所以它想到了另一种方法:每隔45秒,它自己就会检查所有正在加载的区块,并标记那些玩家不在的那些区块,等待一个好的时机把它们卸载掉。
这就是区块加载的基本原理。
而区块加载器的原理就简单了,我们知道不仅是玩家,漏斗、火焰以及红石也会加载区块。所以我们只需要让那些机械不断的去加载区块,不就行了吗?
那么到底该怎么做呢?
别忘了,我们只知道区块加载的基本原理啊!我们还不知道那些漏斗什么的是怎么加载区块的。
其实很简单,我们拿漏斗举例。
假设,有一个漏斗在一个加载的区块边缘,它要漏的方向是对面没有加载的区块,而这个漏斗里面有一个物品。
然后这个漏斗就会尝试把这个物品给漏到对面的方块,但是对面是个还未加载的区块,它不知道它指向了什么方块。
于是它告诉游戏,让游戏加载这个区块。于是这个区块被加载了。
而这个漏斗终于发现它指向了一个锤子,漏不出来,所以它就完成了自己的使命。
这个时候你就成功加载了一个新的区块,而且不是玩家加载的。
而最简单的区块加载器,就是运用了这种原理,那么具体是怎么做的呢?
接着上文。这个漏斗完成了自己的使命,然鹅此时游戏发现:哎呀怎么新加载的区块还有一个装着物品的漏斗啊,于是游戏告诉这个新的漏斗,叫它赶紧漏。
然鹅这个漏斗发现不行啊,对面是未加载区块,咋漏,于是叫游戏加载这个新的区块。
加载好了,这个漏斗发现漏不了,就完成了自己的使命。而此时游戏又发现——卧槽怎么新加载的区块还有一个新的装着物品的漏斗。
于是又是漏,又加载,又漏,又加载,直到漏斗没有了。
但玩家肯定不想让游戏把这些区块给卸载,于是玩家们决定升级一下这个区块加载器,让其一直加载。