Nameplate Builder - API

Nameplate Builder - API

轻量级API,供希望向NameplateBuilder添加自定义铭牌段落的模组制作者使用。

实用

NameplateBuilder API

为希望向 NameplateBuilder 添加自定义铭牌段的模组开发者提供的轻量级编译时 API

Docs GitHub Discord


谁需要它?

仅限模组开发者。 此 JAR 是用于构建与 NameplateBuilder 集成的模组的编译时依赖项。它不应放入 /mods 文件夹,也不应列为模组在 CurseForge 上的必需依赖项。

  • 服务器管理员: 您只需要 NameplateBuilder 服务器插件。不要下载此 API JAR。
  • 模组开发者: 下载此 JAR,将其放入您的 libs/ 文件夹,然后在 build.gradle 中将其添加为 compileOnly 依赖项。

如果您的模组与 NameplateBuilder 完全集成(即您使用它来处理铭牌而非自行管理),请在 CurseForge 项目设置中将 服务器插件(而非此 API)标记为必需依赖项。


设置

build.gradle

dependencies {
    compileOnly files('libs/NameplateBuilder-API-2.2.0.jar')
}

manifest.json

{
  "Dependencies": {
    "Frotty27:NameplateBuilder": ">=4.260326.7"
  }
}

API 包含什么?

用途
NameplateAPI 主要入口点——定义段、设置文本、清除文本
SegmentBuilder 用于解析器、缓存、默认值和替换的流畅构建器
SegmentResolver 用于计算每个实体段文本的函数式接口
NameplateData ECS 组件,用于在实体上保存段文本
SegmentTarget 枚举:ALLPLAYERSNPCS

快速示例

@Override
protected void setup() {
    NameplateAPI.define(this, "bounty", "Bounty",
            SegmentTarget.NPCS, "$500")
        .enabledByDefault(SegmentTarget.NPCS)
        .resolver((store, entityRef, variantIndex) -> {
            BountyComponent bounty = store.getComponent(entityRef, bountyType);
            if (bounty == null) return null;
            return "$" + bounty.getAmount();
        });
}

仅此而已。无需任何 Tick 系统。NameplateBuilder 会自动为您对每个可见实体调用解析器。玩家可以通过 /npb 命令将 "Bounty" 添加到他们的链条中、重新排序并选择显示格式。

请参阅 快速入门指南 获取完整教程。


附加文件

下载内容包括 -javadoc.jar-sources.jar 以及主 API JAR。将这三个文件都放入您的 libs/ 文件夹中,以获得完整的 IDE 支持(自动补全、内联文档、点击跳转到源代码)。