import { world, system } from "@minecraft/server";

const temposRecarga = new Map();

world.afterEvents.itemUse.subscribe((evento) => {
    const player = evento.source;
    const item = evento.itemStack;

    if (!item) return;

    if (item.typeId === "nz:shinra_tensei") {
        const agora = Date.now();
        const ultimoUso = temposRecarga.get(player.id) || 0;
        const tempoEspera = 1000; // 1 segundo, igual ao atraso do disparo

        if (agora - ultimoUso < tempoEspera) {
            player.sendMessage("§cAguarde para usar novamente.");
            return;
        }

        temposRecarga.set(player.id, agora);

        // Animação
        player.runCommandAsync(`playanimation @s animation.shinra`);

        // Sons sequenciais
        const sons = ["seal_a"];
        sons.forEach((som, i) => {
            system.runTimeout(() => {
                player.runCommandAsync(`playsound ${som} @s ~ ~ ~ 1 1`);
            }, i * 4); // 0.2s cada
        });

        // Após 1 segundo → som final (sem projétil aqui)
        system.runTimeout(() => {
            player.runCommandAsync(`playsound seal_d @s ~ ~ ~ 1 1`);
        }, 40); // 20 ticks = 1s
    }
});