// 请将此文件放置在：kubejs/server_scripts/weapons_abilities.js

/**
 * 监听实体受伤事件 (LivingEntityHurtEvent)
 * 这是为自定义武器添加特效的标准且可靠的方法
 */
EntityEvents.hurt(event => {
    // 1. 解构出事件中所有会用到的对象
    const { entity, source, damage } = event;
    // entity: 受伤的目标实体
    // source: 伤害来源对象，包含了攻击者信息
    // damage: 原始伤害数值

    // 2. 获取攻击者玩家
    const attacker = source.player;
    // 如果不是玩家造成的伤害，则直接忽略后续所有逻辑
    if (!attacker) return;

    // 3. 获取攻击者主手的武器
    const weapon = attacker.getMainHandItem();
    if (!weapon) return;

    // ----------------------------------------------------------
    // 魔王护 特效
    // ----------------------------------------------------------
    if (weapon.id === 'kubejs:mo_wang_hu') {
        // 确保目标是一个活着的生物（通常都是）
        if (entity.isLiving()) {
            // 添加凋零效果：时长200 ticks (10秒), 等级5
            entity.addEffect('minecraft:wither', 200, 5);
            // 注意：小心不要直接叠加瞬间伤害，可能会产生一些奇怪的冲突。
            // 这里可以替换为其他效果，例如：瞬间伤害（将造成6点魔法伤害）
            // entity.addEffect('minecraft:instant_damage', 1, 2);
        }
    }

    // ----------------------------------------------------------
    // 魔丸护 特效 (垃圾效果)
    // ----------------------------------------------------------
    if (weapon.id === 'kubejs:mo_wan_hu') {
        // 1. 对使用者自身造成重创
        // 造成20点伤害，这通常能秒杀未穿护甲的玩家
        attacker.hurt(20);
        // 给攻击者自己加上负面效果
        attacker.addEffect('minecraft:poison', 100, 2);      // 剧毒
        attacker.addEffect('minecraft:weakness', 200, 2);    // 虚弱

        // 2. 强化被打中的敌人
        // 为敌人加上生命恢复和力量效果，让它变得更强
        if (entity.isLiving()) {
            entity.addEffect('minecraft:regeneration', 100, 3);
            entity.addEffect('minecraft:strength', 100, 2);
        }
        
        // 向攻击者发送一条“贴心”的提示消息
        attacker.sendMessage('§c§l魔丸之力反噬！你重创了自己，并强化了你的敌人！');
    }
});