Timeline

Developer API

Timeline expose les assistants API publics sous org.z2six.rpgtimeline.api.RPGTimelineApi.

TLDR

Utilisez l'API pour :

  • lire/formater les dates actuelles du calendrier
  • ajouter des notes de serveur/personnelles
  • enregistrer les progrès natifs
  • enregistrer des événements externes de type avancement

Aides aux rendez-vous

Java
import org.z2six.rpgtimeline.api.RPGTimelineApi;

long gameTime = serverLevel.getDayTime();
String dateText = RPGTimelineApi.buildDateStringFromGameTime(gameTime);
long dayIndex = RPGTimelineApi.getDayIndexForGameTime(gameTime);

Méthodes utiles :

  • getCalendarDefinition()
  • getCalendarDayOffsetDays()
  • fromGameTime(long gameTime)
  • formatDate(long gameTime)
  • buildDateMessage(long dayIndex)

Ajouter des notes par programme

Java
import org.z2six.rpgtimeline.api.RPGTimelineApi;

RPGTimelineApi.addServerNote(player, "Server Arc Begins", "The kingdom enters a new age.");
RPGTimelineApi.addPersonalNote(player, "My Journal", "Reached the obsidian gate.");

// Explicit day index version
RPGTimelineApi.addServerNote(player, "Coronation", "The crown was claimed.", 512L);

Avances d'enregistrement

Objet d'avancement natif

Java
RPGTimelineApi.recordAdvancement(player, advancementHolder);

Événement externe de type avancement

Java
import net.minecraft.network.chat.Component;

RPGTimelineApi.recordExternalAdvancement(
    player,
    "mymod:slay_lich",
    Component.literal("Lich Vanquisher"),
    Component.literal("Defeated the Lich beneath the catacombs."),
    "minecraft:nether_star"
);
DEEP DIVE : une première identité mondiale

sourceId est l'identité utilisée pour le suivi en première mondiale. Gardez-le stable et unique par concept de réussite.

Modèle d'erreur

Les appels d'API sont défensifs :

  • les entrées nulles sont ignorées en toute sécurité lorsque cela est possible
  • les échecs internes sont enregistrés et avalés pour éviter de planter les mods appelants
Utilisation côté serveur

Les assistants à la rédaction de chroniques doivent être appelés à partir de contextes côté serveur (ServerPlayer).

Soutenir ce projet

Vous aimez ce wiki et ces mods ?

Chaque soutien m'aide a continuer a creer des fonctionnalites, ecrire la documentation et publier des mises a jour.

Retour en haut