drop_diamond.mcfunction 1.2 KB

12345678910111213
  1. # 处理钻石总数
  2. execute at @s as @e[type=item,nbt={Item:{id:"minecraft:diamond"}},tag=death_drop,distance=..100] store result score @s temp run data get entity @s Item.Count
  3. execute at @s as @e[type=item,nbt={Item:{id:"minecraft:diamond"}},tag=death_drop,distance=..100] run scoreboard players operation #diamond_count temp += @s temp
  4. # 相应减少掉落总数(单独处理了钻石)
  5. execute at @s as @e[type=item,nbt={Item:{id:"minecraft:diamond"}},tag=death_drop,distance=..100] run scoreboard players remove #total_drop temp 1
  6. # 处理掉落物数量(除以2/向上取整)
  7. execute at @s as @e[type=item,nbt={Item:{id:"minecraft:diamond"}},tag=death_drop,distance=..100] run scoreboard players add @s temp 1
  8. execute at @s as @e[type=item,nbt={Item:{id:"minecraft:diamond"}},tag=death_drop,distance=..100] store result entity @s Item.Count byte 0.5 run scoreboard players get @s temp
  9. # 处理钻石标签
  10. execute at @s as @e[type=item,nbt={Item:{id:"minecraft:diamond"}},tag=death_drop,distance=..100] run tag @s remove death_drop
  11. # 给予玩家钻石(除以2/向下取整)
  12. scoreboard players operation #diamond_count temp /= #const_2 mem
  13. execute if score #diamond_count temp matches 1.. run function mini:diamond/game/give_diamond