种子(世界生成)

发表时间: 2025-11-12 19:33:00

最后更新: 2025-11-12 19:33:00(2小时前)

本文标签: 世界机制

用户头像-Connie 等1名 热心馆友编辑完成

种子(世界生成)是我的世界的一种游戏内容

介绍

  1. 在Minecraft中,种子(Seed)指的是一个用于生成游戏世界的整数。

  2. 不同游戏平台上的种子具有一定的兼容性,这意味着在不同平台上使用同一种子时,所生成的地形特征生物群系将是相同的,但生成结构的位置可能会有所不同。

  3. 相同平台上的不同版本之间,种子的兼容性也有可能存在。

  4. 在Java版1.7.2至1.12.2的特定版本中,用户可通过修改源代码,将第六个genlayer的值从2调整为0,从而在Java版中获得与原主机版相同的生物群系生成效果,唯一的例外是蘑菇岛

  5. Herobrine的早期截图是通过种子478868574082066804生成的,该截图来源于Alpha v1.0.16_02的修改版本。

  6. 此外,Herobrine的恶作剧直播则通过种子3609313613745973624实现,该种子是在Alpha v1.0.17_04版本中生成的。

兼容性

Java版:

  1. 在《我的世界》的更新历程中,从Alpha v1.2.0到Beta 1.7.3期间,世界生成机制保持相对一致。

  2. 然而,随着Beta 1.8版本的推出,游戏的世界生成发生了整体性的变化。

  3. 在1.2版本中,新增的丛林生物群落导致陆地上生物群系的分布发生了调整。

  4. 1.7.2版本再次重塑了世界的生成方式。

  5. 进入1.13版本后,洞穴生成得到了更新,同时引入了新的域生物群系,并调整了某些变种生物群系与结构的分布。

  6. 1.14版本带来了竹林生物群系,并对村庄及其他结构的位置进行了调整。

  7. 随着1.16版本的发布,下界的生成方式也经历了变更,且增加了更多的生物群系。

  8. 在1.18版本中,游戏引入了多种新型的山地与洞穴生物群系,并对主世界的噪声生成器进行了显著的改动,彻底翻新了世界生成机制。

  9. 1.19版本中,游戏新增了红树林沼泽深暗之域

  10. 在1.20版本中,樱花树林被添加到游戏中。

  11. 在1.21.4版本中,苍白之园作为新生物群落加入。

  12. 此外,尽管每次更新都会引入新的结构,这些新增的结构通常并不涉及世界生成的重大变更。

基岩版:

  1. 在Minecraft的更新历史中,Alpha 0.9.0标志着一次重要的里程碑,它首次对世界生成进行了全面的改动。

  2. 此次更新在水域方面进行了显著改善,改变了海洋的构造与特点。

  3. 与此同时,村庄与掠夺更新也对村庄等结构进行了全新的调整。

  4. 版本1.18.0引入了多样化的新山地和洞穴生物群系,并完全重塑了世界生成的机制。

  5. 原版主机的种子更新与Java版的更新频率大致保持一致。

世界生成

  1. 在《我的世界》中,当游戏开始生成世界时,会运用一种名为柏林噪声的算法来创建伪随机数,这个数值决定了世界的构造。

  2. 由于伪随机算法的特性,如果该算法的初始输入(即种子)相同,则最终生成的结果也会相同,这正是种子的意义所在:相同的种子可以产生相似的世界。

  3. 然而,游戏的世界生成算法可能会进行更新,例如添加新的生物群系,这时,即便使用相同的种子,也将无法生成相同的地形,导致不同版本之间的种子表现出差异。

  4. 一旦世界被生成,相应的种子将被锁定。默认情况下,游戏系统会自动选择种子,通常基于当前的系统时间,但玩家也可以选择手动输入种子。

  5. 相同的种子可以多次重复创建相同的世界,种子的格式可以是数字(包括负数)或字符,而非纯数字的种子会自动转化为32位整数。

  6. 在将旧版本的世界导入到新版本时,新生成的区块将根据新种子生成,因此可能与过去生成的区块不一致,这种现象在Java版的Beta 1.8和1.7.2中尤为明显。

  7. 当区块被删除后,它们会被重新生成,但只要种子或者生成算法的任何一个发生变化,生成的区块也会随之不同。

  8. 需要强调的是,种子本质上只是输入给伪随机算法的值,它并不代表世界的真实名称,基于某个种子生成的世界特征并不必然与种子的表面含义挂钩。

  9. 例如,假如使用某个生物群系的名称作为种子,生成的世界并不一定以该生物群系为主导。

