Sueta

del

1.2.0.1

del

·Plugin

FateServant - 英灵系统

Fate Servant System Plugin - 英灵系统插件

Dependencies | 依赖
• MythicMobs-4.11.0 - For skill effects | 技能效果
• LibsDisguises-10.0.44 - For servant skins | 英灵外观
• Spigotmc-1.12.2 or Paper-1.12.2

Description | 描述
一个基于 Fate 系列的英灵系统插件,让玩家可以召唤和控制自己的英灵。
A Fate series-inspired servant system plugin that allows players to summon and control their own servants.

Core Features | 核心功能

1. Servant Classes | 英灵职阶
• SABER(剑士)- 强大的近战能力
• ARCHER(弓兵)- 精通远程攻击
• LANCER(枪兵)- 高机动性和穿刺伤害
• RIDER(骑兵)- 优秀的移动能力
• CASTER(魔术师)- 强大的魔法技能
• ASSASSIN(刺客)- 隐匿和突袭能力
• BERSERKER(狂战士)- 极高的攻击力

2. Skill System | 技能系统
• Active Skills(主动技能)
• Passive Skills(被动技能)
• Mana System(魔力系统)
• Cooldown System(冷却系统)

3. AI System | AI系统
• Target Selection(目标选择)
• Combat Behavior(战斗行为)
• Following System(跟随系统)
• Protection System(保护系统)

4. Level System | 等级系统
• Experience Gain(经验获取)
• Attribute Growth(属性成长)
• Level-up Rewards(升级奖励)

MythicMobs-Skills Example

dir=plugins\MythicMobs\Skills\FateSkills.yml

# SABER技能


SaberStrike:
  Skills:
  - damage{amount=8} @target
  - effect:particles{particle=SWEEP_ATTACK;amount=5} @target
  - sound{sound=ENTITY_PLAYER_ATTACK_SWEEP} @target
  - push{velocity=0.5} @target

SaberGuard:
  Skills:
  - effect:particles{particle=BARRIER;amount=15;radius=1} @self
  - potion{type=DAMAGE_RESISTANCE;duration=60;level=1} @self
  - sound{sound=BLOCK_ANVIL_LAND} @self
  - heal{amount=4} @self


Excalibur:
  Skills:
  - damage{amount=12} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - effect:particles{particle=CRIT;amount=10} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - potion{type=BLINDNESS;duration=60;level=1} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}

SaberAirSlash:
  Skills:
  - effect:particles{particle=SWEEP_ATTACK;amount=15} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - damage{amount=8} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - sound{sound=ENTITY_PLAYER_ATTACK_SWEEP} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}

SaberHeal:
  Skills:
  - heal{amount=10} @self
  - effect:particles{particle=HEART;amount=10} @self
  - sound{sound=ENTITY_PLAYER_LEVELUP} @self

# ARCHER技能
UBW:
  Skills:
  - effect:particles{particle=PORTAL;amount=50;radius=8} @origin
  - projectile{onTick=UBWTick;onHit=UBWHit;interval=1;velocity=1;heightOffset=1;startYOffset=1} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
 
UBWTick:
  Skills:
  - effect:particles{particle=CRIT;amount=1} @origin

UBWHit:
  Skills:
  - damage{amount=15} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - effect:particles{particle=EXPLOSION_NORMAL} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}

ArcherBarrage:
  Skills:
  - projectile{type=ARROW;velocity=2;spread=0.2;amount=5} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - sound{sound=ENTITY_ARROW_SHOOT} @self

ArcherShield:
  Skills:
  - effect:particles{particle=BARRIER;amount=20;radius=1} @self
  - damage{amount=0;preventknockback=true} @trigger
  - sound{sound=BLOCK_ANVIL_LAND} @self

# LANCER技能
GaeBolg:
  Skills:
  - effect:particles{particle=DRIP_LAVA;amount=20} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - damage{amount=25;ignorearmor=true} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - sound{sound=ENTITY_PLAYER_ATTACK_KNOCKBACK} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}

LancerThrust:
  Skills:
  - damage{amount=10} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - push{velocity=1} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - effect:particles{particle=CRIT;amount=10} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}

LancerRevive:
  Skills:
  - heal{amount=20} @self
  - effect:particles{particle=SPELL_MOB;amount=20} @self
  - potion{type=REGENERATION;duration=100;level=2} @self

# RIDER技能
RiderCharge:
  Skills:
  - effect:particles{particle=CLOUD;amount=20} @self
  - dash{velocity=2} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - damage{amount=15} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - sound{sound=ENTITY_HORSE_GALLOP} @self

