- 致编者:请牢记我们的域名wiki.mcbe-dev.net!
- 致编者:欢迎加入本Wiki的官方交流QQ群或Discord服务器!
- 基岩版1.19.31现已发布!(了解更多)
- Inner Core现已支持Xbox模组联机!(了解更多)
- 如果您是第一次来到本Wiki,欢迎注册一个账户
- 点击顶部的“编辑”或“编辑源代码”按钮即可编辑当前页面
- 请知悉:在不登录时也可以编辑和新建页面,但是您当前的IP地址会记录在编辑历史中
教學:製作附加包/物品/1.16.100
此文章內容已被棄用。 請使用手冊:製作附加包/物品代替。 |
引言[編輯]
基岩版1.12更新中,Mojang正式向開發人員提供了自訂物品的相關介面。但由於當時 Mojang在附加包方面的開發重心仍在於開放自訂實體的相關介面上,故物品介面在很長的一段時間裏都處於「極不完善」的狀態。
直至1.16.100.56 beta版本,自訂物品相關介面才得到了大幅增強,同時自該版本起,Mojang摒棄了資源包中的物品組態檔,使物品的定義更加便捷且架構更加合理。
因1.16.100以後的新版物品結構簡單,定義方便,功能多樣,故本教學僅介紹新版物品的定義方法。
簡介[編輯]
一個完整的物品應該由兩部分組成:
- 物品資源(物品的紋理、名稱)
- 物品行為(物品的行為、屬性、賦命名空間識別碼等)
在本教學中,我們將建立一個簡單的物品。在第一節中,我們將學習如何定義物品行為;在第二節中,我們將給這個物品分配紋理、名稱。
物品行為[編輯]
要定義一個物品的行為,你需要在行為包中的 items
資料夾下新建JSON檔案,並將其命名為<物品ID>.json
。
物品的基本架構如下:
{
"format_version": "1.16.100",//格式版本
"minecraft:item": {
"description": {
}, //描述
"components": {
}, //组件
"events": {
} //事件
}
}
描述 (description) 物件儲存了用於描述該物品的基礎資訊,其中最重要值的便是identifier
,其定義了物品的賦命名空間識別碼。
其詳細數據結構見此。
格式版本(format_version)決定遊戲以何種版本的規則讀取檔案,不同的格式版本的元件、事件寫法可能不同。
元件(components)物件決定物品的行為,你可以選擇並加入需要的元件屬性,例如加入minecraft:foil
元件可以讓物品具有附魔光芒、加入minecraft:food
元件可以讓物品可以被食用。
完整的元件列表見此。
事件(events)物件儲存了該物品可能用到的所有事件,其可以由特定的觸發器元件觸發或者由元件內的觸發器參數觸發,對於初學者,可暫時忽略這部分。
新增物品[編輯]
首先我們在行為包檔案根目錄下新建一個名為items
的資料夾,所有的物品檔案將儲存於此資料夾中,你也可以建立子資料夾以分類物品檔案。
新建一個文字文件,將其後綴改為.json
,並修改檔案名稱為識別碼後半部分。在這之後,我們可以向其中寫下這些內容以定義一個基礎物品。
在你的物品JSON檔案裡加入以下內容:
{
"format_version": "1.16.100",
"minecraft:item": {
"description": {
"identifier":"wiki:custom_item",//该物品赋命名空间标识符,出现重复的标识符会被识别为同一物品。
"category": "items"
},
"components": {
"minecraft:icon": {
"texture": "wiki.custom_item"//定义纹理,填短名称
},
"minecraft:creative_category": {
"parent": "items"
}//物品创造模式分组,在不同格式版本写法不同
}
}
}
進入遊戲,你會發現自己的物品沒有紋理且有一個奇怪的名稱,這是因為我們還沒有定義物品的資源。
物品資源[編輯]
現在我們有了一個物品,本節我們將要給這個物品加入紋理與名稱。
加入紋理[編輯]
紋理儲存在資源包中,為了方便存取,我們需要給紋理定義一個短名稱。
首先,我們需要一個16×16的.png
图檔作為紋理,並將其放入資源包的textures/items
資料夾中。
接着我們需要給這個紋理分配短名稱,所有物品短名稱都儲存在资源包/textures/item_texture.json
,其中包含短名稱及其分配紋理的列表,加入以下內容:
{
"resource_pack_name": "示例资源包",//资源包名称
"texture_name": "atlas.items",//纹理类型,不可更改
"texture_data": {
"wiki.custom_item": {//纹理短名称,应与minecraft:icon组件中填写的值相同
"textures": "textures/items/custom_item"//纹理路径,不带.png后缀
}
}
}
加入名稱[編輯]
最後,我們要為物品加入一個好聽的名字。遊戲會為這個物品分配一個形似item.<物品标识符>
的翻譯鍵,我們只需要在語言檔案中定義它即可。
首先在資源包中新建名為texts
的資料夾,在其中新建名為zh_CN.lang
的文字檔,輸入以下內容:
item.wiki:custom_item=自定义物品
更多資訊見Manual:製作附加包/在地化
你知道嗎[編輯]
- 自訂物品的Json檔案名稱並不要求必須與物品ID相同。
- 物品紋理並不強制要求解像度為16×16,但若不是專門製作高清資源包的話,建議物品貼圖大小不要超過128*128,既節省精力,又節省空間和效能。