跳到主要内容

ResourcePackManager API

ResourcePackManager 暴露了一个 Java API,允许其他插件在运行时注册其资源包以进行合并。

访问 API

API 类为 com.magmaguy.resourcepackmanager.api.ResourcePackManagerAPI。所有方法均为静态方法。

注册资源包

根据你的资源包是本地的、远程的还是两者兼有,提供了三种注册方法。

registerResourcePack

ResourcePackManagerAPI.registerResourcePack(
String pluginName,
String localPath,
String url,
boolean encrypts,
boolean distributes,
boolean zips,
String reloadCommand
);

注册一个可来自本地路径或远程 URL 的资源包。localPathurl 中应恰好有一个不为 null。

registerLocalResourcePack

ResourcePackManagerAPI.registerLocalResourcePack(
String pluginName,
String localPath,
boolean encrypts,
boolean distributes,
boolean zips,
String reloadCommand
);

从相对于 plugins 目录的本地路径注册资源包。

registerRemoteResourcePack

ResourcePackManagerAPI.registerRemoteResourcePack(
String pluginName,
String url,
boolean encrypts,
boolean distributes,
boolean zips,
String reloadCommand
);

注册一个将从提供的 URL 下载的资源包。

参数

参数描述
pluginName你的插件名称,必须与插件列表中显示的完全一致。区分大小写。
localPathplugins 目录到你的资源包文件或文件夹的相对路径。
url下载资源包的 URL。
encrypts预留给未来使用。目前无效果。
distributes预留给未来使用。目前无效果。
zips资源包是否已经是压缩格式。如果为 false,ResourcePackManager 会在合并前进行压缩。
reloadCommand你的插件的重载命令。预留给未来使用。

触发重载

ResourcePackManagerAPI.reloadResourcePack();

重载 ResourcePackManager,重新合并所有已注册的资源包,如果启用了自动托管则重新托管结果。

注意事项

  • 通过 API 注册的资源包参与 priorityOrder 的方式与内置集成相同。在 config.yml 中将你的插件名称添加到 priorityOrder 以控制它在合并顺序中的位置。
  • 如果你的插件名称未在 priorityOrder 中列出,你的资源包将获得最低优先级。
  • 注册应在你的插件的 onEnable 或初始化期间进行,在 ResourcePackManager 完成自身初始化并触发首次合并之前。