【Minecraft】數(shù)據(jù)包入門教程:物品添加
數(shù)據(jù)包是沒辦法正真意義上添加物品的,所以我們需要給原版物品添加一些標(biāo)簽,然后通過資源包檢測到并修改名稱和貼圖。
需要準(zhǔn)備以下幾個工具:?
1.一臺能夠運行Minecraft Java版的電腦
2.一個文本編輯器(Visual Studio Code,記事本之類的)
3.需要一定的命令基礎(chǔ)
4.對數(shù)據(jù)包和資源包的文件結(jié)構(gòu)有一定的了解
開始:
第一步:注冊物品
首先我們需要在”data/modid“(modid為你數(shù)據(jù)包的id)內(nèi)新建一個loot_tables文件夾,在loot_tables文件夾內(nèi)新建一個item.json文件(item為你需要注冊的物品id,只能是英文小寫、數(shù)字和下劃線),這里以鋼錠為例:
{
?? ?"pools": [
?? ??? ?{
?? ??? ??? ?"rolls": 1,
?? ??? ??? ?"entries": [
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?"type": "minecraft:item",
?? ??? ??? ??? ??? ?"name": "minecraft:iron_ingot",
?? ??? ??? ??? ??? ?"functions": [
?? ??? ??? ??? ??? ??? ?{
?? ??? ??? ??? ??? ??? ??? ?"function": "minecraft:set_nbt",
?? ??? ??? ??? ??? ??? ??? ?"tag": "{display:{Name:'{\"italic\":false,\"translate\":\"item.modid.steel_ingot\"}'},id:'modid:steel_ingot',CustomModelData:12940001}"
?? ??? ??? ??? ??? ??? ?}
?? ??? ??? ??? ??? ?]
?? ??? ??? ??? ?}
?? ??? ??? ?]
?? ??? ?}
?? ?]
}
?"name": "minecraft:iron_ingot"中的minecraft:iron_ingot為你需要修改的原版物品ID。
item.modid.steel_ingot為本地化名稱,用于多語言,如果不需要多語言的話,直接改成你注冊的物品中文名即可,item為該物品的類型,方塊就改成block,modid是你數(shù)據(jù)包的命名空間(也就是數(shù)據(jù)包ID),steel_ingot為注冊的物品ID。
id:'lyg:steel_ingot'中的modid為你數(shù)據(jù)包命名空間(也就是數(shù)據(jù)包ID),steel_ingot為注冊的物品ID。
CustomModelData:12940001,該數(shù)值建議為12340000-12349999
之間,用于資源包檢測來自定義貼圖。
進入游戲,輸入/loot give @s loot ,如果看到了你注冊的物品,說明你第一步已經(jīng)成功了。

第二步:自定義材質(zhì)
首先我們需要準(zhǔn)備一個物品的模型和一個貼圖,模型的名稱為item.json,item是你注冊的物品ID這里以鋼錠為例(steel_ingot.json)
模型代碼:
{
? "parent": "minecraft:item/generated",
? "textures": {
??? "layer0": "modid:item/steel_ingot"
? }
}
在資源包的”assets/minecraft“內(nèi)新建一個models/item文件夾并在內(nèi)部新建一個iron_ingot.json文件,iron_ingot為需要修改的原版物品id,這里以鐵錠為例,
iron_ingot.json代碼:
{
??? "parent": "item/campfire",
??? "textures": {
??????? "layer0": "item/iron_ingot"
??? },
?? ?"overrides" :[
?? ??? ?{"predicate":{"custom_model_data":12940001},"model":"modid:item/steel_ingot"}
?? ?]
}
"item/iron_ingot"中的iron_ingot為需要修改的原版物品id。
"custom_model_data":12940001的數(shù)值根據(jù)你之前設(shè)置的填。
"model":"modid:item/steel_ingot"中modid為你數(shù)據(jù)包id,steel_ingot為模型名稱
?然后在 assets/modid (modid為你數(shù)據(jù)包id)內(nèi)新建一個 models/item 文件夾,并把之前新建的.json模型放進去,在 assets/modid 內(nèi)新建一個 textures/item 文件夾,并將你的物品貼圖放進去,貼圖名稱為item.png,item為你注冊的物品id,這里以steel_ingot.png為例。

進入游戲,同時按下F3+T重載資源包,此時我們可以看到注冊物品已經(jīng)有了貼圖。

第三步:自定義名稱
接下來我們要解決物品名稱問題(之前的item.modid.steel_ingot如果你填的是中文名,那么這一步可以省略了),在資源包的 assets/modid 中新建一個lang文件夾并在內(nèi)部新建一個zh_cn.json文件。
zh_cn.json文件內(nèi)容:
{
??? "item.modid.steel_ingot":"鋼錠"
}
item.modid.steel_ingot為之前注冊的物品本地化名稱,“鋼錠”為顯示名稱。
進入游戲,按下F3+T,此時我們可以看到物品名稱已經(jīng)成功顯示出來了。

?????????????????????????????????????????????????????????????????????