已解决 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函数修改
 

在线会员

  • 〆形同陌路。
  • Amaruq·Illaujaq
  • 一个不知名的网友
  • K3
  • srmg27
  • 小安鱼
  • LXING3156
  • 1145158638
  • PixelUtopia-像素乌托邦
  • 晚风吹过eco
  • 羊羊a
  • 江雁
  • 是阿楠
  • 阿陈陈陈阿
  • 王聪聪
  • 阮清
  • Justinbery
  • 不知道起啥名呀
  • 3215424619
  • 106207
...和 4 更多。
后退
顶部 底部