• 周年纪念勋章活动已圆满结束,如有已购买但仍未申请的用户,可以通过对应勋章的下载链接申请~

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

TurnipRadish

【Lv:3】

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

物品存储格式​

在游戏源代码中,每个物品都可表示为一个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/物品堆叠组件
 

在线会员

  • 谨孤
  • daicheng03
  • hhhhGG
  • hecaijie
  • REEEEEEEEE
  • vickyd
  • 问就是玩不懂
  • POXIAO77777
  • 云澜
  • 啄啄
  • Tosucceeds
  • 格格
  • Chunnel
  • 巴黎的月
  • wuyewoi
  • xiao606
  • Seektffs
  • 一之濑柒柒
  • 雪山摔哥ec
  • Suxiaoxiang
  • PuddingKC
...和 28 更多。
后退
顶部 底部