Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
Disambig gray.svg  本文章介绍的是用于生成游戏世界的种子。关于其他含义,请见“种子”。
Clock JE3 BE3.gif
此条目需要更新。

理由:基岩版1.18.30同步了Java版1.18.2的种子机制。

种子(Seed)是用于生成Minecraft世界的一个整数。[1]

兼容性[]

种子在不同平台上兼容,而同一平台上的不同版本之间可能兼容。

Java版的种子在Alpha v1.2.0Beta 1.7.3期间基本一致。Beta 1.8版本完全更改了世界生成;1.2因为加入了丛林而更改了陆地上生物群系的分布;1.7.2再次重写了世界生成;1.13更改了洞穴的生成,加入了新的水域生物群系,以及调整了变种生物群系和部分结构的位置;1.14加入了竹林生物群系,同时更改了村庄和其他一些结构的位置;1.18加入了多种新的山地和洞穴生物群系,同时完全更改了世界生成。上面未提及每次更新加入的新结构,但它们通常不会伴随整个世界生成的大更改。

基岩版中,Alpha 0.9.0是第一次彻底更改世界生成的更新。水域更新更改了海洋,村庄和掠夺更改了村庄等结构。1.18同样加入了多种新的山地和洞穴生物群系,同时完全更改了世界生成。

原主机版的种子更新大致和Java版的更新周期一致。

1.17及以前,某些特定种子(见下文)在Java版和基岩版中有着相似的生物群系分布,但地形有所不同,结构生成也不一致。自1.18起,所有的基岩版种子将具有和Java版相似的地形和群系分布,但在生成的地物和结构上依然不同。

世界生成[]

当游戏准备生成一个世界时,游戏会调用一个算法,生成一个伪随机数,这个数决定了世界的样子。但由于伪随机算法的性质,若算法初始输入的数值(种子)是相同的话,算出的最终结果是相同的。这就是种子的意义:使用相同的种子可以生成出多个相同的世界。

当世界生成算法更新(通常是加入新的生物群系)后,相同的种子就不会生成相同的地形。这也是某些不同的游戏版本中,相同的种子无法产生相同的地形的原因。

一个世界生成后,其种子便已经确定。默认情况下游戏会自动选择种子(使用系统时间)。但玩家也可以手动设置。使用相同的种子可以重复玩相同的世界,种子也可以用于与其他玩家分享世界。种子的设置可以用数字(包括负数)、字符等,非纯数字种子会被自动转换成纯数字。

如果将旧版本的世界导入到新版本中,则新生成的区块会基于新的种子,因此并不一定会与旧区块吻合(这个现象在Java版Beta 1.81.7.2中非常常见)。被删除的区块会重新生成,但只要种子或生成算法其中一个有所不同,区块就会不同。

必须注意的是种子其实只是输入到伪随机算法中的值,而不是世界真正的名字。根据某个种子生成的世界的特征并不注定与种子的字面含义有关。例如,即使是使用一个生物群系的名称作为种子,生成的世界也并不会以此作为主要的生物群系。

查看种子[]

想要确定一个世界的种子,在Java版中,玩家需要执行命令/seed。玩家也可以在重建世界的界面中找到种子,也可以用编辑世界界面中导出的世界生成设置中找到它。

基岩版中,种子可于世界选项界面中查看。也有一个种子选择器,为玩家提供预设的种子,以在出生点附近生成具有特定特征的地形。此外,在开发版中,屏幕顶端会显示这个世界的种子码。

技术细节[]

Java版[]

如果种子输入框中的内容包含非数字字符(除非是数字开头的一个+-)或超出了64位整数的范围(-9223372036854775808~9223372036854775807),那么Java中的String.hashCode()函数会用来将其转换为数字。由于输出的数据类型为int,此函数将Minecraft能生成的种子数量限制为232(4,294,967,296)。为了达到完整的可能的世界数量(264,即18,446,744,073,709,551,616),必须输入纯数字种子或使用默认的世界种子。

基岩版[]

基岩版中的种子,无论是使用数字还是字符串,都有总共232(4,294,967,296)种可能的世界。这个结论对于64位版本的Windows 10版同样成立。

版本间重叠[]

