出生点区块:修订间差异

来自Minecraft Wiki
跳转到导航 跳转到搜索
添加的内容 删除的内容
(本条目仅java版独有)
标签可视化编辑 移动版编辑 移动版网页编辑
(去除多余标点(此模板会自动在句尾加句号))
标签可视化编辑 移动版编辑 移动版网页编辑
 
(未显示30个用户的46个中间版本)
第1行: 第1行:
{{about|{{el|je}}里能够保持一些区块更新的出生点区块|{{el|be}}里拥有类似机制的区域|常加载区域|Java版强制加载区块的命令|命令/forceload}}
'''出生点区块(Spawn chunk)<sup>[仅java版]</sup>'''是一块围绕世界[[生成|出生]]点的区域中的一[[区块]]。这个区域中区块的特殊性在于它不会被从内存中卸载,因此不管距离玩家多远,只要有玩家在主世界中,这个区块内的东西都会正常更新
{{exclusive|java}}
'''出生点区块(Spawn chunk)'''是围绕[[生成#世界出生点|主世界出生]]的一[[区块]]。这区块的特殊性在于它不会被从内存中卸载。


== 特性 ==
== 位置与范围 ==
[[File:Spawn chunks range.png|thumb|出生点区块范围示意图([[Java版1.20.5]]以前)]]
在游戏中,通常只有直接在加载范围内的区块被加载到内存中。而当玩家在游戏世界移动时,其加载范围就会发生变化。新的区块进入加载范围从而被加载到内存中;旧的区块超出加载范围而被卸载并保存到硬盘上。当一个区块被卸载后,这一个区块的所有处理都会停止。这意味着,只有玩家在需要工作的机器或者农场附近时,红石机械和铁傀儡农场才会工作。
出生点区块的特殊性来源于[[区块#Java版|出生点加载标签和计算标签]]。
一方面,这个设置会有效的节约内存。但在另一方面,这会使有效[[耕种]]变得困难。但由于出生点区块不会被卸载,所以会在没有玩家在附近的时候继续处理事件。而重置worldspawn(用命令{{cmd|setworldspawn}})时要小心。若将其设置为很遥远的地方或者有大量的红石时钟等需要消耗大量内存的机械的区块,将会导致无论您身在何处,都会产生的依据电脑配置不同而不同程度的卡顿。


游戏会在主世界出生点所在的区块放置基础等级为<math>32-s</math>的加载标签和计算标签,其中''s''是[[游戏规则]]<code>spawnChunkRadius</code>的值。
=== 其他维度 ===


默认情况下,根据等级传播机制:
玩家离开[[主世界]]后,所有出生点区块中进行的事件会在15秒后停止,虽然出生点区块并不会被卸载。


* 在[[切比雪夫距离]]1个区块外加载等级和计算等级将升高到31,而这个3×3区块范围内的区块被强加载。
然而,每当任何[[实体]]来到或离开主世界时,该计时会被重设。比如用[[发射器]]持续地朝[[下界传送门]]射[[箭]]能够防止主世界内的事件处理被停止,即使玩家不在主世界。
* 在强加载范围的外面一圈区块,加载等级和计算等级都为32,这些区块都被弱加载。
* 再向外扩展一圈区块,这一圈区块的加载等级和计算等级都为33,所有实体、方块实体和计划刻都不参加计算,但区块会完整地进行生成。
* 再向外11圈区块都会被加载进入内存中,但它们不会用于世界计算,而是用于世界生成。


== 事件 ==
== 行为 ==
在世界被创建时,出生点区块会首先被创建;当服务器启动时,出生点区块也会最先被加载。事实上,[[世界加载屏幕]]显示的就是当前世界的出生点区块的生成和加载情况。


当世界出生点由{{cmd|setworldspawn}}改变时,出生点相关的加载和计算标签也会修改位置,出生点区块也会随之改变。
=== 出生点能处理的事件 ===
只要有玩家在游戏中,下列事情都会在出生点区块发生。


由于出生点区块具有一部分强加载区块,所以在出生点附近的红石机械、实体会被持续计算,即使附近没有玩家。
==== [[方块]] ====


== 历史 ==
* [[水]]和[[熔岩]]会正常地流动。
{{info needed section|出生点区块的概念何时被引入}}
** [[熔岩]]还可能引燃周围的可燃方块从而引起火灾,前提是在{{cmd|gamerule}}中允许火势蔓延。
{{HistoryTable
|{{HistoryLine|java}}
|{{HistoryLine||1.20.5|snap=24w03a|加入了<code>spawnChunkRadius</code>[[游戏规则]]以控制出生点区块的大小。|出生点区块的默认大小从10(19×19强加载区块)更改为2(3×3强加载区块)。}}
}}


== 导航 ==
* [[火]]会蔓延到周围的可燃方块,从而可能引起火灾,前提是在{{cmd|gamerule}}中允许火势蔓延。
{{Navbox Java Edition}}

==== [[实体]] ====
* 掉落物会照常掉落,并可以被[[水]]移动或被[[熔岩]]破坏,如果没有捡起来或被漏斗收集,在五分钟后会被清除。
* 被动型生物,如小动物和小村民,可以成长为动物和村民。
** 羊依旧会吃草和长羊毛。
* [[沙子]]和[[沙砾]]下面的方块如果被远距离破坏(如使用{{cmd|setblock}}),则会下落。
* 被激活的[[TNT]]若能下落则会下落,并发生爆炸。
** 如果爆炸波及到被卸载的区块,那么被卸载的区块将不会受到影响。
*** 不过,如果[[TNT]]被发射进入被卸载的区块,那么这个[[TNT]]将会被冻结而不会爆炸,直到该块被加载。

==== 机制 ====
* [[矿车]],[[漏斗]]和红石机制都将正常运行。
** [[矿车]]将会照常运行,并可以触发[[探测铁轨]]和[[激活铁轨]]。
<!-- 这句话原句是Minecarts will travel around and trigger detector and activator rails.不太清楚“travel around”在这里表达什么意思 -->
<!-- 就是移动的意思 -->
** [[活塞]]可以伸出、收回

=== 出生点不能处理的事件 ===
以下的事件不会发生在出生点区块,除非它们在''区块更新范围''之内。(由单人游戏中的视野渲染范围或多人游戏中的服务器配置决定)
<!-- 个人认为这个服务器配置是指server.properties中的view-distance,电脑配置原因,个人无法考证,希望以后的编者验证一下 -->

==== [[植物]]的生长和枯萎 ====
* 植物(包括[[农作物]],[[蘑菇]],[[甘蔗]],[[仙人掌]],[[树苗]])不会生长。
** [[树叶]]不会凋谢,除非在玩家加载区域内。
** [[草方块]]和[[菌丝]]不会传播,除非在玩家加载区域内。
* [[冰]]不会形成或融化,除非在玩家加载区域内。

==== [[实体]] ====
* 如果攻击型生物距离最近的玩家超过128米,它们会立即被删除。
** 包括僵尸猪人在地狱门前和女巫在[[沼泽小屋]]中。
** 攻击型生物如果距离最近的玩家超过32米而不超过128米,那么他们就不会移动。
注:这部分条目详见[[生成#.E6.B8.85.E9.99.A4|生成-清除]]
* 被动型生物不会在距离玩家240米以外的地方出生。
** 被动型生物的出生会被记录到被动型生物的数目限制中。这意味着,出生点区块如果出生了任何被动型生物,通常会阻碍在被动型生物在这个世界的其他地方的生成。
*** 唯一的例外是当被动型生物的出生作为新生成的区块的一部分。
注:这部分条目详见[[生成#.E9.9D.9E.E6.94.BB.E5.87.BB.E5.9E.8B.E7.94.9F.E7.89.A9.E7.9A.84.E7.94.9F.E6.88.90|非攻击型生物的生成]]

== 寻找出生点区块 ==
出生点区块通常是中心点最接近世界出生点的16×16的区块。实体只有在其所在区块为中心5×5区块被加载时才会活动,因此它们的活动被限制在12×12的区块中。确切的出生点区块规则是,其中心离世界出生点沿x轴与z轴小于或等于128个块。在罕见的情况下,世界出生点位于一个区块的正中心,那么17区块将沿该轴加载,其中13个区块中的实体可以活动。

下面是几个确定出生点的方法:
* 造出[[指南针]],[[指南针]]的指针会指向重生点。
* 下面的方法将只对未在床上睡过觉的玩家有效:
** 在冒险模式中,玩家出生的区块上的西北角是世界重生点。
** 在创造、生存与旁观模式,玩家会重生在一个随机20×20的区域内。因此可以通过反复重生进行推断。方法如下:
**# 若两次重生的x坐标分别是a与b,且a<b
**# 则重生点的x坐标为'''b-10'''≤'''x'''≤'''a+10'''
**# 同理可得重生点的z坐标
**# 经多次测试可得出较精确的结果。
**# 而y坐标是在x\z坐标确定下的有方块的最高y坐标
<!-- 除了最后一条是个人综合其他wiki条目加上的,应该是对的。其他几条还望以后的编者核对一下,数学渣不忍直视。 -->
* 实体比玩家掉进世界通道要精准——与该世界的重生点完全吻合。因此将物品从末路之地扔到主世界也可以精确的找到世界重生点。这样可以在不死亡的情况下精确找到世界重生点。
* 一个新的重生点可以使用{{cmd|setworldspawn}}进行设置。如果没有提供坐标,玩家所在的区块的西北角将会成为重生点。不过需要注意的是,这将不会加载新的出生点区块;它只是阻止被卸载。可以通过重新加载(走到指定的出生点区块)或重新启动服务器使其成为新的出生点区块。然后,他们将继续保持加载,直到重生点被再次移动。
* [[Mod]]或外部程序如[[辅助程序与编辑器/NBTExplorer|NBTexplorer]]或[http://www.minecraftforum.net/topic/13807-mcedit-minecraft-world-editor-now-open-source/ MCEdit]也可用于寻找并设置世界产生点。

{{Java Edition}}


[[en:Spawn chunk]]
[[en:Spawn chunk]]
[[fr:Chunk d'apparition]]
[[ja:スポーンチャンク]]
[[ko:스폰 청크]]
[[ko:스폰 청크]]
[[pl:Chunk spawnu]]
[[pl:Chunk spawnu]]
[[pt:Chunk de renascimento]]
[[ru:Чанк возрождения мира]]
[[uk:Чанк спавну]]

2025年2月11日 (二) 04:39的最新版本

  本条目介绍的是Java版里能够保持一些区块更新的出生点区块。关于基岩版里拥有类似机制的区域,请见“常加载区域”;关于Java版强制加载区块的命令,请见“命令/forceload”。
本文章所述内容仅适用于Java版

出生点区块(Spawn chunk)是围绕主世界出生点的一些区块。这些区块的特殊性在于它不会被从内存中卸载。

位置与范围[编辑 | 编辑源代码]

出生点区块范围示意图(Java版1.20.5以前)

出生点区块的特殊性来源于出生点加载标签和计算标签

游戏会在主世界出生点所在的区块放置基础等级为32s的加载标签和计算标签,其中s游戏规则spawnChunkRadius的值。

默认情况下,根据等级传播机制:

  • 切比雪夫距离1个区块外加载等级和计算等级将升高到31,而这个3×3区块范围内的区块被强加载。
  • 在强加载范围的外面一圈区块,加载等级和计算等级都为32,这些区块都被弱加载。
  • 再向外扩展一圈区块,这一圈区块的加载等级和计算等级都为33,所有实体、方块实体和计划刻都不参加计算,但区块会完整地进行生成。
  • 再向外11圈区块都会被加载进入内存中,但它们不会用于世界计算,而是用于世界生成。

行为[编辑 | 编辑源代码]

在世界被创建时,出生点区块会首先被创建;当服务器启动时,出生点区块也会最先被加载。事实上,世界加载屏幕显示的就是当前世界的出生点区块的生成和加载情况。

当世界出生点由/setworldspawn改变时,出生点相关的加载和计算标签也会修改位置,出生点区块也会随之改变。

由于出生点区块具有一部分强加载区块,所以在出生点附近的红石机械、实体会被持续计算,即使附近没有玩家。

历史[编辑 | 编辑源代码]

此章节缺失以下信息:出生点区块的概念何时被引入。

请协助补充相关内容的描述,讨论页可能有更多细节。

Java版
1.20.524w03a加入了spawnChunkRadius游戏规则以控制出生点区块的大小。
出生点区块的默认大小从10(19×19强加载区块)更改为2(3×3强加载区块)。

导航[编辑 | 编辑源代码]