MineCrocodile
如题,开启掉落保护后,附魔有消失诅咒的物品在玩家死亡时并不会消失,如何让他们消失?

2770279243
你可以用命令方块始终活动循环用/execute命令来/kill掉带消失祖咒的NBT标签的所有掉落物

龙域RPG
死亡掉落已经很残忍了!还加个消失诅咒是不是太那啥了!还有就是消失诅咒有了玩家还会给装备上消失诅咒么?

MineCrocodile
自己研究明白了,楼上说的应该不行

建立一个死亡计数分数版
scoreboard objectives add death deathCount
直接探测死亡玩家并清除背包内带有消失诅咒的物品
execute as @a[scores={death=1..}] run clear @s gold_ingot{Enchantments:[{id:vanishing_curse}]}
记得重置记分板
execute as @a[scores={death=1..}] run scoreboard players reset @s death

SPGoding
MineCrocodile 发表于 2020-1-20 17:52
自己研究明白了,楼上说的应该不行


建立一个死亡计数分数版

应当使用 "minecraft:vanishing_curse",不带命名空间的字符串与带命名空间的字符串不一致,无法匹配成功。

MineCrocodile
SPGoding 发表于 2020-1-22 09:28
应当使用 "minecraft:vanishing_curse",不带命名空间的字符串与带命名空间的字符串不一致,无法匹配成功 ...

嗯,正解,我漏了

MineCommander
首先我们需要准备一个包含所有原版物品的标签,因为clear的附魔检测只能生效于给定id的物品。假设他就是#minecraft:everything吧;
然后再创建一个计分板,death(deathCount)探测死亡数。清除所有death=1..玩家物品栏里的#minecraft:everything{Enchantments:[{id:"minecraft:vanishing_curse"}]}物品就可以了。别忘了把death复原。
start.mcfunction(初始化)
  1. scoreboard objectives add death deathCount "死亡数"
复制代码

vanishing_curse.mcfunction(包含于tick.json/每gt高频运行)
  1. clear @a[scores={death=1..}] #minecraft:everything{Enchantments:[{id:"minecraft:vanishing_curse"}]}
  2. #清除死亡玩家身上的消失诅咒物品
  3. scoreboard players set @a[scores={death=1..}] death 0
  4. #复位
复制代码