《Minecraft指令手册》

第28章区块与区段

上一章 封面 下一章

在上一章中,我们提到了“区块刻”。区块刻是个啥我们暂时不用了解,但区块我们还是要很详细的了解一下。

首先让我们认识一下区块(Chunk)。

当你在Minecraft世界行走时,你或许会发现你的视野边缘是由一个个正方形的区域组成的。这些正方形区域就是正在加载的区块。

Minecraft的世界是由一个个区块组成的,每个区块的长宽是16格,高是256格。在还未正式发布的版本中,区块的高度甚至达到了384格。

所以说,一个区块包含着65536块方块。而一个世界最多可以生成14062500000000个区块(约为14亿),每种区块都有x10(的244,700次方)种可能的区块种类。怎么样,是不是很震撼?照这样计算,一个世界就有9216000000000000000(921.6京[1京=10000万亿])块方块。

但是上面这些只是真区块。什么是真区块呢?听说过Minecraft的边境之地吧,当你到达Minecraft的很远的地方时,那里的区块可能会出现Bug,也就是加载错误。在Java版中,这个BUG早就已经在版本移除,并添加了世界边界拦着你。当你以任何方式越过世界边界后来到外面,会得到一些负面效果,扣血死亡,就好像绝地求生里一样。其实Java版的Minecraft还真的有点像绝地求生,你还可以使用特定的指令修改边界,来达到绝地求生的效果。是不是很神奇?

在基岩版,并没有边界,所以你仍然可以看到那个神奇的区块。但可惜,基岩版的边境之地即将于版本移除,目前的测试版中边境之地已经木掉了。

所以,真区块就是正常没有bug的区块。而那些bug的区块,则被叫做“假区块”。

一个区块被分成数个长宽高均为16格的区段。实际上,虽然区块更常用,但是在Minecraft中,大多数游戏的运算都是以区段而不是以区块为单位的。

随机刻就是一个很好的例子。区块刻运算过程中,有一个刻叫随机刻。随机刻我们在讲/gamerule指令时已经见过了,但是我们还不知道它的运作方式。

那么它是怎么运作的呢?

一个区段有16x16x16=4096个方块。每一随机刻中,将会随机抽取randomTickSpeed规则设定的数量的方块,即默认Java是抽取3个方块,基岩是抽取1个方块。

大多数方块被抽到后并不会有什么影响,但以下方块会收到影响:

耕地上的农作物——有水可能生长,无水可能掉落

蘑菇——光照低则有可能传播,光照高则有可能掉落

藤蔓(wàn)——可能传播

火[仅基岩版]——可能熄灭或传播

冰和雪——可能融化

树叶——在附近没有树干的情况下可能枯萎

耕地——湿润程度会更新

可以生长的植物和滴水石锥——可能生长

草方块和菌丝——可能传播或变为泥土

树苗——可能长成树

岩浆——可能让附近的方块上着火

红石矿石——会熄灭

下界传送门方块——可能生成一只猪灵(版本及以上)或僵尸猪人(低于)

海龟蛋——破裂或孵化

营火——会冒出烟雾粒子

铜质方块——可能生锈

处于滴水石锥下方的炼药锅——如果滴水石锥上方有熔岩或水,炼药锅可能会被填充

一个Minecraft存档包含超级多的区块,所以游戏游玩时肯定不会将这些区块全部加载,而是选取部分区块进行加载。

在Java版,每个区块要加载都需要一个加载标签。每个加载标签都具有三个属性:

加载等级、标签类型和存活时间(可选属性)

加载等级,即规定了该区块的加载级别有多高。加载等级越小,能加载的内容就越多。如果加载等级有多个,那么将会生效的将会是数值最小的那个。

加载等级的范围是22到44,分为四个类型:

强加载:≤31——所有游戏内容都会运算

弱加载:32——除区块刻、实体以外其他游戏内容都会运算

加载边界:33——只有少部分内容会正常运行(红石、命令方块不会运行)

不可访问:34——只有世界生成会在这些区块中运行

加载等级会向相邻8个区块传播,每成功传播一次加载等级会加一级。

标签类型,用于确定该加载标签的来源。目前来说,标签类型有以下几种来源:

\\玩家\\

加载范围:正方形,边长为渲染距离(单人)或view-distance(多人)x2+1

加载等级:31

比如,当渲染距离为12时,游戏就会加载以玩家为中心的25x25个强加载区块,外边围着一圈弱加载区块和加载边界。

\\强制\\

使用/forceload指令赋予

等级:31

\\出生点\\

等级:22

强加载范围:19x19

\\传送门\\

使用下界传送门时,游戏会给予即将到达的另一个维度区块赋予等级30的加载标签。

强加载范围:3x3

\\末影龙\\

等级:24

强加载范围:15x15

\\瞬移\\

实体(注意不是玩家)瞬移后(包括使用/tp、/spreadplayers和末地传送门,刷沙机就是利用了这个原理)在瞬移后的区块创建的为时5游戏刻的加载标签。

等级:33(使用/tp是32)

\\临时\\

其他游戏代码告诉游戏该区块需要加载时临时建立的标签,仅持续1游戏刻。

等级:至少为33,视游戏代码而定。

在基岩版,玩家加载的范围和Java版不一样,呈现一个圆形。使用/tickingarea,也可以像/forceload一样一直让区块保持加载。

现在,你知道了区块是个什么东西了吧?

(唉,你看,这个矿洞会生成史莱姆唉!)

阅读Minecraft指令手册最新章节 请关注热血小说网(www.oaksh.cn)

上一章 目录 下一章 存书架

其他热门小说

Minecraft指令手册