RiderChain:
  Skills:
  - pull{velocity=1.5} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - damage{amount=8} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - effect:particles{particle=CRIT_MAGIC} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}

RiderDrain:
  Skills:
  - damage{amount=5} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - heal{amount=5} @self
  - effect:particles{particle=DAMAGE_INDICATOR} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}

# CASTER技能
CasterBreak:
  Skills:
  - effect:particles{particle=SPELL_WITCH;amount=30} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - removebuff{type=ALL} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - damage{amount=10} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - sound{sound=ENTITY_WITCH_AMBIENT} @self

CasterBeam:
  Skills:
  - projectile{type=SMALL_FIREBALL;velocity=2;interval=1} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - damage{amount=12} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - effect:particles{particle=EXPLOSION_NORMAL} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}

CasterHeal:
  Skills:
  - heal{amount=15} @self
  - potion{type=ABSORPTION;duration=200;level=1} @self
  - effect:particles{particle=SPELL;amount=20} @self

# ASSASSIN技能
AssassinInstant:
  Skills:
  - effect:particles{particle=SMOKE_NORMAL;amount=20} @self
  - teleport{spread=0} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - damage{amount=20} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - sound{sound=ENTITY_ENDERMEN_TELEPORT} @self

AssassinStrike:
  Skills:
  - damage{amount=12} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - effect:particles{particle=CRIT;amount=10} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - potion{type=BLINDNESS;duration=60;level=1} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}

AssassinVanish:
  Skills:
  - potion{type=INVISIBILITY;duration=100;level=1} @self
  - effect:particles{particle=SMOKE_NORMAL;amount=20} @self
  - heal{amount=5} @self

# BERSERKER技能
BerserkerGodHand:
  Skills:
  - effect:particles{particle=EXPLOSION_HUGE;amount=1} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - damage{amount=30;ignorearmor=true} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - push{velocity=3} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - sound{sound=ENTITY_GENERIC_EXPLODE} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}

BerserkerSlash:
  Skills:
  - damage{amount=15} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - effect:particles{particle=SWEEP_ATTACK} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}
  - sound{sound=ENTITY_PLAYER_ATTACK_STRONG} @EIC{a=120;r=4;rot=0;ignore=animals,armorstand}

BerserkerRage:
  Skills:
  - potion{type=INCREASE_DAMAGE;duration=100;level=2} @self
  - potion{type=DAMAGE_RESISTANCE;duration=100;level=1} @self
  - effect:particles{particle=VILLAGER_ANGRY;amount=20} @self

Configuration | 配置文件

