API développeur
L'API est activée par défaut sous integrations.developer-api. Elle est enregistrée auprès du ServicesManager de Bukkit, n'impose aucune dépendance obligatoire et est retirée proprement lorsque ReferralTrack est désactivé. Un rechargement de la configuration l'enregistre ou la retire immédiatement.
RegisteredServiceProvider<ReferralTrackApi> registration =
Bukkit.getServicesManager().getRegistration(ReferralTrackApi.class);
ReferralTrackApi api = registration == null ? null : registration.getProvider();Ajoutez ReferralTrack en softdepend ou depend dans le plugin consommateur. Ne « shadez » pas et ne relocalisez pas les classes de l'API ReferralTrack. Vérifiez api.isReady() avant les requêtes. findReferral, countValidatedInvites et topReferrers sont en lecture seule et renvoient un CompletableFuture ; leurs callbacks ne s'exécutent pas sur le thread principal/d'entité de Bukkit. Les enregistrements DTO sont immuables et n' exposent ni les ID de lignes internes de la base de données ni des objets de configuration modifiables.
Événements #
ReferralPreClaimEvent est synchrone et annulable. Il se déclenche après les protections propres à ReferralTrack (commande, permission, délai d'attente, ignorés et fenêtre de réclamation), mais avant toute recherche asynchrone ou écriture dans la base de données. L'annulation empêche la réclamation et affiche un message localisé générique de blocage par une intégration. Les chaînes soumises sont en lecture seule afin que les écouteurs ne puissent pas contourner la validation de ReferralTrack.
ReferralClaimResultEvent est asynchrone et non annulable. Il signale chaque résultat terminé du gestionnaire, y compris les rejets/erreurs, l'identité de la source/de la campagne, l'UUID du parrain et l'état en attente. Son écouteur ne doit pas accéder directement aux API joueur/monde/inventaire de Bukkit ; planifiez ce travail via le planificateur compatible Paper/Folia du plugin consommateur. N'attribuez pas d'argent à partir de cette notification : le registre de récompenses durable de ReferralTrack reste la source de vérité.
Les deux événements ont des interrupteurs de configuration indépendants. Désactiver l'API développeur désactive les deux.