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

在线管理成员

在线会员

  • QAQ!
  • rainbow_miku
  • 超级刺客
  • 语吴伦次
  • K3
  • Mr_tang
  • 没烦恼
  • 呆呆谨言
  • hanmomo
  • qweasd1996
  • Schneider_1022
  • Haibao211
  • 阿冬
  • 乱杖先生
  • aria。
  • 1wn
  • 椰浆不是椰
  • SkywalkerIron
  • Shimamura Tako
  • fjnu_
...和 5 更多。
后退
顶部 底部