Sodium/Embeddium Options API

Sodium/Embeddium Options API

NaCl选项的配置API,附带更完善的分类菜单

优化

banner

此模组添加了跨平台事件,用于添加 Sodium/Embeddium 选项菜单集成。例如,你可以通过一个事件在 Forge 上的 Embeddium、1.20.1 上的 Fabric Sodium 0.5,以及 1.21.1 上的 Fabric/NeoForge Sodium 0.6 中添加一个选项页面:

OptionGUIConstruction.EVENT.register((pages) -> pages.add(new TestOptionPage()));

如果你是最终用户,并且尚未将此模组作为其他 Sodium 附加组件的库安装,你可以将其与 Reese's Options 一起安装,以获得改进的分类菜单,支持下拉菜单,更易于导航。即使对于未使用此 API 并直接注入 Sodium 选项的模组,此功能也会生效。

demo

此模组部分基于 Embeddium 分类 API 和选项事件的分支,并进行了大量修改以支持上游 Sodium。虽然它修改了 Reese's Sodium Options 菜单,但出于兼容性原因,它通过 mixin 实现,因此你需要同时安装两者。

使用 API

首先,你需要将本模组添加到你的开发环境中,使用 Curseforge 或 Modrinth 的 Maven 发布版本。

modImplementation("maven.modrinth:sodium-options-api:version")

然后,本模组在 toni.sodiumoptionsapi.api 中提供三个事件:

  • OptionGUIConstruction.EVENT,在 GUI 构造函数中调用一次,允许添加整个页面。这可能是你需要的那个。
  • OptionPageConstruction.EVENT,为每个 OptionPage 调用。如果你想向性能选项卡添加一组开关等内容,可使用此事件。
  • OptionGroupConstruction.EVENT,为每组选项调用。如果你想将单个选项插入现有组,或修改原版组,可使用此事件。