黑灬小白
我写了一个在游戏中不断循环的指令放在数据包里,用来命名装饰品的。
奇怪的是,它有时候可以运作,有时候又不能运作。放在曾经服务器的时候是可以的,然而现在又不行了……但是在单人游戏里却又正常运作……
难道这跟玄学有关?
在服务器里:



命名失败
在单人游戏里:




命名成功
tick.json
  1. {
  2.         "values":
  3.         [
  4.                 "origin:skull_renamer"
  5.         ]
  6. }
复制代码
skull_renamer.mcfunction
  1. execute as @e[type=minecraft:item,nbt={Item:{id:"minecraft:player_head",tag:{SkullOwner:{Id:"534c47c4-d04d-416a-bf99-c3efd6",Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjkxMzY1MTRmMzQyZTdjNTIwOGExNDIyNTA2YTg2NjE1OGVmODRkMmIyNDkyMjAxMzllOGJmNjAzMmUxOTMifX19"}]}}}}}] at @s if entity @s run data merge entity @s {Item:{tag:{display:{Name:""蛋糕块""}}}}
复制代码



SPGoding
在服务器上,把头颅丢出去,/data get 看看它的 NBT 是不是有时候由于玄学原因变了…我怀疑是由于服务器的离线验证等原因导致的头颅 NBT 内容有变,如果真的是这样,可以在给头颅的时候加一个自定义标签,然后在加了 #tick 的函数中检测该自定义标签。


例如:
/give @s minecraft:player_head{custom:1b,SkullOwner:{Id:"534c47c4-d04d-416a-bf99-c3efd6",Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjkxMzY1MTRmMzQyZTdjNTIwOGExNDIyNTA2YTg2NjE1OGVmODRkMmIyNDkyMjAxMzllOGJmNjAzMmUxOTMifX19"}]}}


execute as @e[type=minecraft:item,nbt={Item:{id:"minecraft:player_head",tag:{custom:1b}}}] at @s run data merge entity @s {Item:{tag:{display:{Name:""蛋糕块""}}}}

黑灬小白
本帖最后由 黑灬小白 于 2019-6-22 22:57 编辑
SPGoding 发表于 2019-6-22 22:42
在服务器上,把头颅丢出去,/data get 看看它的 NBT 是不是有时候由于玄学原因变了…我怀疑是由于服务器的 ...

好像是这样………………

黑灬小白
SPGoding 发表于 2019-6-22 22:42
在服务器上,把头颅丢出去,/data get 看看它的 NBT 是不是有时候由于玄学原因变了…我怀疑是由于服务器的 ...

custom是什么?放置变成方块时会储存这个nbt吗?

SPGoding
黑灬小白 发表于 2019-6-30 19:57
custom是什么?放置变成方块时会储存这个nbt吗?

是随便定义的标签,不会保留

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