跳到主要内容
Tennantite
EN
文档目录

介绍

核心原则、分层与分发方式。

不是传统组件库

Tennantite 把 Minecraft 的 GUI 语言拆成可复制的 React 源码。它同时提供两条通道:npm 包与源码目录。组件基于 Base UI 与 Tailwind CSS v4,默认由设计令牌驱动。

71 个组件分为核心库与独立 Mod 区:60 个原版/通用组件,加 11 个 Mod 组件;37 个整屏界面由 27 个原版整屏与 10 个 Mod 界面组成。整屏不是黑盒,而是由小部件拼装出来的组合示例。

三条使用约定

源码可改:每个组件都是独立目录;数据注入:界面只接收数据与回调;令牌覆盖:颜色、字体、间距、阴影都可在 @theme 中重写。

五条设计原则

  1. 分层组合,而不是整屏黑盒。整屏界面由 ScreenPanel、PlayerInventory、Slot 等部件组合。
  2. UI 与游戏逻辑解耦。组件不读取存档、不发送网络请求,只渲染传入的数据。
  3. 风格走令牌。几何与颜色来自 CSS 变量,覆盖变量即可换肤。
  4. 像素基调。1 GUI px 默认等于 2 CSS px;纹理使用 image-rendering: pixelated。
  5. 静态优先。纯展示组件保持 RSC 兼容,交互边界尽量小。

分层

层级 内容 数量
L0 @tennantite/tokens / @tennantite/textures 2 个包
L1 原语:Button、Input、Slider、Tabs… 13
L2 容器:Panel、Grid、Slot、ScreenPanel… 12
L3 HUD 与整屏界面 41

完整说明见 组件分层;按组件浏览见 Components。

分发

@tennantite/ui 已发布到 npm。核心组件同时通过 shadcn registry 端点(https://tennantite.rikka.cc/r/<name>.json)分发源码,可用 npx shadcn add @tennantite/<name> 拷贝安装;mod 包走 npm 安装。详见 Registry 与 安装。

当前状态

v0.1.0

Next.js App Router 与 TanStack Start 的 SSR 冒烟已通过;axe 测试覆盖 primitives。

下一步

从 安装 开始接入样式,然后浏览 Components 与 Blocks。