跳到正文

SLM: Epic Fight

作者:Sleys

为 Epic Fight 的技能系统添加实用工具,用于创建被动技能、先天技能并实现事件;以及模型、注册与同步工具。

收藏

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

⚔️ SLM: Epic Fight 

SLM Epic Fight 是“SLM: Combat”的一个变体,它能实现相同的功能(并提供更多功能),但重点放在技能而非物品上。

它新增了:

  • ⚔️ 事件驱动的战斗技能
  • 🎬 动画阶段控制(预备、攻击、恢复、挂机)
  • 🧠 玩家状态处理
  • ✨ 基于武器的粒子形状与视觉效果
  • 🧩 自定义钩子与修改器(1.21.1)

🔹 核心功能

  • Epic Fight 技能系统扩展
    通过 Epic Fight 专属事件,为武器和实体附加模块化技能。
  • 动画阶段钩子
    控制以下阶段中的行为:
    • 预备
    • 攻击
    • 恢复
    • 挂机状态
  • 武器形状系统
    为武器定义自定义几何形状,以便:
    • 生成粒子
    • 可视化攻击范围
    • 创建风格化特效
  • Mixins 与钩子(仅限 1.21.1)
    修改:
    • 武器类型
    • 技能构建器
    • UI 元素
    • 动画行为
  • 客户端与服务器系统
    包含界面覆盖层、耐力 UI 钩子、输入处理和动画渲染。

🔽 更多详情(进阶)

🧠 Epic Fight 集成

它新增了一套并行系统,通过事件之间的契约为技能添加功能。

它不会替换原有机制,而是通过以下方式注入新能力:

  • 自定义事件分发器(EFSkillEventDispatcher)
  • 能力扩展
  • Mixins 与钩子
  • 状态驱动逻辑系统

⚙️ 技能事件系统(EF)

与基础版 SLM Combat 系统一样,但针对 Epic Fight 进行了适配:

⚔️ 战斗事件

  • OnAttackEntity
  • OnAttackSpeed
  • OnLivingDamage
  • OnIncomingDamage
  • OnKnockBack
  • OnShieldBlock
  • OnUseTotem
  • OnAnimationPhase (Epic Fight 专属)

🎬 动画阶段系统

这是核心功能之一:

  • IAnticipationState
  • IAttackState
  • IRecoveryState
  • IAfkEpicFightState

借助此系统,可以实现以下逻辑:

  • 在攻击命中前触发效果
  • 在动画执行过程中修改行为
  • 在攻击后施加惩罚或增益效果

🧍 移动与输入

  • OnMovementInput
  • OnPlayerUseInput
  • OnFall
  • OnBreath

❤️ 状态与效果

  • OnHeal
  • OnMobEffect

🎯 目标选择与 AI

  • OnTargetEntity

💰 战利品与进度

  • OnDrops
  • OnExperienceDrop

✨ 武器形状系统

所在位置:

该系统支持通过以下方式为武器定义自定义形状:

  • 基于 JSON 的形状定义
  • 数学修饰器
  • 运行时计算

用途:

  • 沿武器挥动轨迹生成粒子
  • 可视化攻击判定箱
  • 风格化战斗特效

核心组件:

  • ShapeComputingSystem
  • ShapeEngineFactory
  • ShapeJsonReaderSystem
  • ShapeParticleEngine

🔄 修改器与钩子(1.21.1)

mutator 系统支持替代性的注册与修改流程:

  • SkillBuilderHook
  • WeaponTypeHook
  • WeaponCategoryIconHook
  • SkillDropEntityHook

🧩 玩家状态与逻辑系统

自定义逻辑层:

  • PatchPlayerStatement
  • ClientPatchPlayerStatement

重要!

 

契约系统与事件系统协同工作。该系统基于 SL Library 的“条件执行”构建,本质上意味着它具有内部错误处理机制。这可以阻止错误继续传播,从而避免崩溃并提升稳定性;也可以允许错误继续传播,导致崩溃。这取决于用户的配置,通常设置为“Resist”。

请牢记这一点!

常见问题

SLM: Epic Fight 支持哪些 Minecraft 版本?

SLM: Epic Fight 支持 Minecraft Java 版 1.20.1–1.21.1,共 2 个版本,可用的加载器:Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。

SLM: Epic Fight 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

Sleys 的其他作品

查看全部 →