罗塞塔

罗塞塔

一个用于引导玩家上手你的模组的库模组。

基础库

Rosetta

Rosetta 是一个客户端库模组,用于以一致、精致的方式提供引导教程、提示和更新日志。

如果你是因为意外发现它被安装而读到这段话,那很可能是因为其他某个模组(build-better、drop-highlighter 等)依赖它来实现引导功能。

Rosetta 为你做什么

当安装了由 Rosetta 驱动的模组时,你会获得一个统一的引导系统(一次性弹窗),帮助你了解该模组的功能,获取提示、提醒以及模组作者希望你看到的其他信息。对于作者来说,最大的优势是引导卡片之间不会互相冲突。如果每个模组都实现自己的系统,它们就会同时渲染。Rosetta 会排队并管理顺序、版本追踪,以及用户是否已经看过某张卡片或某个指示器。

  • 首次启动卡片。 模组可以在你安装它们后首次加载世界时显示一张全屏欢迎卡片,说明该模组的功能以及如何使用其主要特性。每张卡片只有一个“确认”按钮。已关闭的卡片不会再次出现,除非模组作者为你准备了新内容。
  • HUD 弹出提示。 当你做出某个模组想教你的操作时,原版风格的提示弹窗会出现在你的快捷栏上方;比如拾取一种新物品类型、打开一个新 GUI、首次触发某个功能。可选音效提示。
  • 多页教程。 分步引导,会调暗背景并针对每一页高亮特定的 UI 区域。模组用它来深入讲解某个功能,而无需倾倒一大段文字。
  • 重放你看过的任何卡片。 随时打开 Rosetta 重放屏幕,重新阅读你已关闭的教程、浏览模组留下的更新日志说明,或回顾你忘记的某个功能。
  • 统一的通知收件箱。 当某个模组在你忙碌时(打怪、滑翔、睡觉)试图教你某些东西,Rosetta 会将提示排队,而不是打断你。HUD 上的一个小指示器让你可以在准备好时打开收件箱。

它如何改变你的体验

  • 教程绝不会打断战斗。 当你正在受到伤害、睡觉、滑翔、死亡或处于旁观者模式时,Rosetta 会自动抑制卡片。你不会在战斗中途收到“欢迎来到这个模组!”的界面。
  • 所有模组共用一个 UI。 不需要每个模组都发明自己的欢迎界面,配以不同的按键绑定、布局和关闭行为;由 Rosetta 驱动的模组共享相同的外观和感觉,也让模组不必再争抢渲染层级。
  • 你的关闭操作会保留。 你已确认的卡片在游戏会话之间保持已确认状态。状态保存在你的 Minecraft 安装目录中。没有云端,没有按服务器追踪。
  • 卡片已分类,便于筛选。 教程、提示、警告、新内容说明和鸣谢都会被如此标记,因此重放屏幕会合理地对其进行分组。

Rosetta 不做的事

  • Rosetta 不添加任何世界内内容(没有方块、物品、生物、维度、配方)。
  • Rosetta 是仅客户端的。服务器不需要安装它,服务器也无法通过它推送消息。
  • 单独安装 Rosetta 不会有任何可见效果。它需要一个使用 Rosetta 来提供内容的模组。

致模组作者

Rosetta 为常见情况提供了基于 JSON5 的卡片注册格式(模组资源中的 rosetta-onboard.json5),并为高级情况提供了 Java 构建器 API(自定义触发器、世界内指针、多页教程、自定义控件)。如果你更改了一张卡片,可以通过修改卡片的版本号来在内容变更后重新显示它,或者为每个主要版本注册一个新 ID 以用于“新内容”说明。分类(tutorial、tip、warning、news、credits)驱动重放 UI 的分组。

支持的加载器: Fabric、NeoForge 支持的 Minecraft 版本: 1.21.1 到 26.1.2 Java 级别: 21(1.21.x)/ 25(26.x) 文档: https://github.com/Malteas-Games/malt-mods/tree/main/docs/rosetta