import { world, EquipmentSlot, EntityDamageTypes, EntityInventoryComponent } from "@minecraft/server";

world.afterEvents.entityHitEntity.subscribe((e) => {
    const { hitEntity: target, damagingEntity: source } = e;

    // Verificar si el atacante tiene un "wooden_club" en la mano principal
    const inventory = source.getComponent(EntityInventoryComponent.componentId);
    const mainhandItem = inventory?.container?.getItem(0); // Slot 0 = Mano principal

    if (mainhandItem?.typeId === 'mc_ark:wooden_club') {
        // Aplicar debilidad (8 segundos = 160 ticks)
        target.addEffect('weakness', 160, { 
            showParticles: true, 
            amplifier: 0 
        });

        // Reproducir sonido de golpe de madera para todos en un radio de 10 bloques
        world.playSound("dig.wood", target.location, { 
            pitch: 0.8, 
            volume: 1.5, 
            target: { selector: "@a[r=10]" } 
        });

        // Aumentar daño en 1 corazón (2 puntos) si el atacante es un jugador
        if (source.typeId === 'minecraft:player') {
            const damageEvent = {
                amount: 2, // +1 corazón de daño
                cause: EntityDamageTypes.entityAttack,
                damagingEntity: source
            };
            target.applyDamage(damageEvent);
        }
    }
});