本帖最后由 mc3124076548 于 2021-8-13 09:03 编辑
/data get entity @p SelectedItem.tag.display
提取玩家手上物品的Name NBT后,如何将该数据再用/say发出一遍
内涵:让指令提取到的nbt充当变量,再/say一遍这个变量(内容变得可读)
/data get entity @p SelectedItem.tag.display
提取玩家手上物品的Name NBT后,如何将该数据再用/say发出一遍
内涵:让指令提取到的nbt充当变量,再/say一遍这个变量(内容变得可读)
本帖最后由 鱼宝放心飞 于 2021-8-13 19:11 编辑
另外,使用 interpret 可以使 nbt 像 json 一样被解析,试比较:
[1.15+] JSON 文本中的 interpret
https://www.mcbbs.net/forum.php?mod=viewthread&tid=921501
代码:
- tellraw @a {"nbt":"SelectedItem.tag.display","entity":"@s"}
代码:
- tellraw @a {"nbt":"SelectedItem.tag.display.Name","entity":"@s"}
- tellraw @a {"nbt":"SelectedItem.tag.display.Name","entity":"@s","interpret":true}
https://www.mcbbs.net/forum.php?mod=viewthread&tid=921501
本帖最后由 mc3124076548 于 2021-8-13 09:14 编辑
本质上解决了,又好像没有2333
鱼宝放心飞 发表于 2021-8-13 08:59
另外,使用 interpret 可以使 nbt 像 json 一样被解析,试比较:
[1.15+] JSON 文本中的 interpret
https:/ ...
mc3124076548 发表于 2021-8-13 19:12
本质上解决了,又好像没有2333
本质上解决了,又好像没有2333
为什么说 "又好像没有"?
本帖最后由 mc3124076548 于 2021-8-13 09:16 编辑
我是想让玩家执行指令后获得的信息,再say一遍这个信息,而不是通过tellraw输出一个变量获得这个信息
鱼宝放心飞 发表于 2021-8-13 09:13
为什么说 "又好像没有"?
我是想让玩家执行指令后获得的信息,再say一遍这个信息,而不是通过tellraw输出一个变量获得这个信息
本帖最后由 mc3124076548 于 2021-8-13 09:24 编辑
这里应该是/data modify storage lzh_2 tty set from entity lzh_2 SelectedItem.tag.display.Name,让内容转进储存器,然后再get后/say
鱼宝放心飞 发表于 2021-8-13 09:13
为什么说 "又好像没有"?
这里应该是/data modify storage lzh_2 tty set from entity lzh_2 SelectedItem.tag.display.Name,让内容转进储存器,然后再get后/say
鱼宝放心飞 发表于 2021-8-13 09:22
我们无法使用命令获取上一条命令运行后输出的信息,除非是命令方块,它的输出信息存在 LastOutput 这个 N ...
用命令方块充当缓冲器,summon falling_block ~ ~1 ~ {Time:1,Block:command_block,DropItem:0b,TileEntityData:{Command:"指令部分",auto:true},Data:1,Passengers:[{id:falling_block,Block:command_block,Date:1,DropItem:0b,Time:1,TileEntityData:{Command:"fill ~ ~ ~ ~ ~-1 ~ air",auto:true}}]}
然后再提取LastOutput就是信息了