-231(-2,147,483,648)至231-1(2,147,483,647)间的种子在Java版和基岩版会产生相同的地形和生物群系分布,但结构和结构位置、洞穴、矿石分布和生物生成等并不相同。

怪异生成[]

使用某些特定的种子可以观察到许多奇特的生成。

更改地形而不更改结构[]

Java版中,世界生成的一部分算法使用类似Java.util.Random类的算法,这一算法在生成随机数的时候只有最低的48位有用。因此,通过将种子转换为二进制序列并只修改最高的16位,可以做到多个世界中,部分结构有着相似分布,并具有极为相似的末地和下界。在Java版1.17.1及以前的版本,此性质也适用于主世界洞穴系统,但在噪声洞穴引入后失效[需要验证]

平行种子[]

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

重复[]

Clock JE3 BE3.gif
此段落需要更新。

理由:此现象是否于洞穴与山崖第二部分中修复?如果没有,请更换下面提及的种子。

164311266871034旁观模式下的地下,可见洞穴沿Z轴重复生成。

某些种子会在游戏内部中返回0,[2]引起洞穴和其他结构的无限生成。[3]Java版中,107038380838084种子会在第一次被调用时返回0,而164311266871034会在第二次被调用时返回0,而这两个调用结果会分别与X坐标或Z坐标相乘,从而使生成结果与某一个方向的坐标无关,导致洞穴、废弃矿井和水下峡谷等结构分别在X和Z轴上重复生成。[4]由于未知原因,4165936693698546884种子会在Z轴-250至-500左右的地下生成无限循环洞穴。388513357548740种子会在Z轴上生成无限循环废弃矿井。[5]由于未知原因,水下洞穴和常规峡谷的生成添加了,自Java版1.13后它们不在这个种子中受到影响。不过,如果上述两个种子减去1,那么水下洞穴和常规峡谷将会重复生成,但其他结构则不再重复。已有理论分析这些种子也会影响要塞中不同方块类型的分布和恶地中陶瓦的图案,但尚无切实证据证实。

其他一些地物也会受到影响,例如装饰性结构。它们通常沿对角线生成。[6]

基岩版中,种子2898490251669320484和由ddnqavbj生成的0会沿对角线重复生成洞穴、峡谷和一些装饰性地物。[7]1000686894-1171867832的种子会导致在Z轴上无限生成废弃矿井。[8]

历史[]

