已解决 JavaScript编写ll插件修改nbt遇到的问题

春天霹雳

【Lv:4】

正式会员
注册
2020/08/08
消息
7
金粒
256.00金粒
语言是JavaScript,liteloadbds的版本是2.14.1
我搞不明白该怎么去修改nbt标签的某一项
我使用
let it = pl.getHand()
获取了玩家主手的物品nbt标签
又用
let nbt = JSON.parse(it.getNbt())
将它转化成对象
假设我要修改物品的Lore
于是我就写
nbt.tag.display.Lore = ["修改后的自定义描述"]
it.setNbt(NBT.parseSNBT(JSON.stringify(nbt)))
合在一起就是
let it = pl.getHand() let nbt = JSON.parse(it.getNbt()) nbt.tag.display.Lore = ["修改后的自定义描述"] it.setNbt(NBT.parseSNBT(JSON.stringify(nbt)))

然后就报错了
uTools_1692866930435.jpg
研究了两天都没研究明白,百度查资料,下载别人的插件参考,都没整明白,快折磨死了
求个大佬指导一下,求一个示例
 
最后编辑:
let it = pl.getHand() let nbt = it.getNbt() nbt.setByte("Count",32) it.set(mc.newItem(nbt))
这么写成功修改了Count,
那如果我要修改类似这样里面还有好几个的该怎么写
比如要改Lore
"tag":{ "display":{ "Lore":["我是物品描述"] } }
要用getTag和对应的set函数修改
 

在线会员

  • 凤栖黎
  • 回克
  • xuebingtao
  • zforlikec
  • loginzwh
  • isbshsjsh
  • 秽墨丶
  • Qi_Gai
  • Hutaro_x
  • 涵筱
  • 征途
  • mc_xiaoQAQ_
后退
顶部 底部