斯特拉塔界面

声明式、可复用的Minecraft UI,具有无头渲染和精确版本化的Fabric适配器。

Strata UI

Strata 是一个用于 Minecraft Fabric Mod 的声明式 UI 库。 使用可复用组件构建界面,将应用状态保存在你自己的代码中,并可在不启动 Minecraft 的情况下测试 UI 行为。 单独安装的运行时将这些定义连接到客户端版本及其资源。

你可以构建什么

  • 使用会测量并放置其子项的布局来排列控件。
  • 将文本、输入框、滚动列表、图像和 Minecraft 物品栏绑定组合到应用界面中。
  • 通过可组合的修饰符添加尺寸、外观、焦点和输入行为。
  • 在无头测试和 Minecraft 客户端中复用界面定义。
  • 组合你自己的组件,或扩展公开的 Element 和 Node 契约以实现保留行为。

浏览组件目录以查看图像、编译后的示例以及各个 API 链接。

安装并打开界面

仅针对 API 编译普通的 Mod 源代码,然后将与当前 Minecraft 版本匹配的运行时连同 Fabric Language Kotlin 一起安装。

dependencies {
    compileOnly("dev.s7a.strata:strata-api:0.1.6")
    modRuntimeOnly("dev.s7a.strata:strata-runtime-minecraft-fabric-<minecraft-version>:0.1.6")
    modRuntimeOnly("net.fabricmc:fabric-language-kotlin:<compatible-version>")
}

在使用方 Mod 的 fabric.mod.json 中将 strata 声明为必需依赖项。 以下完全相同的示例仅针对 strata-api 编译,README 和公开的 Strata skill 也使用了该示例:

import dev.s7a.strata.component.Button
import dev.s7a.strata.component.Column
import dev.s7a.strata.component.Text
import dev.s7a.strata.layout.HorizontalAlignment
import dev.s7a.strata.modifier.Modifier
import dev.s7a.strata.modifier.menuBackground
import dev.s7a.strata.modifier.onActivate
import dev.s7a.strata.modifier.padding
import dev.s7a.strata.modifier.size
import dev.s7a.strata.screen.ScreenDefinition

/**
 * Opens a confirmation screen on the installed runtime's owner thread.
 */
internal fun openConfirmationScreen(onConfirm: () -> Unit) {
    ScreenDefinition("Confirm action") {
        Column(
            modifier =
                Modifier.Empty
                    .size(320, 180)
                    .menuBackground()
                    .padding(12),
            spacing = 8,
            horizontalAlignment = HorizontalAlignment.Center,
        ) {
            Text("Continue with this action?")
            Button(
                "Yes",
                modifier = Modifier.Empty.onActivate(onConfirm),
            )
        }
    }.open()
}

支持的 Minecraft 版本

1.20、1.20.1、1.20.2、1.20.3、1.20.4、1.20.5、1.20.6、1.21、1.21.1、1.21.2、1.21.3、1.21.4、1.21.5、1.21.6、1.21.7、1.21.8、1.21.9、1.21.10、1.21.11、26.1、26.2

请安装与客户端版本完全匹配的一个 Strata 运行时。 有关构件名称和 Java 要求,请参阅 Minecraft 兼容性。

文档和源代码

生成式 AI 大幅协助了实现、审查、测试、文档和发布页面文本。 维护者主导设计,并通过公开测试套件验证发布构件。