UID82897性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2021-7-23最后登录1970-1-1
| 本帖最后由 Cat_Anchor 于 2024-11-9 18:52 编辑
前言 | 上期,我们成功向附加包中添加了物品,了解了物品组件。这一期,我们将继续学习物品组件。我们把所有组件和事件学习完之后,我会教你如何运用这些组件和事件。 | | 组件列表 | | 普通组件
block_placer 放置方块组件:使物品可以被放置为方块。
- "minecraft:block_placer": {
- "block": "bedrock",
- "use_on": [
- "dirt", //泥土
- "grass" //草方块
- ],
- "replace_block_item": false
- }
复制代码字段 | 功能描述 | 类型 | block | 要放置的方块ID,不能是隐藏方块(如下界反应核),否则放置时游戏崩溃。 | 字符串 | use_on | 仅允许在某些方块上放置,留空表示允许全部方块。 | 字符串列表或方块描述符列表 | replace_block_item | 替换被放置方块的物品形态。设为true时,物品的ID必须与被放置方块的ID一致。 | 布尔值 | 旧名称:相同
版本:~1.16.100
旧语法:
"minecraft:block_placer": {
"block": "bedrock", //要放置的方块ID。
"use_on": [ //指定允许在哪些方块上放置。
"dirt", //泥土
"grass" //草方块
],
"use_block_description": true
}
旧名称:minecraft:seed
版本:≤1.10
旧语法:
"minecraft:seed": {
"crop_result": "cave_vines", //种植的作物ID(放置的方块ID)
"plant_at": [ //可以种植(放置)在...方块上
"cave_vines", //洞穴藤蔓
"cave_vines_head_with_berries" //带果实的洞穴藤蔓头
],
"plant_at_any_solid_surface": true, //可以种植(放置)在任何固体表面上
"plant_at_face": "DOWN" //种植(放置)的方块面,这里是方块的下方
} |
bundle_interaction 收纳交互组件:指定物品有收纳袋的 UI 和交互。
必须与 minecraft:storage_item 一起用。- "minecraft:bundle_interaction": {
- "num_viewable_slots": 64
- }
复制代码
字段 | 功能描述 | 类型 | num_viewable_slots | 物品太多时显示多少种物品,范围是 1 到 64 | 整数 |
注:收纳袋有分层纹理,让交互时的物品看起来真的在收纳袋里面。这个特性使用两个纹理,要在 textures_list.json 中指定(可能要在物品纹理的列表中指定),命名格式为 <物品名>_open_front 和 <物品名>_open_back。 |
can_destroy_in_creative 禁用破坏组件:指定拿着物品时是否允许在创造模式下破坏方块。
- "minecraft:can_destroy_in_creative": true
复制代码字段 | 功能描述 | 类型 | minecraft:can_destroy_in_creative | 把这个物品拿在手上而且处于创造模式时,可不可以破坏方块。 | 布尔值 |
|
compostable 堆肥组件:使物品可以堆肥并指定堆肥概率。
- "minecraft:compostable":{
- "composting_chance": 50
- }
复制代码字段 | 功能描述 | 类型 | composting_chance | 物品转变为一层肥料的概率,范围是[1, 100]。50表示50%的概率。 | 整数 |
|
cooldown 冷却组件:使物品使用后需要冷却一段时间才能继续使用。
- "minecraft:cooldown":{
- "category": "custom_cooldown_type",
- "duration": 0.2
- }
复制代码字段 | 功能描述 | 类型 | category | 冷却类型。尝试使用不存在的冷却类型时,会注册为新的冷却类型。冷却类型一致的物品共享冷却时间。 | 字符串 | duration | 冷却时间,单位是秒。设为负数会让物品图标覆盖上冷却层。 | 浮点数 |
|
custom_components 自定义组件:使用由脚本定义的自定义物品组件。
- "minecraft:custom_components": [
- "complementary:fish_effect",
- "complementary:apple_effect"
- ]
复制代码字段 | 功能描述 | 类型 | minecraft:custom_components | 一个或多个自定义组件的名称。 | 字符串列表 |
|
damage 伤害组件:指定物品造成的额外伤害。
字段 | 功能描述 | 类型 | minecraft:damage | 武器造成的伤害。 | 整数 |
|
damage_absorption 伤害吸收组件:使物品被穿戴时,将外界伤害转化为耐久度消耗。
- "minecraft:damage_absorption": {
- "absorbable_causes": [
- "entity_attack",
- "lava"
- ]
- }
复制代码字段 | 功能描述 | 类型 | absorbable_causes | 可吸收伤害的类型。 | 字符串列表 |
|
digger 挖掘组件:使物品能加速挖掘方块。
- "minecraft:digger": {
- "use_efficiency": false,
- "destroy_speeds": [
- "dirt", //方块ID
- {
- "block": "minecraft:nether_wart_block",
- "speed": 5
- },
- {
- "block": {
- "tags": "q.any_tag('wood', 'pumpkin', 'plant')"
- },
- "speed": 4
- }
- ]
- }
复制代码字段 | 功能描述 | 类型 | use_efficiency | 是否使用效率魔咒。 | 布尔值 | destroy_speeds | 加速挖掘的方块。 | 字符串列表或对象列表 | destroy_speeds/* | 一个方块和它的挖掘速度。 | 字符串列表或对象列表 | destroy_speeds/*/block | 加速挖掘的方块。 | 字符串或方块描述符 | destroy_speeds/*/speed | 挖掘的速度。设为0或负值会使物品无法挖掘此方块。 | 整数 | 以下是原版工具的挖掘速度。值 | 描述 | 0 | 无法挖掘 | 2 | 木工具挖掘速度 | 3 | 石工具挖掘速度 | 6 | 钻石工具挖掘速度 | 7 | 下界合金工具挖掘速度 | 8 | 金工具挖掘速度 |
|
display_name 名称组件:设置物品名称。
- "minecraft:display_name": "名称"
复制代码字段 | 功能描述 | 类型 | minecraft:display_name | 物品名称,可以指定本地化键名。 | 字符串 | 优先翻译提供的字符串,无法翻译时显示原始字符串。不指定此组件时,游戏将根据物品的格式版本生成一个本地化键名。1.15及以下的旧版物品是item.物品命名空间ID.name,1.16.100及以上的新版物品是item.物品命名空间ID。 |
durability 耐久组件:让物品拥有耐久度,并允许这种物品在工作台合并。
- "minecraft:durability": {
- "damage_chance": {
- "min": 15,
- "max": 100
- },
- "max_durability": 36
- }
复制代码字段 | 功能描述 | 类型 | max_durability | 最大耐久值。 | 整数 | damage_chance | 掉耐久的概率。 | 对象 | damage_chance/min | 掉耐久的概率范围中的最小值,必须在0-100之间,不能大于最大值。 | 整数 | damage_chance/max | 掉耐久的概率范围中的最大值,必须在0-100之间,不能小于最小值。 | 整数 | 以下是原版耐久魔咒使用的damage_chance数据。等级 | 值 | 无耐久魔咒 | 1.0 | Ⅰ | 0.5 | Ⅱ | 0.33 | Ⅲ | 0.25 | 旧名称:minecraft:damageable
版本:~1.16.100
旧语法:
"minecraft:damageable": {
"max_damage": 326 //耐久值
} |
durability_sensor 耐久检测组件:检测耐久值低于某值,并播放声音或显示粒子。
- "minecraft:durability_sensor": {
- "durability_thresholds": [
- {
- "durability": 4000,
- "particle_type": "campfiresmoketall",
- "sound_event": "ambient"
- },
- {
- "durability": 1000,
- "particle_type": "shriek",
- "sound_event": "add.chest"
- }
- ]
- }
复制代码
字段 | 功能描述 | 类型 | durability_thresholds | 检测阈值。同时触发时,最低阈值的优先级最高。 | 对象列表 | durability_thresholds/*/durability | 耐久检测阈值。 | 整数 | durability_thresholds/*/particle_type | 旧版粒子ID。注意,不是/particle命令中的ID,而是旧版粒子的ID。 | 字符串 | durability_thresholds/*/sound_event | 声音ID。 | 字符串 |
|
dyeable 染色组件:使物品可在炼药锅染色,并指定基色。
- "minecraft:dyeable":{
- "default_color": "#17714A"
- }
复制代码字段 | 功能描述 | 类型 | default_color | 默认染色颜色。可选,如果忽略这个字段,那么使用图标组件中default字段指定的纹理。在装染色水的炼药锅中染色后,纹理会变成dyed字段指定的纹理加上炼药锅中水的颜色。 | 字符串 | 注:此组件需要1.21.30+的格式版本。 |
enchantable 附魔组件:使物品可被附魔。
- "minecraft:enchantable": {
- "value": 59,
- "slot": "sword"
- }
复制代码字段 | 功能描述 | 类型 | value | 附魔能力,值越高,出好附魔、高等级的概率就越大。 | 整数 | slot | 附魔槽位,也就是物品可附上哪些魔咒。可用值见下。 | 字符串 | 以下是附魔槽位的可用值。字段 | 描述 | bow | 弓 | armor_feet | 靴子 | armor_torso | 胸甲 | armor_head | 头盔 | armor_legs | 护腿 | hoe | 锄 | axe | 斧 | pickaxe | 镐 | shovel | 锹 | sword | 剑 | elytra | 鞘翅 | fishing_rod | 钓鱼竿 | flintsteel | 打火石 | shears | 剪刀 | cosmetic_head | 生物头颅 | all | 全部,类似于书 | 以下是原版物品的附魔能力。物品名称或类型 | 能力值 | 木质工具 | 15 | 皮革服装 | 15 | 石质工具 | 5 | 锁链护甲 | 12 | 铁质护甲 | 9 | 铁质工具 | 14 | 金质护甲 | 25 | 金质工具 | 22 | 钻石质装备 | 10 | 海龟壳 | 9 | 下界合金质装备 | 15 | 其他可在附魔台附魔的物品 | 1 |
注:工具指剑、镐、斧、锹和锄,服装指帽子、外套、裤子和靴子,护甲指头盔、胸甲、护腿和靴子,装备指剑、镐、斧、锹、锄、头盔、胸甲、护腿和靴子。 |
|
entity_placer 放置实体组件:使物品可以放置为实体。
- "minecraft:entity_placer": {
- "entity": "minecraft:cat",
- "dispense_on": [
- {
- "tags": "q.any_tag('water')"
- }
- ],
- "use_on": [
- "dirt" //方块ID
- ]
- }
复制代码字段 | 功能描述 | 类型 | entity | 要放置的实体ID。 | 字符串 | use_on | 仅允许在某些方块上放置,留空表示允许全部方块。 | 字符串列表或方块描述符列表 | dispense_on | 仅允许在某些方块上发射,留空表示允许全部方块。 | 字符串列表或方块描述符列表 | 物品格式版本为1.19.80及以上时,此物品可设置刷怪笼刷出的实体。 |
food 食物组件:使物品可以被食用。
- "minecraft:food": {
- "nutrition": 4,
- "saturation_modifier": 0.6,
- "can_always_eat": true,
- "using_converts_to": "bowl"
- }
复制代码字段 | 功能描述 | 类型 | nutrition | 回复的饥饿值,范围是自然数。 | 整数 | saturation_modifier | 回复的饱和度。计算公式:饥饿值 * 这里的值 * 2 = 饱和度。 | 浮点数 | can_always_eat | 是否允许在饥饿值满时食用。 | 布尔值 | using_converts_to | 食用后转化为物品的ID。忽略会导致物品直接消失。 | 字符串 | 以下是旧版饱和度字符串与新版本饱和度数值的对应关系。旧版 | 新版 | poor | 0.1 | low | 0.3 | normal | 0.6 | good | 0.8 | max | 1.0 | supernatural | 1.2 | 旧名称:相同
版本:≤1.10
旧语法:
"minecraft:food": {
"saturation_modifier": "normal", //可以用特定的字符串代替饱和度数字,这个用法直到~1.19才移除。下方列出了所有可填的字符串和对应的饱和度值。
"is_meat": true, //是否为肉类
"on_use_action": "chorus_teleport", //食用后的特殊行为。可以填写:chorus_teleport(紫颂果传送效果)、suspicious_stew_effect(谜之炖菜效果)或none(无)。
"on_use_range": [ 8, 8, 8 ], //用于紫颂果。指定传送的范围,单位是方块。
"cooldown_type": "chorusfruit", //冷却类型。可以填写:chorusfruit(紫颂果)或none(无)。
"cooldown_time": 20, //冷却时间,以刻为单位。
"effects": [ //食用的效果列表
{ //一项效果
"name": "regeneration", //效果的id
"chance": 1.0, //获得这个效果的几率,数值必须在0.0和1.0之间。
"duration": 30, //效果持续的时间,单位是秒
"amplifier": 4 //效果的倍率(倍率+1=等级)
},
{ //与上面相同
"name": "fire_resistance",
"chance": 1.0,
"duration": 300,
"amplifier": 0
}
]
} |
fuel 燃料组件:使物品可以在熔炉等方块里当燃料。
- "minecraft:fuel":{
- "duration": 3.0
- }
复制代码字段 | 功能描述 | 类型 | duration | 燃烧的时间(秒),以0.05为分度值,必须≥0.05。 | 浮点数 |
|
glint 闪光组件:指定物品是否有附魔光效。
字段 | 功能描述 | 类型 | minecraft:glint | 物品是否有附魔的闪光效果,忽略实际上是否附魔。 | 布尔值 | 旧名称:minecraft:foil
版本:≤~1.20
旧语法:
"minecraft:foil": true //物品是否有附魔的闪光。true是有,false是没有。 |
hand_equipped 手持组件:指定物品是否有手持动画。
- "minecraft:hand_equipped": true
复制代码字段 | 功能描述 | 类型 | minecraft:hand_equipped | 物品是否有装备在手上的效果(物品竖立,就像握在手中)。 | 布尔值 |
|
hover_text_color 文本颜色组件:指定物品的悬停文本的颜色。
- "minecraft:hover_text_color": "material_amethyst"
复制代码字段 | 功能描述 | 类型 | minecraft:hover_text_color | 物品的悬停文本的颜色。选中这个物品时,它的名字会被这个组件改变颜色。可以填写颜色代码,这里有所有颜色代码。 | 字符串 | 注:此组件在很长一段时间内(~1.16-~1.19)曾不可用,在旧版物品中则需要在资源包文件中指定此组件。 |
max_stack_size 最大堆叠组件:指定物品的最大堆叠数。
- "minecraft:max_stack_size": 1
复制代码字段 | 功能描述 | 类型 | minecraft:max_stack_size | 最大堆叠数量,正整数,范围是1-64。 | 整数 |
|
icon 图标组件:指定物品图标。
- "minecraft:icon": {
- "textures": {
- "default": "custom_chestplate_icon",
- "dyed": "custom_chestplate_gray_icon",
- "icon_trim": "test:custom_chestplate"
- }
- }
复制代码字段 | 功能描述 | 类型 | textures | 图标纹理合集。 | 对象 | textures/default | 默认纹理短名。 | 字符串 | textures/dyed | 物品染色后的纹理短名。需要一个黑白纹理,游戏会动态染色这个纹理。 | 字符串 | textures/icon_trim | 盔甲纹饰的覆盖纹理,也就是物品有纹饰时在原来的物品图标上的叠加层纹理。只能写物品的命名空间ID,否则无法正确覆盖。 | 字符串 | 还可以这么写。字段 | 功能描述 | 类型 | minecraft:icon | 默认纹理短名。 | 字符串 | 旧名称:minecraft:icon
版本:≤约1.20
旧语法:
"minecraft:icon": {
"texture": "custom_chestplate" //指定纹理短名。
} |
interact_button 交互按钮组件:指定物品的交互按钮及文本。
- "minecraft:interact_button": "文本"
复制代码字段 | 功能描述 | 类型 | minecraft:interact_button | 拿着物品时添加一个交互按钮,并设置按钮上的文字为“文本”,可以使用本地化键名。也可以为布尔值,如果设置为true则有默认的“使用物品”提示。 | 字符串或布尔值 |
|
liquid_clipped 接触水面组件:指定物品是否能接触水面。
- "minecraft:liquid_clipped": true
复制代码字段 | 功能描述 | 类型 | minecraft:liquid_clipped | 拿着物品是否能接触水面。主要用于放置船或睡莲。 | 布尔值 |
|
max_stack_size 最大堆叠组件:指定物品的最大堆叠数。
- "minecraft:max_stack_size": 1
复制代码字段 | 功能描述 | 类型 | minecraft:max_stack_size | 最大堆叠数量,正整数,范围是1-64。 | 整数 |
|
projectile 投掷物组件:定义物品为投掷物。
- "minecraft:projectile": {
- "minimum_critical_power": 1.25,
- "projectile_entity": "arrow"
- }
复制代码字段 | 功能描述 | 类型 | minimum_critical_power | 暴击需要的蓄力大小。 | 浮点数 | projectile_entity | 发射的实体ID,此实体必须有minecraft:projectile同名组件。 | 字符串 | 有此组件的物品可用于minecraft:shooter组件中的弹药,也可以放进发射器里发射。 |
rarity 稀有度组件:指定物品的稀有度。
- "minecraft:rarity": "common"
复制代码字段 | 功能描述 | 类型 | minecraft:rarity | 填写物品稀有度,优先级低于minecraft:hover_text_color。可用的稀有度见下。 | 字符串 | 以下是所有可用的稀有度。值 | 描述 | common | 常见 | uncommon | 罕见 | rare | 稀有 | epic | 史诗 |
|
record 唱片组件:指定物品为唱片。
- "minecraft:record": {
- "comparator_signal": 1,
- "duration": 5,
- "sound_event": "ambient.tame"
- }
复制代码字段 | 功能描述 | 类型 | comparator_signal | 在唱片机中播放时比较器输出的信号强度。默认是1,范围是1-15。 | 整数 | duration | 唱片机持续生成粒子的时间长度。 | 整数 | sound_event | 音乐。不能直接写声音ID,声音不一定是音乐。无法播放自定义音乐。 | 字符串 | 此组件似乎用于内部。 |
repairable 修复组件:使物品可以被修复。
- "minecraft:repairable":{
- "repair_items": [
- "anvil", //可以是单个物品ID。
- { //还可以是一个对象。
- "items": [
- "anvil" //物品ID
- ],
- "repair_amount": "math.min(q.remaining_durability + c.other->q.remaining_durability + math.floor(q.max_durability /20), c.other->q.max_durability)"
- }
- ]
- }
复制代码字段 | 功能描述 | 类型 | repair_items | 可以用于修复的物品。 | 字符串列表或对象列表 | repair_items/*/items | 可以用于修复的物品。 | 字符串列表 | repair_items/*/repair_amount | 修复的耐久量,填写数值或者Molang表达式。 | 整数或字符串 |
|
shooter 射手组件:使物品可以射出弹射物。
- "minecraft:shooter": {
- "ammunition": [
- {
- "item": "minecraft:arrow",
- "use_offhand": true,
- "search_inventory": true,
- "use_in_creative": true
- }
- ],
- "charge_on_draw": false,
- "max_draw_duration": 0.0,
- "scale_power_by_draw_duration": true
- }
复制代码字段 | 功能描述 | 类型 | scale_power_by_draw_duration | 是否按照长按的时间增加蓄力力度。 | 布尔值 | charge_on_draw | 如果是true,那么长按并松开后会装填弹药,已经装填弹药后再长按会发射,类似于弩。如果是false,长按时会蓄力,松开后会发射,类似于弓。 | 布尔值 | max_draw_duration | 最大长按蓄力时间。 | 浮点数 | ammunition | 可用的弹药。 | 对象列表 | ammunition/*/item | 弹药物品ID。可以是自定义物品,但它必须含有minecraft:projectile组件。 | 字符串 | ammunition/*/use_offhand | 是否可以使用副手的物品。 | 布尔值 | ammunition/*/search_inventory | 是否搜索物品栏的物品。 | 布尔值 | ammunition/*/use_in_creative | 是否可以在创造模式使用。 | 布尔值 |
|
should_despawn 抗刷新组件:指定物品的掉落物形式是否可以被刷新。
- "minecraft:should_despawn": false
复制代码字段 | 功能描述 | 类型 | minecraft:should_despawn | 物品的掉落物形式是否可以被刷新掉。 | 布尔值 |
|
stacked_by_data 数据值堆叠组件:指定物品是否根据数据值堆叠。
- "minecraft:stacked_by_data": true
复制代码字段 | 功能描述 | 类型 | minecraft:stacked_by_data | 是否根据物品的数据值堆叠。如果是true,则有不同数据值的同一物品不能堆叠。如果是false,则有不同数据值的同一物品可以堆叠。 | 布尔值 |
|
storage_item 收纳组件:指定物品有收纳袋的功能。
物品必须不可堆叠,需要“收纳袋”实验性玩法。- "minecraft:storage_item": {
- "max_slots": 64,
- "max_weight_limit": 64,
- "weight_in_storage_item": 4,
- "allow_nested_storage_items": true,
- "banned_items": [
- "minecraft:shulker_box"
- ],
- "allowed_items": []
- }
复制代码字段 | 功能描述 | 类型 | max_slots | 能存物品的种类数,范围是 1 到 64。 | 整数 | max_weight_limit | 收纳袋的最大容量,填写正整数。容量公式:物品数量/最大堆叠数*64 | 整数 | weight_in_storage_item | 收纳袋本身占用的容量,范围是 0 到 64。0 表示不能放进其他收纳袋里。 | 整数 | allow_nested_storage_items | 是否能嵌套收纳袋。 | 布尔值 | banned_items | 禁止放进收纳袋的物品 ID。 | 字符串列表 | allowed_items | 允许放进收纳袋的物品 ID,留空表示允许所有物品。 | 字符串列表 | 旧名称:minecraft:item_storage
版本:<1.21.30.23
旧语法:
"minecraft:item_storage": {
"capacity": 64 //最大容量
}
一个物品占用的容量可用以下公式计算:物品数量/最大堆叠数*64=占用容量。如53个火把占用53/64*64=53的容量,7个雪球占用7/16*64=28的容量,1把钻石剑占用1/1*64=64的容量。但也有特殊情况,收纳袋占用4加上它自身被使用的容量,潜影盒不能放进收纳袋。
基岩版1.19.70以后,此组件就被移除了。在此之前,收纳袋的UI经过多次更改。请选择1.19.60的测试版(如1.19.60.24)进行使用。
在开发者版本1.19.80中,此组件被直接赋值以决定容量(物品格式版本为1.16.0),但在正式版本这么做会报错。
在开发者版本1.20.0中,未装东西的收纳袋纹理被更改了,但它仍然使用此组件,并且可以正常使用。
收纳袋已在1.21.30.23加入。 |
tags 标签组件:指定物品的标签。
这个组件取代了以前的 "tag:xxx": {} 。- "minecraft:tags": {
- "tags": [
- "minecraft:is_food"
- ]
- }
复制代码字段 | 功能描述 | 类型 | tags | 物品拥有的标签,标签可以带命名空间,也可以不带。 | 字符串列表 |
大部分标签没有现成的用途,但有些标签被游戏赋予了内置功能。下面我会列出这些功能。
字段 | 描述 | minecraft:is_sword | 剑 | minecraft:is_pickaxe | 镐 | minecraft:is_axe | 斧,可以给原木去皮 | minecraft:is_shovel | 锹,可以制造草径 | minecraft:is_hoe | 锄,可以制造耕地 | minecraft:is_shears | 剪刀 | minecraft:is_food | 食物 | minecraft:is_meat | 肉类食物 | minecraft:transform_materials | 可以放进锻造台里升级装备的材料;实际上只有下界合金被允许,其他添加了这个标签的物品作为升级材料会导致内容错误。 | minecraft:transformable_items | 可以被放进锻造台里升级的装备。 | minecraft:transform_templates | 可以被放进锻造台里升级装备的模板。 | minecraft:trim_materials | 可以被放进锻造台里纹饰的材料。 | minecraft:trimmable_armors | 可以被放进锻造台里纹饰的盔甲。 | minecraft:trim_templates | 可以被放进锻造台里纹饰的模板。 | minecraft:bookshelf_books | 使物品可以被放进雕纹书架里。 | minecraft:decorated_pot_sherds | 可以被合成为饰纹陶罐,需要修改客户端实体文件来注册这个物品的陶罐纹理。 | minecraft:lectern_books | 使物品可以被放到讲台上,打开后显示一本空书的界面。 | minecraft:stone_tool_materials | 使物品合成石质工具时可以代替圆石使用。 |
此外,给物品添加标签可以让物品参与使用标签作为输入的配方。 |
throwable 投掷组件:使物品可以被投掷。
需要minecraft:projectile组件以指定要投掷的实体。- "minecraft:throwable": {
- "do_swing_animation": false,
- "launch_power_scale": 1.0,
- "max_draw_duration": 0.0,
- "max_launch_power": 1.0,
- "min_draw_duration": 0.0,
- "scale_power_by_draw_duration": false
- }
复制代码字段 | 功能描述 | 类型 | do_swing_animation | 投掷时是否有动画。 | 布尔值 | launch_power_scale | 蓄力增加的程度。 | 浮点数 | max_draw_duration | 最大长按蓄力时间。 | 浮点数 | max_launch_power | 能蓄的最大力量。 | 浮点数 | min_draw_duration | 最小长按蓄力时间,长按时间小于这个会导致投掷不出去。 | 浮点数 | scale_power_by_draw_duration | 是否按照长按的时间增加蓄力力度。 | 布尔值 | 旧名称:minecraft:throwable
版本:~1.21
旧语法:
"minecraft:throwable": {
"do_swing_animation": false,
"launch_power_scale": 1.0,
"max_draw_duration": 0.0,
"max_launch_power": 1.0,
"min_draw_duration": 0.0,
"scale_power_by_draw_duration": false,
"default_offset_scale": 0.8, //(风弹)偏移比例。
"inside_block_offset_scale": 0.05 //(风弹)方块内偏移比例。
} |
use_animation 使用动画组件:指定物品的使用动画和音效。
- "minecraft:use_animation": "eat"
复制代码字段 | 功能描述 | 类型 | minecraft:use_animation | 使用时的动画和音效。所有可用值见下。 | 字符串 | 以下是所有可用值和它们的解释,带 * 表示需要特定附着物。值 | 描述 | eat | 食用食物 | drink | 饮用液体 | bow | 拉弓* | crossbow | 拉弩* | camera | 相机拍照 | spyglass | 望远镜* | spear | 三叉戟* | brush | 刷扫 | block | 举盾* | none | 无动画 |
|
use_modifiers 使用修饰符组件:指定物品使用的效果。
- "minecraft:use_modifiers": {
- "use_duration": 1.6,
- "movement_modifier": 0.35
- }
复制代码字段 | 功能描述 | 类型 | use_duration | 使用这个物品需要的时长。 | 浮点数 | movement_modifier | 使用这个物品时的速度修饰符。 | 浮点数 | 旧名称:minecraft:use_duration
版本:≤1.20.40
旧语法:
"minecraft:use_duration": 1.1 //使用时间。物品格式版本为1.16.100前,单位是刻(0.05秒)。物品格式版本为1.16.100至1.20.30,单位是秒。
旧名称:minecraft:chargeable
版本:≤1.20.40
旧语法:
"minecraft:chargeable":{
"movement_modifier": 0.0, //使用这个物品时的速度修饰符,修改这个可以实现类似于拉弓时行走缓慢的效果。
"on_complete": { //使用完触发的事件
"event": "test", //事件名称
"target": "self"
}
} |
wearable 穿戴组件:让物品可以被穿戴,并提供护甲值。
- "minecraft:wearable":{
- "protection": 5,
- "slot": "slot.armor.chest"
- }
复制代码字段 | 功能描述 | 类型 | protection | 保护的程度。这个数值越高,盔甲的效果越好,必须是正整数。 | 整数 | slot | 可以穿戴在哪里。指定为盔甲槽时,物品的最大堆叠数会被设为1。所有可用槽位见下。 | 字符串 | 以下是所有可用的槽位。槽位值 | 描述 | slot.weapon.offhand | 副手 | slot.armor.head | 头盔 | slot.armor.chest | 胸甲 | slot.armor.legs | 护腿 | slot.armor.feet | 靴子 | 旧名称:minecraft:armor
版本:≤1.20.20
旧语法:
"minecraft:armor": {
"protection": 5, //保护的程度。这个数值越高,盔甲的效果越好,必须是正整数。
"texture_type": "diamond" //纹理类型
} |
| 未知状态组件
以下组件未被官方承认,也没有对应文档。它们的功能未知,也可能会被移除,非常不建议使用它们。这些组件的解释可能不准确。
之前有很多这样的组件,但在1.20.50.24版本后它们已经被移除,仅剩下面这两个组件。它并不被游戏认为已经移除,更新日志也没有提到它被移除。 Frame Count | 纹理帧数
指定动态物品纹理中,纹理有多少帧。必须填写整数。
- "minecraft:frame_count": 16
复制代码
Block | 方块物品
指定物品为方块物品,也就是一个方块对应的物品形式。必须填写字符串,指定对应的方块ID。在1.21.40.23后,其功能可能由minecraft:block_placer中的replace_block_item字段取代。
- "minecraft:block": "minecraft:diamond_block"
复制代码
| 已废弃组件和已移除组件
以下组件已被废弃或移除,非常不建议使用已废弃组件,现已无法使用已移除组件。这些组件的解释可能不准确。
指定物品为染料。- "minecraft:dye_powder": {
- "color": "red" //填写颜色字符串,或数字ID。
- }
- 或者这么写。
- "minecraft:dye_powder": 1 //填写颜色字符串,或数字ID。
复制代码
指定物品的击退抗性。- "minecraft:knockback_resistance": 0.5 //击退抗性值,范围是0.0到1.0。
复制代码
忽略权限物品组件。- "minecraft:ignores_permission": true //是否忽略权限,填布尔值。
复制代码
翻转纹理物品组件。- "minecraft:mirrored_art": true //是否翻转物品纹理,填布尔值。
复制代码
快捷栏动画物品组件。- "minecraft:animates_in_toolbar": true //是否在快捷栏有动画,填布尔值。
复制代码
可被爆炸破坏物品组件。- "minecraft:explodable": false //物品的掉落物形式是否会被爆炸破坏,填布尔值。
复制代码
渲染偏移物品组件。- "minecraft:render_offsets": false //指定物品的渲染偏移,填布尔值或对象或字符串。false将禁用渲染偏移,字符串用于引用原版渲染偏移类型。
- 或者这么写。
- "minecraft:render_offsets": "apple" //指定物品的渲染偏移,填布尔值或对象或字符串。这里引用了原版渲染偏移类型。
- 或者这么写。
- "minecraft:render_offsets": {
- "main_hand": { //物品在主手的渲染偏移。
- "first_person": { //第一人称时...
- "scale": [ //控制物品大小。
- 0.01,
- 0.01,
- 0.01
- ]
- },
- "third_person": { //第三人称时...
- "scale": [
- 0.01,
- 0.01,
- 0.01
- ]
- }
- },
- "off_hand": { //物品在副手的渲染偏移,格式与上面相同。
- "first_person": {
- "scale": [
- 0.01,
- 0.01,
- 0.01
- ]
- },
- "third_person": {
- "scale": [
- 0.01,
- 0.01,
- 0.01
- ]
- }
- }
- }
复制代码
需要交互物品组件。- "minecraft:requires_interact": true //物品是否需要交互,填布尔值。
复制代码
挖掘速度物品组件。- "minecraft:mining_speed": 5 //指定挖掘速度,填正整数。
复制代码
武器物品组件。- "minecraft:weapon": { //添加伤害值的提示,并添加一些触发器。
- "on_hurt_entity": { //攻击实体并使其受伤时触发。
- "event": "aaa", //事件名称。
- "target": "self" //触发效果作用的目标。
- },
- "on_not_hurt_entity": { //攻击实体并未使其受伤时触发。
- "event": "bbb",
- "target": "other"
- },
- "on_hit_block": { //挖掘方块时触发。
- "event": "ccc",
- "target": "self"
- }
- }
复制代码
使用物品触发器组件。- "minecraft:on_use": {
- "on_use": { //使用(右键或长按或在触屏端点击按钮)时触发。
- "event": "aaa", //事件名称。
- "target": "self" //触发效果作用的目标。
- }
- }
复制代码
使用物品于方块触发器组件。- "minecraft:on_use_on": {
- "on_use_on": { //使用于方块(右键或点击方块)时触发。
- "event": "aaa", //事件名称。
- "target": "self" //触发效果作用的目标。
- }
- }
复制代码
肥料物品组件。- "minecraft:fertilizer": {
- "type": "bonemeal" //指定肥料类型,填bonemeal(骨粉)或rapid(超级肥料)。
- }
复制代码
公文包物品组件。- "minecraft:portfolio": {} //指定物品为公文包。
复制代码
地图物品组件。- "minecraft:map": {} //指定物品为地图。
复制代码
剪刀物品组件。- "minecraft:shears": {} //指定物品为剪刀。
复制代码
桶物品组件。- "minecraft:bucket": {} //指定物品为桶。
复制代码
图标地图集物品组件。- "minecraft:icon_atlas": {} //指定物品图标合集。
复制代码
图标变种物品组件。- "minecraft:icon_variant": {} //指定物品图标变种。
复制代码
相机物品组件。- "minecraft:camera": {
- "black_bars_duration": 0.2, //顶部和底部的黑条持续的时长,单位是秒
- "black_bars_screen_ratio": 0.08, //黑条与屏幕的比值,也就是黑条的宽度比屏幕的宽度得到的相对值,用于决定黑条的宽度
- "shutter_duration": 0.2, //快门时长,拍摄一张照片所用的时间间隔,单位是秒
- "picture_duration": 1.0, //显示照片的时长,拍摄后照片会显示在屏幕上,持续这里指定的值,单位是秒
- "slide_away_duration": 0.2 //照片移走的时间,显示完的照片要花这个时间从屏幕下方划走,单位是秒
- } //指定物品的相机动画。
复制代码 |
| | 杂项 | | 描述文档
以下是物品的 description 字段的示例。- {
- "identifier": "complementary:example",
- "menu_category": {
- "category": "equipment",
- "group": "itemGroup.name.cookedFood",
- "is_hidden_in_commands": false
- }
- }
复制代码字段 | 功能描述 | 类型 | identifier | 物品的 ID。 | 字符串 | menu_category | 物品在创造模式物品栏中的位置和在命令中的可见性。 | 对象 | category | 物品在创造模式物品栏中的标签页。 | 字符串 | group | 可选,物品在创造模式物品栏中的分组。 | 字符串 | is_hidden_in_commands | 可选,物品是否在命令列表中隐藏,隐藏之后无法通过命令获取。 | 布尔值 |
以下是 menu_category 的所有可用值和描述。字段 | 描述 | construction | 建筑 | equipment | 装备 | items | 物品 | nature | 自然 | none | 无 |
填写 none 时,物品不能通过创造模式物品栏获取。
group 字段是物品所在的“组”,可以展开或折叠。可以填写原版物品组的本地化键名,也可以创建新的物品组:如果在这里给某些物品填写相同的值,它们会被放在一起,但不能像原版物品组一样展开或折叠。
| 你知道吗?在1.21.40以前的格式版本中,true可以写为1,false可以写为0,反之亦然。浮点数可以写为整数,例如本应写为2.0的值可以写为2。1.21.40及以后,JSON语法分析程序更加严格,不再允许这么写。 item_properties字段可能出现在与组件同级的位置,是一个含有物品属性的对象,其作用未知。 官方创作者文档更新速度很慢,还把本应放在物品分类下的 minecraft:damage_absorption 放到了实体分类下(截至 2024/11/9 仍未修改)。
| 开发计划
注:以下内容可能不准确或不会实现。 通过SAPI获取收纳袋存储的物品。 添加物品组。(短期) 添加物品属性。(中长期) 添加物品动态纹理。(中长期) 添加onEquip和onUnequip触发器。(中长期) 重新添加minecraft:knockback_resistance这样的组件。 扩展盔甲纹饰。(很久以后) 添加物品存储实体的功能。(很久以后) 目前不会添加自定义唱片。 目前不会添加自定义创造模式物品栏的标签页。 | | 总结 | 这一期,我把所有物品组件罗列了一遍。下一期,我们就开始讲物品事件。如果你想要模板包告诉你这些组件到底怎么用,请看第九期。 |
历史 版本/时间 | 事件 | 1.20.0.20 | 移除了minecraft:repairable中的on_repaired参数 | 1.20.0.20 | 移除了minecraft:dye_powder | 2023年4月23日 | 增加了一些组件,美化了排版 | 1.20.0.22 | 移除了minecraft:knockback_resistance | 1.20.20.20 | 移除了minecraft:creative_category、minecraft:ignores_permission、minecraft:mirrored_art、minecraft:armor、minecraft:wearable的mainhand、hotbar、inventory、enderchest和equippable字段,将minecraft:foil重命名为minecraft:glint,将minecraft:armor下的protection字段移动到minecraft:wearable下,在description下添加了menu_category字段 | 1.20.20.21 | 移除了minecraft:animates_in_toolbar、minecraft:explodable、minecraft:render_offsets | 1.20.30.20 | 移除了minecraft:requires_interact,弃用了minecraft:mining_speed | 1.20.30.22 | 加入了minecraft:interact_button | 1.20.40.21 | 弃用了minecraft:weapon、minecraft:on_use、minecraft:on_use_on | 1.20.50.20 | 弃用了以"tag:xxx": {}的方式给物品添加标签,加入了minecraft:tags物品组件以代替以前的功能。 | 1.20.50.22 | 弃用了minecraft:chargeable,将minecraft:use_duration重命名为minecraft:use_modifiers,这个新组件相当于minecraft:chargeable和minecraft:use_duration的合并。 | 1.20.50.23 | 弃用了minecraft:digger中的on_dig参数。 | 2023年11月7日 | 添加了一些组件的旧格式。 | 2023年11月26日 | 移除了被游戏(基岩版1.20.50.24)认为“已移除”的minecraft:fertilizer、minecraft:portfolio、minecraft:map、minecraft:shears、minecraft:bucket、minecraft:icon_atlas、minecraft:icon_variant组件。 | 2023年12月19日 | 根据1.20.60.23中的内容日志,移除了组件minecraft:wearable的dispensable字段和组件minecraft:block_placer的use_block_description字段 | 1.20.60.23 | 移除了组件minecraft:food的on_consume字段,移除了整个物品事件系统(没错,就是移除了与components同级的那个events。) | 2024年3月9日 | 增加并修改了一些描述,根据原版风弹文档(没错,1.21更新的试炼钥匙和风弹是数据驱动的,不是硬编码)添加了两个新参数。 | 2024年5月3日 | 根据实际情况更改了一些组件的描述,排版了一些内容。 | 1.21.10.22 | 加入了minecraft:damage_absorption、minecraft:durability_sensor,修改了排版 | 2024年6月17日 | 添加了更多minecraft:icon的信息 | 2024年7月20日 | 添加了旧版minecraft:food的饱和度字符串信息,添加了minecraft:display_name组件(被我遗忘了很久很久的那个组件),将所有已废弃或移除的组件添加回这个页面,添加了minecraft:custom_components,补充了minecraft:item_storage的信息,稍微更改了排版,补充了minecraft:enchantable的信息 | 1.21.30.21 | 加入了minecraft:rarity,补充了minecraft:projectile的信息 | 1.21.30.23 | 加入了minecraft:storage_item和minecraft:bundle_interaction | 1.21.30.24 | 公开了minecraft:dyeable | 2024年9月7日 | 补充了minecraft:icon的信息,修改了minecraft:interact_button的描述 | 2024年9月18日 | 补充了minecraft:icon和minecraft:dyeable的信息,再次修改了minecraft:interact_button的描述 | 2024年9月20日 | 添加了minecraft:block和minecraft:camera,在正文末尾增加了一个板块,重新设计了本页样式,重写了部分说明。剩余重写工作将在以后完成。 | 2024年9月21日 | 重写了剩余部分,补充了minecraft:durability_sensor的信息。 | 2024年10月1日 | 补充了minecraft:durability_sensor的信息,添加了replace_block_item字段,修改了部分板块的描述 | 1.21.50.20 | 添加了minecraft:compostable | 2024年10月10日 | 移除了minecraft:wearable的slot.saddle、slot.armor、slot.armor.body、slot.chest字段,修改了minecraft:block_placer的描述,优化了JSON排版 | 2024年11月9日 | 修改了minecraft:use_animation的描述,增加了两个板块,将板块移入新的“杂项”大板块,优化了排版,补充了minecraft:tags的信息,修改了minecraft:throwable的描述 |
|
|
评分查看全部评分
|