
弗莱图克斯的技能引擎
制作技能树的框架
查看大图技能引擎 —— 用于 Forge 模组的模块化技能树框架
技能引擎 并非一个独立的进度模组。
它本身不会添加任何游戏玩法、属性或能力。
相反,技能引擎是一个框架,旨在让其他模组创建自己的高度可定制的技能树,并配备:
- 节点解锁
- 属性需求
- 自定义图标
- 技能点管理
- 服务器同步
- 需求与提示文本
- 与其他进度系统的交互(如 Ascend)
如果你在寻找一个添加技能的模组,这不是你要找的。
如果你是一名开发者,想要在不重新发明轮子的情况下为你的模组添加技能树,技能引擎正是你所需要的。
功能特性
JSON 驱动的技能树系统
模组只需在以下路径下添加 JSON 文件,即可注册自己的技能节点:
data/<你的模组ID>/skillnodes/*.json
自动节点渲染
节点在技能树 GUI 中会自动完成定位、显示、缩放、平移和绘制。
图标支持
可使用你自己的纹理或原版物品纹理作为节点图标。
需求系统
节点可以指定:
- 关联节点
- 前置属性
- 技能消耗
- 自定义标签
界面会自动在提示文本和覆盖层中显示需求信息。
解锁逻辑与同步
解锁操作完全在服务器端处理,并同步至客户端。
完整 API 支持
技能引擎包含一个公共 API 类,允许其他模组:
- 发放技能点
- 解锁技能节点
- 查询解锁状态
- 访问玩家技能数据
- 注册或引用节点
如何在你的模组中使用技能引擎
技能引擎的设计目标就是极其易于集成。
1. 将技能引擎添加为依赖
在你的 mods.toml 中:
[[dependencies.yourmodid]]
modId="skillengine"
type="required"
versionRange="[1.0.0,)"
在你的 Gradle 构建文件中:
implementation fg.deobf("net.fretux.skillengine:SkillEngine:<版本号>")
2. 创建你的技能节点(JSON)
示例:
{
"title": "基础力量",
"description": "你感到肌肉紧绷起来。",
"cost": 1,
"position": { "x": -150.0, "y": -50.0 },
"links": ["skillengine:welcome"],
"tags": ["yourmodid:strength_1"],
"icons": "minecraft:textures/item/iron_sword.png",
"prerequisites": {
"strength": 10,
"agility": 5
}
}
将此文件放置在:
data/yourmodid/skillnodes/basic_strength.json
技能引擎会自动检测到它并将其添加到技能树中。
3. 在你的代码中使用 API
技能引擎提供了一个简洁的 API:
SkillEngineAPI.unlockNode(player, SkillEngineAPI.rl("yourmodid", "basic_strength"));
SkillEngineAPI.addSkillPoints(player, 3);
boolean unlocked = SkillEngineAPI.isUnlocked(player, SkillEngineAPI.id("welcome"));
你无需接触内部类即可与系统交互。
玩家:这个模组对我有什么作用?
技能引擎本身不做任何事情。
它不会自行添加技能树或能力。
你仅在以下情况下需要此模组:
- 你游玩的某个模组依赖于技能引擎
- 你想要安装能创建技能树的附加模组
正在加载版本记录…

正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。