// kubejs/server_scripts/dragon_milk.js
ItemEvents.entityInteracted(event => {
    const { player, target, item, hand, level } = event

    // 1. 校验目标是否为末影龙
    if (target.getType() !== 'minecraft:ender_dragon') return

    // 2. 校验手持物品是否为奶桶
    if (item.getId() !== 'minecraft:milk_bucket') return

    // 3. 取消原版交互行为，防止触发默认效果（如喝牛奶）
    event.cancel()

    // 4. 播放自定义声音（以末影龙为中心）
    level.playSound(
        null,                      // 播放给所有玩家
        target.getX(), target.getY(), target.getZ(),
        'kubejs:nailong',          // 自定义声音 ID
        'master',                  // 音源分类
        1.0,                       // 音量
        1.0                        // 音调
    )

    // 5. 消耗奶桶并返还空桶
    const count = item.getCount()
    if (count === 1) {
        // 只有一个时，清空该手槽位
        player.setItemInHand(hand, Item.AIR)
    } else {
        // 有多个时，数量减 1
        player.setItemInHand(hand, item.withCount(count - 1))
    }

    // 将空桶加入玩家背包（如果背包满了，会自动掉落在地上）
    player.give('minecraft:bucket')

    // 6. 添加物品冷却（1秒），防止刷桶
    player.addItemCooldown(item.getId(), 20)
})