Aller au contenu principal

API ResourcePackManager

ResourcePackManager expose une API Java qui permet à d'autres plugins d'enregistrer leurs packs de ressources pour la fusion au moment de l'exécution.

Accéder à l'API

La classe API est com.magmaguy.resourcepackmanager.api.ResourcePackManagerAPI. Toutes les méthodes sont statiques.

Enregistrer un pack de ressources

Il existe trois méthodes d'enregistrement selon que votre pack est local, distant ou l'un ou l'autre.

registerResourcePack

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

Enregistre un pack de ressources qui peut provenir d'un chemin local ou d'une URL distante. Exactement l'un des paramètres localPath ou url doit être non-null.

registerLocalResourcePack

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

Enregistre un pack de ressources depuis un chemin local relatif au répertoire plugins.

registerRemoteResourcePack

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

Enregistre un pack de ressources qui sera téléchargé depuis l'URL fournie.

Paramètres

ParamètreDescription
pluginNameLe nom de votre plugin exactement tel qu'il apparaît dans la liste des plugins. Sensible à la casse.
localPathChemin relatif depuis le répertoire plugins vers votre fichier ou dossier de pack de ressources.
urlURL depuis laquelle télécharger le pack de ressources.
encryptsRéservé pour une utilisation future. Ne fait rien actuellement.
distributesRéservé pour une utilisation future. Ne fait rien actuellement.
zipsIndique si le pack de ressources est déjà zippé. Si false, ResourcePackManager le zippera avant la fusion.
reloadCommandLa commande de rechargement de votre plugin. Réservé pour une utilisation future.

Déclencher un rechargement

ResourcePackManagerAPI.reloadResourcePack();

Recharge ResourcePackManager, qui refusionne tous les packs enregistrés et réhéberge le résultat si l'hébergement automatique est activé.

Ce que cette API ne couvre pas

Les entités Bedrock personnalisées ne s'enregistrent pas via cette classe. Un plugin les apporte en livrant des ressources d'entités Bedrock natives sous assets/<namespace>/rspm_bedrock_pack/ dans son pack Java ; RSPM les transporte dans le pack Bedrock généré et l'extension Geyser embarquée enregistre les définitions qui en résultent. Voir Conversion Bedrock et Extension Geyser et entités personnalisées.

Notes

  • Les packs enregistrés via l'API participent à priorityOrder de la même manière que les intégrations internes. Ajoutez le nom de votre plugin à priorityOrder dans config.yml pour contrôler sa position dans l'ordre de fusion.
  • Si le nom de votre plugin n'est pas listé dans priorityOrder, votre pack reçoit la priorité la plus basse.
  • L'enregistrement doit se faire durant le onEnable ou l'initialisation de votre plugin, avant que ResourcePackManager ne termine sa propre initialisation et ne déclenche la première fusion.