1.若您希望改一个物品的Lore标签:
JavaScript:
const item//假设这是你要改物品对象
const nbt=item.getNbt();
nbt.getTag("tag").getTag("display").getTag("Lore").setString(0,"你要改的值");
item.setNbt(nbt);
2.若上述代码报错,则有可能是此物品没有display标签或tag标签导致的,您可以:
JavaScript:
const item;//假设这是你要修改的物品
const nbt=item.getNbt();
nbt.setTag("tag",new NbtCompound({
display: new NbtCompound({
Lore: new NbtList(["要添加的值"])
})
}));
item.setNbt(nbt)
总结:
问题根源是对NBT格式的不了解,因此您有必要了解以下的相关知识
NbtString:NBT字符串,存储文字(如"abc")
NbtLong:NBT整数,存储长的整数(如123L)
NbtInt:NBT整数,存储一般的整数(如123)
NbtShort:NBT整数,存储较短的整数(如123s)
NbtByte:NBT整数,存储十分短的整数(如123b),可能还会用来表示布尔值(1b代表true,0b代表false)
NbtFloat:NBT单浮点数,存储精度较低的小数(如1.23f)
NbtDouble:NBT双浮点数(我忘了有没有这个东西了),存储精度较高的小数(如1.23)
NbtCompound:类似于js里的{}(如:{Count:64b,Damage:0,Name:"minecraft:grass"})
NbtList:类似于js里的[](如:["标签1","标签2"])
js中具体的用法请查看
文档