BlockEvents.rightClicked(
    [
        'mysticalagriculture:machine_frame'
    ],
    event => {
        const { block, player } = event

        if (!player.isCrouching()) return
        if (player.offHandItem.id !== 'kubejs:copper_ore_hammer') return

        // Prevent activation if ANY cooldown is active
        if (player.cooldowns.isOnCooldown('kubejs:earth_essence')) return
        if (player.cooldowns.isOnCooldown('oritech:small_copper_clump')) return
        if (player.cooldowns.isOnCooldown('oritech:small_iron_clump')) return
        if (player.cooldowns.isOnCooldown('oritech:small_gold_clump')) return

        // One roll for the entire pool
        const roll = Math.floor(Math.random() * 100) + 1

        if (roll <= 80) {
            block.popItem(Item.of('kubejs:earth_essence', 1))
            player.cooldowns.addCooldown('kubejs:earth_essence', 5)
        } else if (roll <= 90) {
            block.popItem(Item.of('oritech:small_copper_clump', 1))
            player.cooldowns.addCooldown('oritech:small_copper_clump', 5)
        } else if (roll <= 97) {
            block.popItem(Item.of('oritech:small_iron_clump', 1))
            player.cooldowns.addCooldown('oritech:small_iron_clump', 5)
        } else {
            block.popItem(Item.of('oritech:small_gold_clump', 1))
            player.cooldowns.addCooldown('oritech:small_gold_clump', 5)
        }
    }
)
