历史阶段

历史阶段

引导你的玩家穿越时代。历史阶段允许模组包制作者通过自定义的研究时代锁定物品、配方、维度、生物、战利品等,并拥有完整的游戏内置工具。

  • 📖 Wiki — 完整文档、配置字段、JSON 示例和开发者 API
  • 💬 Discord — 支持、问题和前瞻预览
  • 🐛 Issue Tracker — 报告错误和功能请求

History Stages 是一款为整合包作者设计的进程锁定模组。将物品、合成表、维度、建筑、生物、附魔和战利品锁定在自定义时代之后——并让玩家通过你希望的任何方式解锁它们:研究、游戏内触发器、任务或命令。

阶段可以服务器范围(全局)、按玩家(个人)解锁,或者作为双阶段——先全局锁定,待时代解锁后再按玩家解锁。您来决定整合包中的进程机制。


🔒 可以锁定的内容

几乎一切——不仅仅是物品使用:

  • 物品和标签(含 NBT 条件)、整个模组、合成表
  • 维度和建筑(可选的力场区域)
  • 生物——生成锁定和攻击锁定
  • 战利品——箱子与生物掉落,可移除或替换
  • 方块——破坏、GUI 和容器访问
  • 附魔——铁砧与附魔台
  • 盔甲架和物品展示框——展示的已锁定物品将受保护

除此之外,锁定的物品可以隐藏或替换其名称和提示文本,并且每个条目的 unlock_actions 可让你在保持其他一切锁定的同时,允许特定交互(例如拾取)。


🔓 按你的方式解锁

研究基座只是默认方式,并非必需——每个阶段都有一个模式来定义其解锁方式:

  • 默认——经典研究方式,在基座上使用卷轴
  • 自动——通过游戏内触发器解锁:拾取物品、进入生物群系/维度/建筑、击杀/交互实体、放置/破坏方块、进度、游戏时间(可任意/全部组合)
  • 外部——仅通过 /history、KubeJS/CraftTweaker 或作为FTB Quests 奖励解锁
  • 临时——在计时器上解锁和重新锁定,带有冷却时间和触发限制

在同一整合包中自由混合所有这些方式——驱动研究时代、基于探索的解锁和任务奖励可以共存。


🔬 研究系统

玩家需要将研究卷轴带到研究基座上,并花费时间研究下一个时代。四个基座等级(I–IV)、可放置的研究加速器以及按阶段设定的研究时间,让你可以调整进程节奏。借助依赖系统,阶段还可以额外要求 XP 等级、生物击杀数、统计数据、进度、计分板目标或直接存入基座的物品。


🛠️ 游戏内编辑器

无需触碰配置文件,即可在暂停菜单中(需要 OP 权限)构建和调整整个阶段设置:

  • 可搜索的多选列表和依赖关系图查看器
  • 专门的依赖、NBT 和锁定操作编辑器——Ctrl+单击任意物品栏槽位可导入其 NBT
  • 全局与个人阶段之间的重叠警告,以及完整的游戏内配置编辑器

🎨 反馈与集成

玩家总能知道某物被锁定的原因:物品栏中的锁定图标和JEI/EMI中的锁定图标、叠加在合成表上的“已锁定”标记、带有自定义阶段图标的提示信息以及可配置的动作栏/聊天消息。

  • FTB Quests——原生阶段任务和奖励类型(全局+个人)
  • KubeJS / CraftTweaker——StageEvent.Unlocked/Locked 事件
  • 支持 Jade、Curios 和 Accessories

📂 创建阶段

使用游戏内编辑器,或在 config/historystages/global/ 和 individual/ 中编写简单的 JSON 文件——完整字段参考:Stage Configuration。

该模组默认不附带基座、加速器和卷轴的合成表——由你决定玩家如何获得它们(KubeJS、数据包、任务奖励等)。通过以下命令给予卷轴:

/give @s historystages:research_scroll{StageResearch:"YOUR_STAGE_NAME"}

📦 依赖项

  • Lootr——必需
  • 可选: JEI、EMI、FTB Quests、Jade、Curios、Accessories

❓ 常见问题

是按玩家而非服务器范围? 是的——可以是全局、个人或两者混合(重叠部分会成为双阶段锁定)。

Lootr 真的是必需的吗? 是的,战利品过滤功能基于 Lootr 的容器系统。如果不使用战利品锁定,它只会静默存在。

我需要 FTB Quests 吗? 不需要——集成仅在安装该模组时激活。

支持的版本?

  • 1.20.1——Forge(最新功能)
  • 1.21.1——NeoForge(最新功能)
  • 1.21.1——Fabric(目前落后几个版本)
  • 1.19.2——Forge(旧版,不再更新)

有问题或发现漏洞?加入 Discord 或提交 issue——我们会阅读所有内容!🙂