registerComponent 可修改命名的内置 Compose 目标 — 让你从 Script Mod 中替换、包装或隐藏 Aether 的原生 UI 元素。与在不打扰现有 UI 的情况下添加内容的 surfaces 不同,component 注册会直接介入目标的渲染管线,并可完全移除或重组它。
API 签名
registerComponent 返回一个清理函数。调用它可移除 component 注册,并将目标恢复为先前状态。
可用目标
ComponentDefinition 字段
此 component 注册的唯一标识符。Aether 用它跟踪同一扩展的注册。若省略,Aether 会根据目标与注册顺序生成一个。
相对其他针对同一组件的注册的排序优先级。对于
replace 与 hide 模式,order 最高的注册起决定作用。对于 wrap、before 与 after,order 控制层叠顺序。省略时默认为 0。返回
ui 节点树的工厂函数。除 "hide" 外所有模式请使用 render 或 tree;hide 会移除组件且不在其位置渲染任何内容。省略
render 时使用的静态 ui 节点树。模式语义
示例
Replace
Wrap
使用ui.core() 在布局中放置被包裹的内容:
Hide
来自不同扩展的多个 wrapper 会围绕单一中心组合 — 胜出的
replace 注册,或在无 replace 时的原生组件。Native Mod 组件会完整包裹 Script component 管线,因此 Native 的 replace 对任何 Script 级替换都具有决定性。