Pular para o conteúdo principal

API do ResourcePackManager

O ResourcePackManager expõe uma API Java que permite que outros plugins registrem seus resource packs para mesclagem em tempo de execução.

Acessando a API

A classe da API é com.magmaguy.resourcepackmanager.api.ResourcePackManagerAPI. Todos os métodos são estáticos.

Registrando um Resource Pack

Existem três métodos de registro dependendo se seu pack é local, remoto ou qualquer um dos dois.

registerResourcePack

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

Registra um resource pack que pode vir de um caminho local ou uma URL remota. Exatamente um entre localPath ou url deve ser não-nulo.

registerLocalResourcePack

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

Registra um resource pack a partir de um caminho local relativo ao diretório plugins.

registerRemoteResourcePack

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

Registra um resource pack que será baixado da URL fornecida.

Parâmetros

ParâmetroDescrição
pluginNameO nome do seu plugin exatamente como aparece na lista de plugins. Sensível a maiúsculas/minúsculas.
localPathCaminho relativo do diretório plugins para o arquivo ou pasta do seu resource pack.
urlURL para baixar o resource pack.
encryptsReservado para uso futuro. Atualmente não faz nada.
distributesReservado para uso futuro. Atualmente não faz nada.
zipsSe o resource pack já está compactado. Se false, o ResourcePackManager irá compactá-lo antes da mesclagem.
reloadCommandO comando de recarga do seu plugin. Reservado para uso futuro.

Acionando uma Recarga

ResourcePackManagerAPI.reloadResourcePack();

Recarrega o ResourcePackManager, que re-mescla todos os packs registrados e re-hospeda o resultado se a hospedagem automática estiver ativada.

Notas

  • Packs registrados através da API participam da priorityOrder da mesma forma que as integrações embutidas. Adicione o nome do seu plugin ao priorityOrder no config.yml para controlar onde ele fica na ordem de mesclagem.
  • Se o nome do seu plugin não estiver listado em priorityOrder, seu pack recebe a prioridade mais baixa.
  • O registro deve acontecer durante o onEnable ou inicialização do seu plugin, antes do ResourcePackManager terminar sua própria inicialização e acionar a primeira mesclagem.