【Minecraft】数据包入门教程:物品添加
数据包是没办法正真意义上添加物品的,所以我们需要给原版物品添加一些标签,然后通过资源包检测到并修改名称和贴图。
需要准备以下几个工具:
1.一台能够运行Minecraft Java版的电脑
2.一个文本编辑器(Visual Studio Code,记事本之类的)
3.需要一定的命令基础
4.对数据包和资源包的文件结构有一定的了解
开始:
第一步:注册物品
首先我们需要在”data/modid“(modid为你数据包的id)内新建一个loot_tables文件夹,在loot_tables文件夹内新建一个item.json文件(item为你需要注册的物品id,只能是英文小写、数字和下划线),这里以钢锭为例:
{
"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是你数据包的命名空间(也就是数据包ID),steel_ingot为注册的物品ID。
id:'lyg:steel_ingot'中的modid为你数据包命名空间(也就是数据包ID),steel_ingot为注册的物品ID。
CustomModelData:12940001,该数值建议为12340000-12349999
之间,用于资源包检测来自定义贴图。
进入游戏,输入/loot give @s loot ,如果看到了你注册的物品,说明你第一步已经成功了。

第二步:自定义材质
首先我们需要准备一个物品的模型和一个贴图,模型的名称为item.json,item是你注册的物品ID这里以钢锭为例(steel_ingot.json)
模型代码:
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "modid:item/steel_ingot"
}
}
在资源包的”assets/minecraft“内新建一个models/item文件夹并在内部新建一个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的数值根据你之前设置的填。
"model":"modid:item/steel_ingot"中modid为你数据包id,steel_ingot为模型名称
然后在 assets/modid (modid为你数据包id)内新建一个 models/item 文件夹,并把之前新建的.json模型放进去,在 assets/modid 内新建一个 textures/item 文件夹,并将你的物品贴图放进去,贴图名称为item.png,item为你注册的物品id,这里以steel_ingot.png为例。

进入游戏,同时按下F3+T重载资源包,此时我们可以看到注册物品已经有了贴图。

第三步:自定义名称
接下来我们要解决物品名称问题(之前的item.modid.steel_ingot如果你填的是中文名,那么这一步可以省略了),在资源包的 assets/modid 中新建一个lang文件夹并在内部新建一个zh_cn.json文件。
zh_cn.json文件内容:
{
"item.modid.steel_ingot":"钢锭"
}
item.modid.steel_ingot为之前注册的物品本地化名称,“钢锭”为显示名称。
进入游戏,按下F3+T,此时我们可以看到物品名称已经成功显示出来了。
