钠钠钠镓
例如,检测手持物品的第二条Lore是否为'{"text":"lv1","color":"yellow","italic":"false"}'
尝试使用路径 SelectedItem.tag.display.Lore[1]."{\"text\":\"lv1\",\"color\":\"yellow\",\"italic\":\"false\"}" 失败

2021.12 数据,可能有更多内容例如,检测手持物品的第二条Lore是否为'{"text":"lv1","color":"yellow","italic":"false"}'
尝试使用路径 SelectedItem.tag.display.Lore[1]."{\"text\":\"lv1\",\"color\":\"yellow\",\"italic\":\"false\"}" 失败

星层
/execute if entity @p[nbt={SelectedItem:{id:"物品的ID",tag:{display:{Lore:["{\"text\":\"11111\"}"]}}}}]
判断最近的玩家手持{物品}且lore为11111
如果你指的是无论什么东西Json对就行那我不知道

钠钠钠镓
星层 发表于 2020-11-25 08:02
/execute if entity @p[nbt={SelectedItem:{id:"物品的ID",tag:{display:{Lore:["{\"text\":\"11111\"}"]}} ...

用路径的本意就是希望在超长lore的情况下能简化指令,selectteditem要求完全匹配

Jokey_钥匙
本帖最后由 Jokey_钥匙 于 2020-11-25 13:39 编辑

execute if data的作用的是判断数据是否存在以及统计列表元素
能 但是麻烦
data modify storage temp temp set from @s SelectedItem.tag.display.Lore[1]
execute if data storage temp {temp:'{"text":"lv1","color":"yellow","italic":false}'} run ...
可能有更好的方法

等一下 完全匹配?
你试试物品自定义tag啊 give @s stone{id:1}
无论这个物品怎么描述 如果id为1就是该物品
execute as @a[nbt={SelectedItem:{tag:{id:1}}}] run ...

↓对不起 我是**(

晴路卡
本帖最后由 晴路卡 于 2020-11-25 14:22 编辑
Jokey_钥匙 发表于 2020-11-25 12:05
execute if data的作用的是判断数据是否存在以及统计列表元素
能 但是麻烦
data modify storage temp temp  ...

啊我不是那个意思
在游戏里布尔值外面的引号加和不加都可以的
只不过在给物品的时候带引号的检测的时候就需要加
给物品的时候没带引号的话检测的时候只有不带引号才能通过
mj不会给你转换的

只是正常的json文件里布尔值不会写成字符串的形式


renyunzhong
json在NBT里使用的存储类型为String字符串,nbt路径本来就进不去字符串里

第一页 上一页 下一页 最后一页