法术引擎

法术引擎

🪄 数据驱动的魔法库


模组加载器 Discord

SpellEngine 是一个库模组(也称 API),让开发者能够创建魔法咒语,为玩家提供一套完整的施法系统,包括法术书、视觉效果和武器集成。

📦 安装

🎁 强烈建议通过 CurseForge 应用 进行安装,以自动解决所有必需的模组依赖。

必要依赖

在 Fabric 上还需安装:

在 NeoForge 上还需安装:

⭐️ 使用 Spell Engine 制作的内容

弓箭手 圣骑士 巫师 盗贼 珠宝 遗物 军械库 盔甲库 技能树

🤝 由合作伙伴制作

无政府状态 雇佣兵与工匠 誓约圣骑士 弓箭手扩展(更多RPG职业) 狂战士(更多RPG职业) 元素巫师(更多RPG职业) 气功大师(更多RPG职业) 猎魔人(更多RPG职业) 死亡骑士

📦 内置内容

🗡️ 武器技能 🪓

武器技能

探索多种近战攻击技能,每种技能专为特定武器类型设计,具有独特功能:

  • 详细的碰撞检测
  • 动量和滑动
  • 精美的动画

RPG系列内容模组默认分配这些技能。

根据物品ID或物品标签,自动分配给第三方和原版武器。(配置文件:config/spell_engine/weapon_fallback.json)

🪄️ API 特性

数据驱动的 API

  • 🗡️ 法术可以分配给任何武器(数据驱动,自动兼容武器)
  • 🔮 法术基于 Spell Power 实体属性造成伤害
  • ✍️ 法术以 JSON 格式定义,支持热重载和网络同步
  • 📦 法术容器系统,支持代理模式、装备槽和动态法术解析
  • 🔄 所有法术属性的通用模式匹配,支持标签、正则表达式和精确匹配
  • 🛠️ 为模组开发者提供基于 SpellBuilder 和 SpellGenerator 的程序化法术生成
  • ⚙️ 法术拥有一套全面的机制行为:
    • 法术类型:主动(施放)、被动(触发)、修饰剂(修改法术)
    • 施法模式:瞬间、蓄力、引导,具有可配置的急速效果
    • 触发系统:14+ 种触发类型(近战、箭矢、法术、伤害、闪避、翻滚等),支持条件逻辑
    • 目标选择:瞄准、光束、区域、施法者、无、从触发中获取 - 带上限、条件和基于生命值的限制
    • 投射方式:直接、弹射物、陨石、云朵、射箭、储存效果、自定义 - 支持延迟和多放置
    • 弹射物特性:追踪、弹跳、反弹、穿透、连锁反应、散射、自定义碰撞箱
    • 命中动作:伤害、治疗、状态效果、火焰、传送、生成、冷却、仇恨、自定义
    • 条件逻辑:目标修饰器、命中过滤器、基于概率的执行、实体类型条件
    • 消耗系统:耐力、物品/符文、冷却、耐久度、消耗状态效果,支持批量处理
    • 装备套装:套装奖励提供法术、属性和特殊能力

精美的音频和视觉效果

  • 🔈 高级音效系统:施法开始/循环、释放、命中、飞行音效,带随机化
  • ✨ 复杂的粒子系统,支持形状、跟随实体、缩放和自定义魔法粒子
  • 🎨 用于弹射物、状态效果和法术云的自定义物品/方块模型,支持 BlockBench
  • 🤸 玩家在所有法术阶段的动画,支持俯仰控制和远程武器动画
  • 💡 动态照明集成(LambDynamicLights),用于魔法照明
  • 🌈 可自定义的光束渲染,支持颜色、纹理、宽度和流动效果
  • 📍 范围效果可视化,带地面指示器和范围缩放的粒子

游戏内特性

  • 🔧 法术选择和施放显示在 HUD 上(完全可由玩家配置)
  • 😌 生活品质功能:自动施法释放、客户端预测、智能目标选择
  • ⛓️ 法术绑定台,用于为武器添加法术和创建法术书
  • 📜 法术卷轴系统,支持创造模式物品栏生成和地牢战利品集成
  • 🎒 装备集成:法术书、饰品槽(Trinkets/Accessories)、自动武器检测
  • ⚡ 法术无限附魔,支持可配置的物品标签
  • 🎮 命令:/spell_cooldowns 用于服务器管理和调试
  • 💰 高级战利品系统,使用 spell_bind_randomly 函数动态分配法术

开发者与模组集成

  • 🔌 广泛的模组兼容性:Better Combat、Combat Roll、FTB Teams、Shoulder Surfing 等
  • 📊 全面的事件系统,用于法术施放、治疗和弹射物生命周期
  • 🏗️ 自定义处理器注册,用于投射方式和命中动作
  • 🎯 实体谓词系统,用于复杂的目标条件
  • 🔧 性能优化:批量处理、调度、客户端预测
  • 📝 数据生成框架,用于程序化法术创建和验证
  • 🌐 多平台支持(Fabric & NeoForge),统一 API