行为包

首先在行为包目录创建“items”文件夹,接着在里面新建json文件(文件名字随意)

{
"format_version": "1.16.200",
"minecraft:item": {
  "description": {
  "identifier": "byh:item"
  },
 
  "components": {}
 }
}

解释:

format_version

格式版本

minecraft:item

定义物品的各个模块,基础信息、组件等

描述类型默认值可选值
description物品基础信息对象null
components组件对象null

组件
请参考AddonAPI文档,包括物品组件、方块组件、实体组件等

description
描述类型默认值可选值
identifier物品唯一标识符字符串null命名空间:ID
category物品分类字符串nullitems、equipment、natural、block、commands
is_experimental需要开启实验玩法才能注册布尔falsetrue或false

命名空间
相当于前缀,会被应用到物品/方块/实体ID等地方
Minecraft原版的命名空间即为“Minecraft”

有何用?

假如两个附加包里都有个叫做“item”的物品,你是无法同时使用的,先加载哪个包才能先加载哪个物品
此时,命名空间就有作用了,如果一个改为“a:item”,另一个改为"b:item",这样就不会冲突
命名空间和ID一样都可以是任何字母+数字,命名空间你可以写您的名字(英文或拼音)

贴图与语言

新格式

1.16.100及以上版本格式(选择该格式的话,行为包的item文件格式版本也需改成1.16.100及以上)
在行为包的item文件组件中写入下列两个组件

        "components": {    
          "minecraft:display_name": {},//物品名字,可在{}内填写”value“: "字符串"直接定义(不建议),否则须在语言文件内定义
          "minecraft:icon": { //物品贴图
            "texture": "byh:item"  //值为字符串,贴图名字(不是贴图文件名字)
          }   

接着在资源包根目录新建一个“textures”文件夹,在里面接着创建一个“item_texture.json”文件

{
  "resource_pack_name": "vanilla",
  "texture_name": "atlas.items",
  "texture_data": {
    "byh:item": { //对应物品行为文件中minecraft:icon的texture的值
      "textures": " "  //贴图位置,起始目录为资源包根目录
    }
  }
}   

旧格式

1.16.100之前版本格式(选择该格式的话,行为包的item文件格式版本也需改成1.16.100之前)

同样,在资源包根目录创建一个“items”文件夹,接着创建一个json文件。

{
  "format_version": "1.16.0",
  "minecraft:item": {
    "description": {
      "identifier": "byh:item", //物品ID,要与行为包里的一致 
      "category": "Nature"  //物品类型
    },

    "components": {
      "minecraft:icon": "byh:item" // 物品贴图ID
    }
  }
}

接着在资源包根目录新建一个“textures”文件夹,在里面接着创建一个“item_texture.json”文件

{
  "resource_pack_name": "vanilla",
  "texture_name": "atlas.items",
  "texture_data": {
    "byh:item": { //对应物品贴图名字
      "textures": "textures/items/byh:item"  //贴图位置,起始目录为资源包根目录
    }
  }
}   

资源包根目录创建一个“texts”文件夹,这个是语言文件夹
接着再新建一个文件,名字“zh_CN.lang”

这个表示中文简体语言,繁体则是“zh_TW”,英语(美)“en_US”
其它语言文件也是同理。

item.byh:item.name=测试物品

格式:item.命名空间:ID.name=显示的文字

注意大小写