call.mcfunction 1.0 KB

1234567891011121314151617181920212223
  1. # 当玩家拾取到奖励物品时触发
  2. # as player
  3. # 将玩家拾取到的原物品替换到原点的唱片机里
  4. data modify block 0 0 0 RecordItem set from entity @s Inventory[{"tag":{"bonus_new":1b}}]
  5. clear @s #item:bonus{"bonus_new":1b}
  6. # 通知玩家物品被拾取
  7. tellraw @a ["",{"text": ">> ","color":"aqua","bold": true},{"selector": "@s","color":"aqua"}," 获得了 ",{"nbt": "RecordItem.tag.item_name","block": "0 0 0","interpret": true}]
  8. function lib:sounds/hit
  9. # 如果有 return 标签则退回物品(最先执行)
  10. execute if data block 0 0 0 RecordItem.tag{"bonus_return":1b} run function item:bonus_item/return_item
  11. # 如果有 add_score 标签则增加积分
  12. execute if data block 0 0 0 RecordItem.tag.bonus_add_score run function item:bonus_item/add_score
  13. # 如果有 give_items 标签则给与物品
  14. execute if data block 0 0 0 RecordItem.tag.bonus_give_items[0] run function item:bonus_item/give_items
  15. # 执行特定函数
  16. tag @s add pickup_player
  17. schedule function item:bonus_item/pickup 1t replace