本帖最后由 iMoonDay 于 2020-7-31 22:35 编辑
标题的问题我自行解决了,我想换个问题:如何将两个不同实体但类型相同的nbt进行配对,进而执行另外一个指令.比如某个玩家丢了个东西,这个掉落物的Thrower和玩家的UUID一样,但如何检测他们是否一样并执行指令?
标题的问题我自行解决了,我想换个问题:如何将两个不同实体但类型相同的nbt进行配对,进而执行另外一个指令.比如某个玩家丢了个东西,这个掉落物的Thrower和玩家的UUID一样,但如何检测他们是否一样并执行指令?
你看看其他指令能执行是不是其他的指令没有调用这个断言,因为有时候断言会莫名其妙不工作
解决方法execute if predicate 断言 就行
解决方法execute if predicate 断言 就行
renyunzhong 发表于 2020-7-31 22:11
你看看其他指令能执行是不是其他的指令没有调用这个断言,因为有时候断言会莫名其妙不工作
解决方法execut ...
我另外新建了一个函数把指令单独放进去又能用了...
iMoonDay 发表于 2020-7-31 22:13
我另外新建了一个函数把指令单独放进去又能用了...
你看看会不会出现有时候能用,有时候用不了的情况,如果是就是断言的bug
renyunzhong 发表于 2020-7-31 22:14
你看看会不会出现有时候能用,有时候用不了的情况,如果是就是断言的bug ...
试了几次目前还没出现失灵情况
= =自行解决请申请退回赏金,一个帖子循环利用可还行。
利用data命令执行失败时返回值为0的特性
可以先将需要比对的其中一个nbt转移到storage或其他安全的地方,然后execute store result run data modify进行覆盖。
若两个nbt完全一致,则覆盖会失败,返回值为0
于是可以得出两nbt相同/不同。
另外这个方法我印象中是ph想到的。
利用data命令执行失败时返回值为0的特性
可以先将需要比对的其中一个nbt转移到storage或其他安全的地方,然后execute store result run data modify进行覆盖。
若两个nbt完全一致,则覆盖会失败,返回值为0
于是可以得出两nbt相同/不同。
另外这个方法我印象中是ph想到的。
VCS-Official 发表于 2020-7-31 23:58
= =自行解决请申请退回赏金,一个帖子循环利用可还行。
利用data命令执行失败时返回值为0的特性
我自己当时是直接一个覆盖另外一个,虽然成功了但是nbt被改了就放弃了
iMoonDay 发表于 2020-8-1 01:28
我自己当时是直接一个覆盖另外一个,虽然成功了但是nbt被改了就放弃了
先把要覆盖的NBT复制一份到临时的存储位置中,然后再覆盖就不影响原标签了。
所以最佳呢?
