Suite

联动

RGB 模块公开接口与跨模块集成

联动

RGB 模块为纯计算型模块,不涉及数据库、跨服同步或 EventBus 事件,主要通过 PlaceholderAPI 与公开能力接口对外输出渲染结果。

RgbRenderable 公开接口

RGB 模块注册公开能力 RgbRenderable,外部插件/模块经 AxsCapabilities.get(RgbRenderable.class) 获取:

方法说明
render(entryId, player)按条目 ID 渲染渐变文本;player 可为 null(不解析 PAPI),条目不存在返回空串
entryIds()已配置的渐变条目 ID 列表
RgbRenderable rgb = AxsCapabilities.get(RgbRenderable.class);
if (rgb != null) {
    String text = rgb.render("welcome", player);
}

自定义渲染 API

渲染器 ArcartRgbRenderer 为静态无状态类,可脱离条目配置直接调用实现自定义渲染(如动态生成文本、运行时拼接调色板):

List<ArcartRgbColor> colors = List.of(
    ArcartRgbColor.parse("#FF7A18"),
    ArcartRgbColor.parse("#FFD64D"),
    ArcartRgbColor.parse("#7FE7FF")
);
ArcartRgbRenderOptions options = new ArcartRgbRenderOptions(
    2L,                              // switchIntervalTicks
    2,                               // shineWidth
    ArcartRgbColor.parse("#FFFFFF"), // shineColor
    0.55                             // shineStrength
);
String rendered = ArcartRgbRenderer.renderTextAtTime(
    "Hello ArcartX",
    true,
    colors,
    System.currentTimeMillis(),
    options
);

ArcartRgbColor 支持解析颜色字符串(#RRGGBB、§#RRGGBB、RRGGBB)、两色插值与颜色混合。

数据存储与跨服

RGB 模块不使用数据库、不参与跨服同步,不参与 /axs purge 与 /axs migrate。条目配置存储在 config.yml + entries/*.yml 文件中。

若需要在多服环境下保持一致的渐变效果,只需确保各服务器的 entries/ 目录配置相同即可。

与其他模块集成

RGB 占位符格式为 %axsrgb_<entryId>%,可用于任何支持 PAPI 的场景:

Chat 模块

# Chat 模块聊天格式
chat-format: "%axsrgb_chat_prefix% %player_name%: %message%"

TAB 模块

# TAB 模块配置
tab:
  player-name-format: "%axsrgb_tab_name%"
  prefix-format: "%axsrgb_tab_prefix%"

Title 模块

# Title 模块称号配置
title:
  display-format: "%axsrgb_title_display%"

ArcartX UI

RGB 占位符可用于 UI 图标文本,为 UI 元素添加渐变色。详见 图标系统。

# UI 图标定义
icon:
  display-name: "%axsrgb_shop_title%"
  lore:
    - "%axsrgb_shop_description%"

热重载

/axs reload rgb 重新扫描 entries/ 目录并替换条目配置,即时生效。模块停止后占位符返回空串。

本页目录