编年史引擎:RPG框架

编年史引擎:RPG框架

这是一个基于数据包的RPG模组框架,用于开发模组包。它支持任务、对话、NPC绑定、商店、钱包、任务追踪器和地图标记。

Chronicles Engine: RPG 框架

Chronicles Engine: RPG 框架 是一个面向 Minecraft Forge 1.20.1 的数据驱动型 RPG 内容框架。

它专为整合包作者设计,旨在无需将整个任务线硬编码为自定义模组的情况下,创建任务、对话驱动的 NPC、商店、钱包、任务追踪以及团队友好的故事进度。

目标很简单:让创作者能够使用数据文件构建 RPG 风格的进度系统,同时为玩家提供游戏内的任务日志、对话界面、商店界面、钱包支持以及任务追踪 HUD。

主要特性

  • 数据驱动的任务系统
  • 多阶段的主线任务和支线任务
  • 任务目标,包括击杀、收集、提交物品、互动和进度检查
  • 包含 NPC 文本、选项、条件和动作的对话系统
  • 通过 JSON 数据进行 NPC 绑定
  • 村民职业对话绑定
  • 商店和交易系统
  • 钱包和货币系统
  • 任务日志界面
  • 任务追踪 HUD
  • 带有主线任务同步功能的团队系统
  • 用于重玩故事内容的任务重置命令
  • 从配置文件夹加载外部故事包
  • 内置的无代码浏览器编辑器:Chronicle Maker

为什么使用这个模组?

Chronicle Engine 旨在服务于需要灵活 RPG 框架的整合包创作者。

与其每次想要添加新任务、NPC 对话或商店时都编写 Java 代码,不如通过 JSON 文件来定义内容。这使得维护故事内容、更新任务线以及随整合包发布自定义进度变得更加容易。

它特别适用于:

  • RPG 整合包
  • 冒险整合包
  • 故事驱动的生存包
  • 服务器任务线
  • 基于 NPC 的进度系统
  • 自定义商店和货币设置
  • 需要可重复支线内容的整合包

数据驱动的内容

Chronicle Engine 支持内置的数据包风格资源:

data/<命名空间>/chronicle/dialogues/*.json
data/<命名空间>/chronicle/quests/*.json
data/<命名空间>/chronicle/npc/*.json
data/<命名空间>/chronicle/trades/*.json
data/<命名空间>/chronicle/shops/*.json
data/<命名空间>/chronicle/wallet/*.json

它还支持来自 Minecraft 实例配置文件夹的可编辑外部内容:

config/chronicle_engine/chronicle_pack/dialogues/*.json
config/chronicle_engine/chronicle_pack/quests/*.json
config/chronicle_engine/chronicle_pack/npc/*.json
config/chronicle_engine/chronicle_pack/trades/*.json
config/chronicle_engine/chronicle_pack/shops/*.json
config/chronicle_engine/chronicle_pack/wallet/*.json

外部 chronicle_pack 文件在内置资源之后加载,因此它们可以覆盖具有相同 ID 的捆绑内容。

任务系统

任务系统支持具有多个阶段的进度式任务线。

每个任务可以包含:

  • 显示名称和描述
  • 解锁条件
  • 完成奖励
  • 多个阶段
  • 每个阶段的目标
  • 阶段奖励
  • 阶段转换
  • 故事标记
  • 团队同步支持

支持的目标类型包括:

  • 击杀一个实体
  • 收集一个物品
  • 提交一个物品
  • 与一个目标互动
  • 完成一个进度

对话系统

对话系统允许 NPC 呈现分支对话。

对话选项可以:

  • 开始任务
  • 打开商店
  • 设置故事标记
  • 给予物品
  • 运行命令
  • 转到另一个对话节点
  • 关闭对话

选项还可以有条件,这使得根据任务进度改变 NPC 的态度或可用选项成为可能。

NPC 绑定

NPC 对话可以通过数据文件进行绑定。

支持的绑定用例包括:

  • 实体类型绑定
  • 村民职业绑定
  • 实体名称匹配
  • 基于 NBT 的对话 ID
  • 基于优先级的对话选择

这允许整合包作者无需编写脚本即可控制哪个 NPC 打开哪个对话。

商店与钱包

Chronicle Engine 包含一个商店系统和一个钱包系统。

商店可以定义:

  • 类别
  • 显示名称
  • 物品价格
  • 物品奖励
  • 可见性条件

钱包可以定义一个或多个物品 ID 作为货币物品。商店在可能的情况下会使用配置的钱包余额,这有助于避免大额价格使玩家背包溢出。

团队系统

Chronicle Engine 包含一个用于多人游戏进度的团队系统。

玩家可以创建团队、请求加入团队,并与队友同步主线任务进度。

与团队相关的功能包括:

  • 玩家创建的团队
  • 加入请求
  • 团队所有者管理
  • 团队管理员
  • 友军伤害开关
  • 踢出成员
  • 黑名单管理
  • 服务器管理员控制
  • 主线任务同步

Chronicle Maker

Chronicle Maker 是一个基于浏览器的无代码编辑器,包含在项目中。

它专为不想手动编写 JSON 的创作者设计。

Chronicle Maker 可以帮助创建和编辑:

  • 任务
  • 任务阶段
  • 任务路线
  • 对话树
  • NPC 绑定
  • 商店
  • 钱包货币
  • 示例内容包

编辑器包含任务路线图、可折叠编辑面板、验证工具和项目扫描辅助工具。

使用现代浏览器(如 Edge 或 Chrome)打开编辑器:

tools/chronicle_maker/index.html

示例包

包含一个示例包:

examples/simple_farmer_story

该示例演示了:

  • 与农民村民交谈
  • 接受任务
  • 击杀一只僵尸
  • 获得十个铁锭
  • 打开农民食品商店
  • 使用绿宝石作为商店货币

命令

/chronicle reload
/chronicle dialogue start <玩家> <对话_id>
/chronicle quest give <玩家> <任务_id>
/chronicle quest complete <玩家> <任务_id>
/chronicle quest reset <玩家> <任务_id>
/chronicle quest reset_all [玩家]
/chronicle quest journal
/chronicle shop open <玩家> <商店_id>

需求

  • Minecraft 1.20.1
  • Forge 47+

给玩家

如果你是玩家,此模组通常作为整合包的一部分安装。

就其本身而言,Chronicle Engine 是一个框架。它提供系统、界面和命令,但实际的任务和 NPC 内容通常由整合包或数据包提供。

给整合包作者

如果你是整合包作者,此模组旨在作为自定义 RPG 进度系统的基础。

你可以通过以下方式将你自己的 Chronicle 内容包含在整合包中:

  • 内置的数据包资源
  • 基于外部配置的故事包
  • Chronicle Maker 生成的文件

许可证

Chronicle Engine: RPG 框架根据 MIT 许可证 发布。

当前状态

这是一个早期公开版本。

该框架已可用于基于任务、对话、商店、钱包和团队的整合包进度系统,但数据格式和编辑器可能会根据实际整合包制作需求继续发展。