名字空間

Share

Share
動作

警告:根据CC BY-NC-SA 3.0协议,所有从wiki搬运的资料都必须写上来源出处(中文Minecraft Wiki),否则将被视为侵权行为!详细阅读

種子(世界生成)

從 Minecraft Wiki
跳到: 導覽, 搜尋
調試屏幕中圖表之上顯示當前世界的種子。

Minecraft 種子(Seed)是一個由一個或多個字符(包括數字)組成的一個值,遊戲根據這個值創建每一個世界。[1]

目錄

[編輯] 世界生成

當遊戲準備生成一個世界時,遊戲會調用一個算法,生成一個偽隨機數,這個數決定了世界的樣子。但由於偽隨機算法的性質,若算法初始輸入的數值(種子)是相同的話,算出的偽隨機數是相同的。

而當世界生成算法更新後,相同的種子也不會生成相同的地形。

這就解釋了為什麼相同的種子可以在相同遊戲版本里創造出相同的世界,而不同的種子、不同的遊戲版本都不可以。

一個世界生成時,它的種子已經確定。默認情況下遊戲會自動選擇種子(使用系統時間)。但玩家也可以手動設置。使用相同的種子可以重複玩相同的世界,種子也可以用於與其他玩家分享世界。種子的設置可以用數字(包括負數)、字符等,非純數字種子會被自動轉換成純數字(見下)。

如果舊版本的世界導入到新版本中,則新的區塊會給於新的種子,因此並不一定會與舊區塊吻合(這種現象在冒險元素更新後廣泛出現)。被刪除的區塊會重新生成,但只要種子或生成算法其中一個有所不同,區塊就會不同。

必須注意的是種子其實只是輸入到偽隨機算法中的值,而不是世界真正的名字。生成一個世界不需要一個手動確定的種子。例如,若使用一個生物群系的名稱(如"swamp",沼澤)作為種子,生成的世界並不會以沼澤作為主要的生物群系。

[編輯] 種子提取

要確定一個世界的種子,載入這個世界並查看調試屏幕

在快照 12w21a 以及1.3正式版以後,調試屏幕不再會顯示種子。玩家需要按"/"鍵打開控制台並輸入命令"seed"。

目前除了使用外部指令和直接讀取地圖文件外,多人模式中的客戶端無法查看服務器世界的種子。

[編輯] 技術

Java 中的String.hashCode() 函數用於將包含非數字字符的種子轉換成純數字。此函數輸出的數據類型限制了遊戲在使用非純數字種子生成世界的總數量(約40億)。直接使用純數字作為種子則可以使遊戲發揮出最大的生成世界數量的能力(約1800億億)。

[編輯] 歷史

Beta
1.3 允許玩家自定義地圖種子。
1.8.1 調試屏幕開始顯示當前世界的種子。
1.2 服務器不再將世界種子發送給客戶端。
正式版本
12w21a 調試屏幕不再會顯示種子。
添加指令"/seed",用於顯示當前世界的種子。

[編輯] 外部鏈接

[編輯] 種子提取

SeedScope.net: 網頁應用,要求上傳遊戲存檔。
隨機種子提取器:本地Java程序

[編輯] 關於Minecraft 種子的專門網站

MinecraftSeeds.us
MinecraftSeeds.info
Minecraft-Seeds.net
SeedMiner.com
AngelikMayhem's Xbox Seed Blog
TopMinecraftWorldSeeds.com

[編輯] 參考

  1. http://mojang.com/2011/02/23/a-short-demystification-of-the-map-seed/