查看种子

  1. 在Java版《我的世界》中,玩家可以通过输入命令/seed来获取当前世界的种子信息。

  2. 玩家还能够在创建新世界的界面中查看种子,或者在编辑世界设置里找到导出的世界生成选项。

  3. 针对基岩版,种子信息可以直接在世界选项界面中进行查看。

  4. 此外,基岩版还提供了一些种子模板,方便玩家在出生点附近生成特定地形特征的世界。

  5. 在测试版中,世界的种子代码会在屏幕上方的构建信息中显示出来。

  6. 对于服务器的种子,玩家可以在server.properties文件中的seed栏位找到相关信息。

技术细节

一、 Realms

  1. 在Java版中,玩家可以在聊天栏输入/seed来查看种子。
  2. 在基岩版中,种子在Realms Plus中是不可见的。

二、 Java版

  1. 在Minecraft中,当用户在种子输入框中填入的内容包含非数字字符(仅允许数字开头可选的“+”或“-”)时,Java的String.hashCode()方法将被用来将该内容转化为数字。

  2. 该方法的输出数据类型为int,这就意味着Minecraft能够生成的种子的数量受到限制,仅为232,即约为42亿个种子。

  3. 若要实现完整的世界生成数量(即264,约为1844万亿种),用户必须输入一个纯粹的数字种子,或选择系统提供的默认世界种子。

三、 基岩版

  1. 在基岩版中,与Java版一样,玩家可以体验到高达264的世界生成选项,总共有18446744073709551616种可能的世界设置。

  2. 当在种子输入框中输入内容时,如果包含非数字字符(除了以单个+或-开头的数字),或者长度大于等于20个字符(范围为-9223372036854775808至9223372036854775807),那么系统会将其自动转换为数字格式。

四、 版本间重叠

  1. 所有种子在Java版和基岩版会产生相同的地形和生物群系分布,但结构和结构位置、矿石分布和生物生成等并不相同。

五、 过时内容

  1. 在《Minecraft》的最新更新之前,Java版与基岩版的地形并未实现一致性。

  2. 当使用种子值在-231(-2,147,483,648)至231-1(2,147,483,647)之间时,Java版与基岩版可能生成相似的生物群落布局,但它们在地形特征、结构位置、矿石分布以及生物生成方面依然存在显著差异。

  3. 在基岩版1.18.30之前,无论输入的是数字还是字符串,总共有232(4,294,967,296)种可能的世界生成方式。

  4. 这一结论同样适用于64位的Windows 10版本。

怪异生成

一、 更改地形而不更改结构

  1. 在Java版1.17.1及之前的版本中,世界的生成过程依赖于java.util.Random类所采用的线性同余算法。
  2. 该算法在产生随机数时,仅有最后48位的二进制种子对最终结果产生影响。
  3. 因此,当两个世界的种子在二进制表示中最后48位完全一致时,这些世界在某些结构的分布上会展现出相似性。
  4. 此外,这样的相似性也会延伸至它们的末地和下界环境。

二、 平行种子

  1. 在Java版1.17.1及以前的版本,将-7379792620528906219减去一个数字后得到的种子生成的主世界会有着和原种子除海洋群系外完全相同的生物群系分布,但地形并不一致。

三、 重复生成

  1. 在Minecraft游戏中,某些种子具有生成无限结构的特性,其中包括洞穴等地形。

  2. 在Java版1.13之前的版本中,特定种子如107038380838084在首次调用时会返回0,而164311266871034则在第二次调用时返回0,这两者的结果与坐标的X或Z轴相乘,从而导致相关结构在这些轴上不断重复生成。

  3. 特殊的种子如4165936693698546884会在X轴上无限产生废弃矿井,并在Z轴-250至-500的地下生成重复的洞穴,而种子388513357548740同样在X轴上生成循环的废弃矿井。

  4. 由于某些未知因素,自Java版1.13起,下洞穴和常规峡谷的生成方式发生了变化,盐分的影响使得这两者不再受特定种子的影响,但如果相关种子减去1,这两种结构会重新出现,例如107038380838083,然而其他结构却不再重复。

  5. 理论上,已有研究探讨了这些种子如何影响要塞中的方块分布及恶地中的陶瓦图案,尽管目前尚缺乏具体证据支持。

  6. 另一些地形特征如装饰性结构亦受影响,通常以对角线的方式生成。

  7. 基岩版中,种子289849025和1669320484会导致洞穴、峡谷及某些装饰性结构沿对角线反复生成。

  8. 此外,种子1000686894和-1171867832导致Z轴上无限生成废弃矿井。

  9. 任意满足4294967296 × n + 1669320484形式的种子也会创造出具有相似地形特点的世界

📑
🤔
⬆️