servant:
  # 职阶基础属性配置
  class:
    SABER:
      health: 25.0        # 基础生命值
      damage: 8.0         # 基础攻击力
      speed: 0.35         # 基础移动速度
      combat_speed: 0.4   # 战斗时的移动速度
      follow_speed: 0.3   # 跟随主人时的移动速度
      color: "§b"         # 名字显示颜色(天蓝色)
      skin:
        name: "SenjiMuramasa"   # 皮肤名称
        signature: ""      # 皮肤签名(留空使用默认)
        texture: ""       # 皮肤材质(留空使用默认)
      equipment:          # 装备设置
        main_hand: "DIAMOND_SWORD"  # 主手武器
        off_hand: "AIR"            # 副手物品
      regen: 1.0         # 每5秒恢复的生命值
      skills:            # 技能系统
        mana:            # 魔法值设置
          max: 100.0     # 最大魔法值
          regen: 5.0     # 每5秒恢复魔法值
        passive:         # 被动技能触发几率
          attack_chance: 0.2  # 攻击时触发几率(20%)
          hurt_chance: 0.3    # 受伤时触发几率(30%)
        list:            # 技能列表
          excalibur:
            name: "Excalibur"
            mythic_skill: "Excalibur"
            mana_cost: 1.0
            cooldown: 1.0
            trigger_types: [ACTIVE]
            trigger_chance: 1.0
          strike:
            name: "Strike"
            mythic_skill: "SaberStrike"
            mana_cost: 20.0
            cooldown: 5.0
            trigger_types: [ATTACK]
            trigger_chance: 0.3
          guard:
            name: "Guard"
            mythic_skill: "SaberGuard"
            mana_cost: 30.0
            cooldown: 8.0
            trigger_types: [HURT]
            trigger_chance: 0.4
    ARCHER:
      health: 20.0
      damage: 6.0
      speed: 0.3
      combat_speed: 0.35
      follow_speed: 0.28
      color: "§a"
      skin:
        name: "Emiya"
        signature: ""
        texture: ""
      equipment:
        main_hand: "BOW"
        off_hand: "AIR"
      regen: 0.8
      skills:
        mana:
          max: 80.0
          regen: 4.0
        passive:
          attack_chance: 0.25
          hurt_chance: 0.2
        list:
          - name: "UnlimitedBladeWorks"
            mythic_skill: "UBW"
            mana_cost: 80.0
            cooldown: 60.0
            trigger_types: [ACTIVE]
          - name: "ProjectileBarrage"
            mythic_skill: "ArcherBarrage"
            cooldown: 20.0
            trigger_types: [ATTACK]
            trigger_chance: 0.35
          - name: "RhoAias"
            mythic_skill: "ArcherShield"
            cooldown: 30.0
            trigger_types: [HURT]
            trigger_chance: 0.3
    LANCER:
      health: 22.0
      damage: 7.0
      speed: 0.4
      combat_speed: 0.45
      follow_speed: 0.35
      color: "§9"
      skin:
        name: "CuChulainn"
        signature: ""
        texture: ""
      equipment:
        main_hand: "STICK"  # 作为长枪的替代
        off_hand: "AIR"
      regen: 1.2
      skills:
        mana:
          max: 70.0
          regen: 3.5
        passive:
          attack_chance: 0.3
          hurt_chance: 0.2
        list:
          - name: "GaeBolg"
            mythic_skill: "GaeBolg"
            mana_cost: 60.0
            cooldown: 45.0
            trigger_types: [ACTIVE]
          - name: "SpearThrust"
            mythic_skill: "LancerThrust"
            cooldown: 10.0
            trigger_types: [ATTACK]
            trigger_chance: 0.4
          - name: "BattleContinuation"
            mythic_skill: "LancerRevive"
            cooldown: 180.0
            trigger_types: [HURT]
            trigger_chance: 0.15
    RIDER:
      health: 20.0
      damage: 6.0
      speed: 0.45
      combat_speed: 0.5
      follow_speed: 0.4
      color: "§5"
      skin:
        name: "Medusa"
        signature: ""
        texture: ""
      equipment:
        main_hand: "IRON_SWORD"
        off_hand: "AIR"
      regen: 1.0
      skills:
        mana:
          max: 75.0
          regen: 4.0
        passive:
          attack_chance: 0.25
          hurt_chance: 0.25
        list:
          - name: "Bellerophon"
            mythic_skill: "RiderCharge"
            mana_cost: 70.0
            cooldown: 40.0
            trigger_types: [ACTIVE]
          - name: "ChainStrike"
            mythic_skill: "RiderChain"
            cooldown: 15.0
            trigger_types: [ATTACK]
            trigger_chance: 0.3
          - name: "BloodFort"
            mythic_skill: "RiderDrain"
            cooldown: 25.0
            trigger_types: [HURT]
            trigger_chance: 0.25
    CASTER:
      health: 18.0
      damage: 5.0
      speed: 0.25
      combat_speed: 0.3
      follow_speed: 0.25
      color: "§d"
      skin:
        name: "Medea"
        signature: ""
        texture: ""
      equipment:
        main_hand: "BLAZE_ROD"  # 作为法杖的替代
        off_hand: "AIR"
      regen: 1.5
      skills:
        mana:
          max: 120.0
          regen: 6.0
        passive:
          attack_chance: 0.35
          hurt_chance: 0.2
        list:
          - name: "RuleBreaker"
            mythic_skill: "CasterBreak"
            mana_cost: 40.0
            cooldown: 25.0
            trigger_types: [ACTIVE]
          - name: "RainOfLight"
            mythic_skill: "CasterBeam"
            cooldown: 15.0
            trigger_types: [ATTACK]
            trigger_chance: 0.4
          - name: "HighSpeedDivineWords"
            mythic_skill: "CasterHeal"
            cooldown: 20.0
            trigger_types: [HURT]
            trigger_chance: 0.3
    ASSASSIN:
      health: 18.0
      damage: 9.0
      speed: 0.4
      combat_speed: 0.5
      follow_speed: 0.35
      color: "§8"
      skin:
        name: "Hassan"
        signature: ""
        texture: ""
      equipment:
        main_hand: "IRON_SWORD"
        off_hand: "AIR"
      regen: 0.8
      skills:
        mana:
          max: 60.0
          regen: 3.0
        passive:
          attack_chance: 0.4
          hurt_chance: 0.3
        list:
          - name: "ZabaniyaDelusionalHeartbeat"
            mythic_skill: "AssassinInstant"
            mana_cost: 50.0
            cooldown: 35.0
            trigger_types: [ACTIVE]
          - name: "DirectionlessStrike"
            mythic_skill: "AssassinStrike"
            cooldown: 8.0
            trigger_types: [ATTACK]
            trigger_chance: 0.45
          - name: "PresenceConcealment"
            mythic_skill: "AssassinVanish"
            cooldown: 20.0
            trigger_types: [HURT]
            trigger_chance: 0.35
    BERSERKER:
      health: 30.0
      damage: 12.0
      speed: 0.3
      combat_speed: 0.4
      follow_speed: 0.25
      color: "§c"
      skin:
        name: "Heracles"
        signature: ""
        texture: ""
      equipment:
        main_hand: "DIAMOND_AXE"
        off_hand: "AIR"
      regen: 2.0
      skills:
        mana:
          max: 50.0
          regen: 2.5
        passive:
          attack_chance: 0.3
          hurt_chance: 0.4
        list:
          - name: "GodHand"
            mythic_skill: "BerserkerGodHand"
            mana_cost: 100.0
            cooldown: 60.0
            trigger_types: [ACTIVE]
          - name: "NineLives"
            mythic_skill: "BerserkerSlash"
            cooldown: 25.0
            trigger_types: [ATTACK]
            trigger_chance: 0.25
          - name: "MadEnhancement"
            mythic_skill: "BerserkerRage"
            cooldown: 30.0
            trigger_types: [HURT]
            trigger_chance: 0.4

  # 等级系统配置
  level_up:
    # 每级增加的属性
    health_increase: 2.0    # 每级增加生命值
    damage_increase: 1.0    # 每级增加攻击力
    speed_increase: 0.02    # 每级增加移动速度
 
    # 升级经验配置
    exp:
      monster_kill: 10      # 击杀怪物获得经验
      player_kill: 50       # 击杀玩家获得经验
      base_exp: 100         # 升级所需基础经验(实际经验=等级*基础经验)

  # 跟随设置
  follow:
    distance: 3.0           # 开始跟随的距离
    speed: 0.5             # 跟随速度
    check_interval: 20      # 检查间隔(ticks)

  # 显示设置
  display:
    # 可用变量: %class%(职阶), %level%(等级), %owner%(主人), %health%(当前血量), %maxhealth%(最大血量)
    name_format: "%class% §f[Lv.%level%] §7%owner%'s Servant §c(%health%/%maxhealth%)"
    health_format: "%.1f"   # 血量显示格式(保留一位小数)

  # 移动速度设置
  movement:
    default_speed: 0.3      # 默认移动速度
    combat_multiplier: 1.2  # 战斗时速度倍率
    follow:
      min_distance: 3.0     # 开始跟随的最小距离
      max_distance: 15.0    # 最大跟随距离
      speed: 0.5           # 跟随速度
      check_interval: 20    # 检查间隔(ticks)
      teleport_distance: 30.0  # 传送到主人身边的距离阈值

  # 恢复设置
  regeneration:
    interval: 100          # 恢复间隔(ticks), 100 = 5秒
    default: 1.0           # 默认每次恢复量

  # 调试设置
  debug:
    enabled: false           # 默认关闭调试模式
    console:
      skill_trigger: true   # 显示技能触发相关信息
      skill_cooldown: true  # 显示技能冷却相关信息
      skill_mana: true      # 显示魔力消耗相关信息
      target_selection: true # 显示目标选择相关信息
      combat_state: true    # 显示战斗状态变化信息
    log_level: INFO         # 日志级别(INFO/DEBUG/WARNING/ERROR)

  # 消息提示设置
  messages:
    skill:
      # 技能触发提示信息 (可用变量: %servant%, %skill%, %target%)
      trigger: "§a你的英灵 %servant% §a使用了技能 §6%skill%"
      trigger_with_target: "§a你的英灵 %servant% §a对 §e%target% §a使用了技能 §6%skill%"
    death:
      # 英灵死亡提示信息 (可用变量: %servant%, %killer%)
      normal: "§c你的英灵 %servant% §c阵亡了"
      by_entity: "§c你的英灵 %servant% §c被 §4%killer% §c击败了"

Commands | 命令系统
• /fate help - Show help message | 显示帮助信息
• /fate summon <class> - Summon a servant | 召唤英灵
• /fate reload - Reload configuration | 重载配置
• /fate list - List all servants | 列出所有英灵

Permissions | 权限系统
• fateservant.summon - Allow summoning servants | 允许召唤英灵
• fateservant.admin - Admin commands access | 管理员命令权限
• fateservant.debug - Debug commands access | 调试命令权限

Features Details | 功能细节

Similar projects

Plugin →