Java版pre-Classic
rd-131655加入了一个简单的世界生成器,会生成大小为256×64×256的杂乱地形。
rd-132211更改了世界生成器,现在只会生成由草方块和圆石组成的平坦地形。
rd-20090515地形不再是平坦的了,现在地形会有高低起伏。
世界顶部为一层草方块,下面有几层泥土,底层为石头。
rd-161348悬崖生成得更频繁了。
Java版Classic
0.0.3a现在地下会生成洞穴。
0.0.12a世界生成器更新。
2009年8月25日展示了再次进行更新的世界生成器。
现在会生成更多的悬崖。
Java版Indev
0.3120091223-2公布了等轴距级渲染的屏幕截图。
20100106现在可以在生成世界时选择岛屿、浮岛、平坦或原始作为世界类型。
可以选择正方形、长形或下深作为世界形状。
可以选择小、正常或大作为世界大小。
20100107下深浮岛地图现在有多层岛屿。
现在可以选择世界主题,有正常和地狱。
20100110现在岛屿生成更多的沙子。
20100113海洋现在生成无限的水。
20100122水现在可以自然生成于海平面上和浮岛上。
减少洞穴被水淹没的可能性。
Java版Infdev
20100227-1对世界生成的地形改变:在旧版本上使用任何给定的种子现在会生成一个不同的世界。
世界生成已大大简化(去除了沙子、团簇等),以使无限世界生成的实现更易于使用。
20100227-2砖块金字塔的生成发生了变化——它们现在总是会到达顶部的一个点,而不是有时会被截断,从而产生“砖方形截锥体”。
20100313海洋现在比以前大得多。
20100320重新引入了团簇,其作为单个方块零星生成。
重新实现了的生成。
20100325团簇生成更改为目前的类型。然而,团簇生成使用了浮点数,导致其在距离过大时生成失败
加入了洞穴,会代替所有方块生成而不只是地形方块。
20100327对世界生成的地形改变:在旧版本上使用任何给定的种子现在会生成一个不同的世界。
移除了洞穴。
移除了花随机斑块
33,554,432处的Infdev石墙不再生成。相反,边境之地将会生成在12,550,824。
20100413树现在是大型的树
沙子沙砾现在会在世界中再次生成。
20100420对世界生成的地形改变:在旧版本上使用任何给定的种子现在会生成一个不同的世界。
世界生成时会考虑更少地生成山脉。
20100608所有的树现在都是小树,大树不再生成。
20100611对世界生成的地形改变:在旧版本上使用任何给定的种子现在会生成一个不同的世界。
现在会生成大型岛屿。
地形现在会生成得足够高以至于达到世界高度限制,导致地形被截断。
独石柱现在会生成。
树的生成量现在有所变化。
20100616-1对世界生成的地形改变:在旧版本上使用任何给定的种子现在会生成一个不同的世界。
海洋中的地形生成现在是不同的。[需要验证]
重新加入了洞穴。
花和蘑菇的随机斑块现在会生成。
涌泉现在会自然生成。
熔岩现在会自然生成,具体生成方式未知。
Java版Alpha
v1.2.0preview对世界生成的地形改变:在旧版本上使用任何给定的种子现在会生成一个不同的世界。
Java版Beta
1.3允许玩家自定义地图种子。
1.8.1调试屏幕现在显示当前世界的种子。
Java版
1.2.1服务器将不再向客户端发送种子。
1.3.112w18a由于单人游戏的实现方式与多人游戏合并,世界的种子不再显示在调试屏幕上。
12w21a加入了/seed命令,用于显示当前世界的种子。
1.7.2世界生成算法发生改变,这意味着使用一个旧版本存档,原先未加载的区块将生成不同地形。
1.1318w06a重写了世界生成系统(未更改地形),并且移除了自定义世界类型。
1.18exp1重写了世界生成系统。重制了洞穴山地以及地形高度系统。移除了放大化巨型生物群系
exp2重写了世界生成系统(未更改地形)。
21w41a更换了世界生成过程中所使用的随机数生成器,导致地形与之前的版本不同。
21w43a再次被完全更改,新生成的世界不与之前快照的一致。
1.18.222w03a数字0的种子不再被游戏解释成48。
输入的种子前后的任何空格现在都会被去掉。
携带版Alpha
0.1.0加入了种子。
0.9.0build 1更改了地形生成。
基岩版
1.18.01.18.0.20重写了世界生成系统。
1.18.0.22更换了世界生成过程中所使用的随机数生成器,导致地形与之前的版本不同。
1.18.0.24地形生成机制再次被完全更改,新生成的世界不与之前开发版的一致。
1.18.301.18.20.21现在可以使用64位种子创建世界,以同步Java版
游戏现在支持数字-9至9的种子。

你知道吗[]

  • 自Java版1.7.2至1.12.2的版本间,通过更改源代码并将第6个genlayer的值[需要更多信息]从2更改为0,可以在Java版中得到原主机版的生物群系生成,除了蘑菇岛。

官方使用的种子[]

Java版中,下面这些种子在某些时候曾被官方地图和资源使用过:

  • 演示模式的世界种子可以在完整版中输入North Carolina(对应数字为-343522682)得到。
  • 主菜单背景的世界种子如下:
    • Beta 1.8 Pre-release18w22c使用的种子是21519015539683527458091867987493326313[9],需要Beta 1.6.6Beta 1.7间的版本来生成。
    • 1.13使用的种子是1458140401,在18w22a获取。
    • 1.14使用的种子是2802867088795589976,在18w48a获取。
    • 1.15使用的种子是-4404205509303106230,在19w40a获取。
    • 1.16使用的种子是6006096527635909600,在20w13a获取。
    • 1.18使用的种子是2151901553968352745,在21w40a获取。
  • 原始的pack.png图像显示的世界种子是3257840388504953787,在Alpha v1.2.2生成。[10]此地形也可在Alpha v1.2.0Beta 1.7.3间的版本生成,不过会有细微差别。
  • Skull on Fire这幅的世界种子是-6984854390176336655-1044887956651363087,在Alpha v1.1.2_01或更早的版本生成。[11]

外部链接[]

仅Java版[]

参考[]

Advertisement