Minecraft Wiki

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

了解更多

Minecraft Wiki
Advertisement
Information icon
此特性为基岩版独有。
Dark Oak Sapling
此条目仍需完善。

你可以帮助我们扩充关于该主题的更多信息。
原因:这是一篇中文原创教程,与英文页面有较大差异

本教程版本为基岩版1.14及以上版本。 在阅读本教程前,请先确保自身已有一定的行为包及材质包基础。如果还未掌握,请先浏览教程/制作行为包页面后再来学习本教程。 在浏览完本教程之后,你将学会如何创建一个全新的自定义物品。

示范包下载:item_demo

行为包部分

自定义物品在行为包的部分很简单,只需要创建一个items文件夹,后将物品的json放入即可(名称为: 物品子名.json) 以下为示范代码:

{
	"format_version": "1.10.0",
	"minecraft:item": {
		"description": {
			"identifier": "acr:swords"
		},
		"components": {
      "minecraft:stacked_by_data": false,
      "minecraft:max_stack_size": 1,
      "minecraft:hand_equipped": false
	 }
  }
}

以上为简单示例,以下为详解示例(参见基岩版物品文档):

{
"format_version": "1.12.0",
"minecraft:item": {
"description": {
  "identifier": "minecraft:apple"
  },
 
  "components": {
    "minecraft:max_damage": 10,          // 可以使物品拥有耐久度
    "minecraft:hand_equipped": false,    // 是否以工具形式握持该物品
    "minecraft:stacked_by_data": false,  // 是否根据数据值决定堆叠
    "minecraft:foil": false,             // 可以使物品拥有附魔光泽
    "minecraft:block": ,               // 方块名字,可留空
    "minecraft:max_stack_size": 64,      // 设置物品最大堆叠数量,注意,该值不能超过64
    "minecraft:use_duration": 32,        // 物品的使用时间
    "minecraft:food": {                  //使用此组件定义自定义食物
      "nutrition": 4,                    // 食物的营养值
      "saturation_modifier": "low"     // 饱和度等级,有poor,low,normal,good,max,supernatural六个等级,系数分别是0.1,0.3,0.6,0.8,1.0,1.2
      "using_converts_to": ,            // 使用后转化为的Item,如使用甜菜汤后留下碗
      "on_use_action": none,         // 使用食品产生的动作,目前仅支持传送到其他位置。选填'chorus_teleport' 或 'none'
      "on_use_range": [0, 10, 4],        // 传送位置x,y,z的偏移值
      "cooldown_type": none,            // 冷却类型,'chorusfruit' or 'none'.
      "cooldown_time": 4,                // 冷却时间,单位是tick
      "can_always_eat": true,            // 是否可以一直使用
      
      "effects": [                       // 使用后给玩家buff.
         { 
           "name": "regeneration",     // 状态名字: regeneration, absorption, resistance, fire_resistance
            "chance": 1.0,                // 状态产生的概率,取值为0到1之间
            "duration": 30,               // 持续时间
            "amplifier": 4,               // 等级
          },                                                
          {                                                 
            "name": "absorption",                       
            "chance" : 1.0,                               
            "duration" : 120,                             
            "amplifier" : 3                               
          },                                                
    },                                                     
                                                           
    "minecraft:seed": {                                  
      "crop_result": "sweet_berry_bush",        // 作物的结果
      "plant_at": ["grass","dirt","podzol"] // 规定作物只能种植在哪些方块上
    }                                                      
  }
}
}

材质包部分

在材质包中创建一个items文件夹并将物品的json放入。

注:在这里有两种命名方法,一种是官方的实体子名_texture.json,一种则是常用的实体子名.json的命名方法,两种都可被正常识别。

以下为简单示例:

{
	"format_version": 1.1,
	"minecraft:item": {
		"description": {
			"identifier": "acr:swords",
			"category": "Items"//物品类型
		},
		"components": {
			"minecraft:icon": "swords",//物品贴图定义
            "minecraft:hover_text_color": "aqua",//物品稀有度颜色(无须样式代码)
			"minecraft:render_offsets": "swords"//在VR中该物品的手持位置
		}
	}
}

之后在textures文件夹中,新建一个item_texture.json的文件,在其中定义物品的贴图路径:

{
	"resource_pack_name": "vanilla",
	"texture_name": "atlas.items",
	"texture_data": {
		"swords": {
			"textures":[ "textures/items/swords"
          ]
		}
	}
}


最后在对应路径放入贴图即可。

注:物品名在语言文件中的定义为item.acr:swords.name

本教程仅作最基本的入门教程,有关自定义物品的属性详解请前往基岩版物品文档查看。

参见

Advertisement