• 【问卷调查奖励发放公告】

    感谢大家积极参与本次 MineBBS 社区问卷调查。200 金粒的参与奖励已完成发放。部分用户发放失败,请【点击此处】 查看详情。

教程 JE|24w09a物品堆叠组件格式教程

TurnipRadish

【Lv:3】

正式会员
注册
2021/06/22
消息
12
金粒
1,706金粒

物品存储格式​

在游戏源代码中,每个物品都可表示为一个ItemStack(物品堆叠)类对象。物品堆叠对象有规范的数据存储格式。以下使用SNBT的形式来表示一个物品堆叠:
代码:
{
  id: "minecraft:stone",
  components: {
    custom_data: {
      test: 123
    },
    custom_name: '{"text":"test_name"}',
    lore: [
      '第一行信息',
      '第二行信息'
    ]
    }
}
以上的SNBT代码定义了一个物品ID为“minecraft:stone”的物品堆叠,堆叠数为1(默认),并对此物品挂载3个堆叠组件:custom_data、custom_name和lore。将以上代码折叠为单行:
代码:
{id: "minecraft:stone",components: {custom_data: {test: 123},custom_name: '{"text":"test_name"}',lore: ['第一行信息','第二行信息']}}
即为游戏中常见的样式(常见于使用/data get命令在聊天中显示的物品相关NBT数据)。在如/give等的命令中,需要将以上NBT转化为适用于命令的语法格式:
代码:
/give @s minecraft:stone[custom_data={test:123},custom_name='{"text":"test_name"}',lore=['第一行信息','第二行信息']]

物品命令格式​

代码:
minecraft:stone{test:'test'}
stone{test:'test'}
在命令中,每个物品组件都可使用如下格式表示:
代码:
<物品组件名>=<组件值>
下例表示一个值为5的minecraft:damage物品组件:
代码:
damage=5
多个物品组件可以添加在物品ID后的方括号中,每个物品组件间以逗号分隔:
代码:
stone[<物品组件名1>=<组件值1>,<物品组件名2>=<组件值2>,...]
以下表示一个拥有damge和repair_coat组件的物品:
代码:
stone[damge=5,repair_cost=2]
特殊:custom_data组件可直接在物品ID后使用花括号表示:
代码:
stone{test:'test'}
等效于:
代码:
stone[custom_data={test:'test'}]

各物品堆叠组件​

详见Minecraft中文wiki:https://zh.minecraft.wiki/w/物品堆叠组件
 

在线会员

  • 谷鸽
  • Polaris_Stella
  • 枫烨
  • Yebrd
  • xiaokong233
  • 76456355275
  • 烟欲
  • frea
  • 青舟
  • Jahre
  • Ry0a
  • jiagoyannn
  • FS20
  • Cdm2883
  • linghun91
后退
顶部 底部