Minecraft Wiki

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

了解更多

Minecraft Wiki
Advertisement

version.json是mojang提供的用於查詢單個版本資訊的清單檔案,其檔案名為<版本號>.json,通常儲存在.minecraft/versions/<版本号>資料夾下。用於啟動器下載某個特定的遊戲版本。

檔案下載

該檔案可以透過version_manifest.json檔案提供的URL下載。

檔案大體結構

version.json使用JSON結構來儲存及取出數據。下面列出了對其中主要JSON鍵值的解釋:

類型 説明
arguments Map 參數列表,分為JVMgame類型為列表的子鍵,分別用於指定目前版本的JVM參數及遊戲參數,在1.13之前,該鍵由gameArguments代替。
assetIndex Map 目前版本的資源檔案索引,包含其下載地址等資訊。
assets 字串 目前版本的資源檔案版本。
downloads Map 包含用戶端伺服器端下載地址等資訊。
libraries Map 遊戲所有依賴庫,包含其下載地址等資訊。
logging Map log4j組態檔,包含其下載地址等資訊。
mainClass 字串 主類名。
releaseTime 字串 使用ISO 8601格式化的數據,用於表示版本的發佈時間。
time 字串 使用ISO 8601格式化的數據,用於表示版本的更新時間。
type 字串 版本類型,可以是:release正式版)、snapshot快照)、old_betaBeta版)或old_alphaAlpha版)。

字串格式化

在本json檔案中,很多字串值並不可以之間使用,而是有類似${var}的結構,這是需要格式化用字串,在使用時應替換為對應變數。

規則(rules)

arguments下的gameJVM鍵中可能不止有字串,也可能會是包含rules鍵的一個Map。像這樣包含rules的Map也可能出現在libraries列表中的每一項中。

rules通常會有以下內容:

類型 説明
action 字串 對目前項執行的操作,可以是allow(允許)或disallow(不允許),若滿足其餘鍵值,則執行該action。
features Map 對應啟動器內設定,通常是一個布爾變數。
os Map 目前系統相關的要求,有name(系統名稱)、version(系統版本)和arch(系統架構)。

資源索引

用於資源索引的json檔案的相關資訊儲存在assetIndex鍵中,擁有以下內容:

類型 説明
id 字串 資源索引的識別碼。
size 整型 資源索引檔案的檔案大小。
totalSize 整型 所有資源檔案的總大小。
url 字串 下載資源索引檔案的完整URL。

用戶端/伺服器端

用戶端和伺服器端的資訊分別儲存在downloads下的clientserver兩個鍵,擁有以下相同格式的內容:

類型 説明
sha1 字串 用戶端/伺服器端的sha1校驗碼。
size 整型 用戶端/伺服器端的檔案大小。
url 字串 下載用戶端/伺服器端的完整URL。

依賴庫

依賴庫檔案相關資訊以列表的形式儲存在libraries鍵下,幾乎都有downloadsname兩個鍵。downloads村粗了依賴庫檔案的下載相關資訊,而name的結構如下:

<package>:<name>:<version>

此處package為完整包名,name為庫名,而version為庫版本號。

他們雖然儲存的層級不同,但是擁有相同的json檔案資訊格式如下:

類型 説明
path 字串 依賴庫檔案相對於libraries資料夾的路徑,並包含檔案名。除檔案名外的路徑總是為<package>/<name>/<version>/,此三個變數即對應的name鍵。
sha1 字串 依賴庫檔案的sha1校驗碼。
size 整型 依賴庫檔案的檔案大小。
url 字串 依賴庫檔案的完整URL,總是為相對路徑前跟上https://libraries.minecraft.net/

普通依賴庫檔案

普通的依賴庫檔案的資訊儲存在libraries[?].downloads.artifact中。

它的檔案名也可從name鍵中推斷,重組為:

<name>-<version>.jar

natives庫檔案

只有libraries[?].downloads鍵下包含natives項目才是natives庫檔案。

其資訊儲存在libraries[?].downloads.artifact.classifiers.<natives_key>中,<natives_key>為natives鍵中當然系統對應的值。

它的檔案名也可從name鍵中推斷,重組為:

<name>-<version>-<natives_key>.jar

遊戲日誌

遊戲日誌的配置儲存在logging中,目前只有client一個鍵,只有用戶端的日誌配置資訊。

argument鍵儲存了啟動遊戲時需要的額外JVM參數。

file鍵儲存了組態檔的資訊看,內容如下:

類型 説明
id 字串 日誌組態檔的檔案名。
sha1 字串 日誌組態檔的sha1校驗碼。
size 整型 日誌組態檔的檔案大小。
url 字串 日誌組態檔的完整URL。

type鍵儲存了組態檔的類型。

Advertisement