第189章 ,/.

在第九十七章,作者讲到了JAVA版可以使用forceload指令来创建一个常加载区块。

但那个指令是在1.13.1版本添加的啊!

可是现在大部分人最常用的版本仍然是1.12.2,那么这些人该怎么办呢?

很简单,我们知道JAVA版他本来就自带了一个常加载区块,也就是世界出生点区块。

把命令方块放在世界出生点区块内,就可以一直运行了。

那么怎样设置世界出生点呢?

额,在第三十四章不是讲过了吗,使用/setworldspawn就可以在当前位置设置出生点了。

(教你一招,实际上你只需要输入一个/set,然后按两次Tab就可以了)

就这么简单。

但是如果要设置多个呢?

很抱歉,没有这个指令。

那么该怎么办呢?

这个时候我们就要引入一个新的概念:区块加载器。

什么是区块加载器?

这其实并不是一个指令。

也并不是一个方块。

那应该是什么?

红石机械啊!

没错,虽然这件事你不可能只用指令做到。但是你可以只用红石做到!

这说明什么?你的刷铁机有救了!

区块加载器根据实际用法大致有两个类别:加载当前区块的和加载指定区块的。

你可以在B站上搜到一大堆的视频教程,我相信你看完这些教程一定能做出来的。

(实际上有一个MOD是专门解决这个问题的,如果不想要麻烦的话去下个MOD也行)

我们可以在这里稍微了解一下这个技术的原理。

为了了解这个技术的原理,我们还要了解一下区块加载的原理:

当玩家从一个区块移动到另一个区块,玩家视距内的区块都会被加载,同时游戏会根据玩家现在的位置来加载一些新的区块,同时也卸载掉一些旧的区块,让游戏保持流畅。

但实际上,不只是玩家,红石、火焰以及漏斗都会加载区块。

那么这些区块什么时候会被卸载呢?

实际上不只是你,连你正在玩的Minecraft都不知道。

但你正在玩的Minecraft可比你要聪明一点,它知道它自己不知道该何时卸载掉这些区块,所以它想到了另一种方法:每隔45秒,它自己就会检查所有正在加载的区块,并标记那些玩家不在的那些区块,等待一个好的时机把它们卸载掉。

这就是区块加载的基本原理。

而区块加载器的原理就简单了,我们知道不仅是玩家,漏斗、火焰以及红石也会加载区块。所以我们只需要让那些机械不断的去加载区块,不就行了吗?

那么到底该怎么做呢?

别忘了,我们只知道区块加载的基本原理啊!我们还不知道那些漏斗什么的是怎么加载区块的。

其实很简单,我们拿漏斗举例。

假设,有一个漏斗在一个加载的区块边缘,它要漏的方向是对面没有加载的区块,而这个漏斗里面有一个物品。

然后这个漏斗就会尝试把这个物品给漏到对面的方块,但是对面是个还未加载的区块,它不知道它指向了什么方块。

于是它告诉游戏,让游戏加载这个区块。于是这个区块被加载了。

而这个漏斗终于发现它指向了一个锤子,漏不出来,所以它就完成了自己的使命。

这个时候你就成功加载了一个新的区块,而且不是玩家加载的。

而最简单的区块加载器,就是运用了这种原理,那么具体是怎么做的呢?

接着上文。这个漏斗完成了自己的使命,然鹅此时游戏发现:哎呀怎么新加载的区块还有一个装着物品的漏斗啊,于是游戏告诉这个新的漏斗,叫它赶紧漏。

然鹅这个漏斗发现不行啊,对面是未加载区块,咋漏,于是叫游戏加载这个新的区块。

加载好了,这个漏斗发现漏不了,就完成了自己的使命。而此时游戏又发现——卧槽怎么新加载的区块还有一个新的装着物品的漏斗。

于是又是漏,又加载,又漏,又加载,直到漏斗没有了。

但玩家肯定不想让游戏把这些区块给卸载,于是玩家们决定升级一下这个区块加载器,让其一直加载。