Skip to Content
Guide展示

展示

DearOreUI 在真实客户端里跑通的东西,以及如何用示例 Mod 复现。

内置演示 Overlay

安装后进入世界列表页(/play/all),页面中央会出现居中的 DearOreUI DEMO 覆盖层。这是内置演示,走的是「注册 → 计划 → 挂载 → 注入 → 显示」完整链路,用来确认运行时工作正常。

相关验证记录(2026-08-15 真实客户端):

验证项结果
cohtml::View vtable 指纹与 mcmeta 头文件布局逐槽位一致
demo overlay 显示世界列表页正常渲染(全屏遮罩 + 居中文本)
门禁未命中 view 时零副作用

组件库 showcase(阶段 8.1.4)

组件库的 37 种 ComponentKind 已通过声明式 ComponentSpec 接入 registerComponent。自动化证据:

  • Showcase:52 children、14 scripts、malformed_scripts=0、at_risk_count=0。
  • DearOreUIUnitTests 全绿。

真机展示:搭载组合组件(stack / modal / menu / listItem 拼装)的 showcase 已在目标客户端完整显示。详细验收矩阵见 Docs/DearOreUI-阶段8-真实客户端验证.md

示例 Mod(dearoreui-ExampleMod)

dearoreui-ExampleMod  是一个完整的外部 Mod 示例,演示:

  • 桥接接入DearOreUI_QueryApi 获取 API 入口,带就绪重试(20 次轮询,10 秒窗口)。
  • 状态中心StateCenter 注册 UI + 资源 + Host 方法 + 事件订阅。
  • 全链路:注册 → 显示 → JS 调用 C++ → 事件回传。

核心流程(src/mod/MyMod.cpp):

auto bridge = queryApi(1); // 探测 DearOreUI 桥 if (bridge.status != DearOreUIBridge_Ok) { // 未就绪:启动重试线程,就绪后交到客户端主线程 return false; } mOreui = static_cast<dearoreui::api::IDearOreUIApi*>(bridge.api); mModId = dearoreui::api::ModId{"example.state_center"}; mStateCenter = std::make_unique<StateCenter>(*mOreui, mModId, *this); mStateCenter->registerAll();

在自己的 Mod 里复现

  1. 安装与构建 部署 DearOreUI。
  2. 参考 ExampleMod  搭工程。
  3. 快速开始 注册第一个 Overlay。
  4. 在你的模组中使用 接入组件库与 Host 方法。

相关