BetterQuesting
[!INFO] Git Commit:
f5042d9011de39cd9f4e5e608f0aeceab6850beb| Updated: 2026-10-02
BetterQuesting 是一个 1.7.10 Forge 的任务 / 剧情框架模组,由 Funwayguy 开发、GTNewHorizons 维护。模组本名(分类名)与 modid 一致:gradle.properties:10 写明 modId = betterquesting,主类 betterquesting/core/BetterQuesting.java:53 的常量 MODID = "betterquesting" 与之相符 —— modid 与分类名相同,无不一致。
核心本身几乎不提供游戏内容:它注册 2 个方块、4 个物品、1 个实体、1 个流体、1 个创造标签,以及 16 条封包、45 项客户端配置、15 个 API 键、8 套 GUI 主题。真正让玩家看到任务树的是同 jar 内打包的 bq_standard(Standard Expansion)—— 它提供 13 种任务类型与 6 种奖励类型。
定位:独立模组,无宿主
dependencies.gradle 全文没有指向任何「宿主模组」的依赖,外部条目仅 6 项(GTNHLib、NotEnoughItems、DuraDisplay、VendingMachine、annotations 库、TX-Loader)。BetterQuesting 名字里不含任何暗示宿主的词,本分类也不做任何宿主猜测。
硬前置只有一条:@Mod(dependencies = "after:gtnhlib@[0.10.7,)")(BetterQuesting.java:50,after 而非 required-after)。
⚠️ 一个仓库打包 4 个 modid
BetterQuesting 这一个仓库编译出 4 个 @Mod,mcmod.info 也列了 4 条 modList 条目:
| modid | 名称 | 依赖声明 | 本分类是否展开 |
|---|---|---|---|
betterquesting |
BetterQuesting | after:gtnhlib@[0.10.7,) |
✅ 本分类主体 |
bq_standard |
Standard Expansion | required-after:betterquesting |
仅在交叉处标注归属 |
questbook |
BetterQuesting Quest Book | required-after:betterquesting |
仅在交叉处标注归属 |
cb4bq |
Command Blocks for Better Questing | required-after:betterquesting |
仅在交叉处标注归属 |
mcmod.info 中后三条的 "parent" 字段均为 "betterquesting"。本分类只文档化核心 modid;属于另 3 个 modid 的内容在相关条目里明确标注归属,不与核心混为一谈。
一行统计
| 维度 | 数量 |
|---|---|
| 方块 | 2 |
| 物品 | 4(extra_life 含 3 个 meta) |
| 实体 / 流体 | 1 / 1 |
| TileEntity | 2 |
| 创造标签 | 1 |
| 核心自带任务类型 / 奖励类型 | 0 / 0 |
| 封包处理器 | 16 |
| 客户端配置项 | 45 |
| 世界级设置项 | 12 |
任务属性(NativeProps) |
52(另有 1 个被注释) |
| API 键 | 15(11 公共 + 4 仅客户端) |
| GUI 主题 | 8 |
| 工具箱工具 | 12 |
| 任务导入器 | 3(其中 1 个自述为空实现) |
| 根指令 / 子指令 | 4 / 15 |
方块列表
- 提交站 (OSS) - 2 槽
IFluidHandler+ISidedInventory方块,把物品/流体投进槽位即可完成对应任务,供漏斗与管道自动化 - 观测站 (OOS) - 无 GUI 无槽位,每秒扫描六个邻居的容器与储罐,把内容喂给拥有者名下的队伍共享任务
物品列表
- 额外生命 - 3 个 meta(1 颗心 / 1/2 / 1/4),硬核模式下唯一回命道具,仅 meta 0 可用
- 入门指南 - 右键打开 GUI ID 1 的内置帮助界面,复用原版书写书贴图
- 占位符组 - 2 物品 + 1 实体 + 1 流体共 4 个注册项,整合包删模组后冻住缺失引用并在原物品回归时自愈
任务系统列表
- 任务数据模型 - 任务线 → 任务 → 任务项/奖励三层 UUID 数据库,含前置依赖的三档可见性
- 任务属性 - 52 个
NativeProps属性的完整总表(1 个FRAME已被注释掉) - 任务状态与逻辑 - 5 态状态机 + 7 档可见性 + 6 种布尔运算的判定规则
奖励系统列表
- 奖励框架 - 注册表 / 存储 / 基类三件套;核心自带 0 个具体奖励类型,6 个全部来自
bq_standard
网络协议列表
- 封包协议 - 16 个
betterquesting:*处理器 + 判别式恒为 0 的PacketQuesting单通道
设置列表
指令列表
- 指令 - 4 个根指令(
bq_admin/bq_user/bq_client/bq_copyquests)与 15 个子指令
集成列表
- 跨模组集成 - 7 个
isModLoaded探测、GTNHLib / DuraDisplay / VendingMachine / NEI / DreamCraft 的实际行为,以及同 jar 4 modid 的对照
API 列表
主题与工具列表
- 主题 -
bq_themes.json定义的 8 套主题,10 个资源工厂中 6 个在用 - GUI 工具箱 - 12 个可视化任务设计工具,8 档网格吸附
- 导入器 - 3 个任务包导入器(HQM 任务 / HQM 战利品袋 / 空壳),全部属
bq_standard
队伍与玩法列表
- 队伍系统 - 3 档权限的进度共享队伍,源码中不存在人数上限
- 生命值与硬核模式 - 死亡扣命、耗尽即封禁(单人则删档),与 1/3/10 三个生命数值
- 任务通知 - GTNHLib
TitleAPI后端的通知队列,16 项配置 + 14 项逐任务覆写
核实说明
- 版本门:Form ① 命中
gradle.properties:24的minecraftVersion = 1.7.10(同行 27 行为forgeVersion = 10.13.4.1614)。项目为 RetroFuturaGradle(build.gradle用com.gtnewhorizons.gtnhconvention,settings.gradle声明com.gtnewhorizons.gtnhsettingsconvention2.0.24),故 Form ① 有效,非 ForgeGradle 静默返回的情形。tools/version_gate.py对本分类判定ok。 - 提交哈希:
git cat-file -t f5042d9…返回commit。该提交同时是仓库唯一标签3.8.87-GTNH的指向(git rev-list -n1 3.8.87-GTNH输出同一哈希,git rev-list --count 3.8.87-GTNH..HEAD= 0)。核实分支/标签:master,等于3.8.87-GTNH。该仓库为浅克隆(git log显示grafted),故只能确认 HEAD 与标签一致,无法回溯更早历史。 - 源码语言:纯 Java,
find -name '*.java'= 518 个;.scala/.kt/.groovy各 0 个。 - ⚠️ 口径提示:仓内
src/main/java同时包含 4 个 modid 的源码。标注为「核心自带」的数字均只统计src/main/java/betterquesting/**;标为bq_standard的内容单独归属。