PAPIProxyBridge

一个用于在代理服务器上使用PlaceholderAPI的桥接库插件。

资源图片
GitHubDiscord

PAPIProxyBridge 是一个库桥接插件,您需要在后端和代理服务器上安装,以便允许代理插件使用 PlaceholderAPI 占位符格式化文本。 ## 对于服务器所有者 这是一款旨在与实现其 API 的插件配合使用的库插件。无需进行任何配置。 在您的 Spigot (1.16.5+) 或 Fabric (1.19.3+) 服务器上安装最新版本的插件以及 [PlaceholderAPI 插件](https://www.spigotmc.org/resources/placeholderapi.6245/) 或您的 Fabric 服务器上的 [PlaceholderAPI mod](https://placeholders.pb4.eu/),然后在您的 BungeeCord 或 Velocity 代理服务器上安装该插件。 请注意,此插件不是 PlaceholderAPI 的替代品。您仍然需要在您的 Spigot/Fabric 服务器上安装 PlaceholderAPI。 ## 对于开发者 PAPIProxyBridge 暴露了一个跨平台 API,让您可以使用 PlaceholderAPI 占位符格式化文本。
将库添加到您的项目 PAPIProxyBridge 可以在 `repo.william278.net` 上找到 ([在此查看 javadocs](https://repo.william278.net/javadoc/releases/net/william278/papiproxybridge/latest))。首先,将 Maven 仓库添加到您的 `build.gradle`: ```groovy repositories { maven { url 'https://repo.william278.net/releases/' } } ``` 然后添加依赖项: ```groovy dependencies { implementation 'net.william278:papiproxybridge:1.6' } ```
使用示例 `PlaceholderAPI` 类暴露了用于格式化占位符的 API。目前,仅支持单例非括号占位符(未来会有更多)。 使用 `PlaceholderAPI.getInstance()` 获取类的实例,然后使用 `#formatPlaceholders` 方法使用占位符格式化字符串,针对玩家(使用 UUID 确保跨平台兼容性)。 该方法返回一个 [CompletableFuture](https://www.baeldung.com/java-completablefuture)(因为我们不想在代理网络与后端玩家交互时锁定线程),您可以将其用于接收格式化的字符串。 ```java // 格式化带有占位符的字符串 final PlaceholderAPI api = PlaceholderAPI.createInstance(); final UUID player = player.getUniqueId(); api.formatPlaceholders("Hello %player_name%!", player).thenAccept(formatted -> { player.sendMessage(formatted); }); ``` 切勿在对 `#formatPlaceholders` 的调用上调用 `#join()`;这是不安全的。 PAPIProxyBridge 将解析的请求缓存 30000 毫秒(30 秒),以避免在服务器的网络信道上造成过多的流量。您可以使用 `PlaceholderAPI#setCacheExpiry(long)` 方法调整缓存请求的时间。 还存在 `#formatComponentPlaceholders`。 此方法允许您提供一个包含占位符的字符串,并接收一个冒险组件,其中包含格式化的文本,其中可能包含格式和聊天事件。