Timeline

Developer API

Timeline は、パブリック API ヘルパーを「org.z2six.rpgtimeline.api.RPGTimelineApi」で公開します。

TLDR

API を使用して次のことを行います。

  • 現在のカレンダー日付の読み取り/フォーマット
  • サーバー/個人メモを追加する
  • ネイティブの進歩を記録する
  • 外部の進歩のような出来事を記録する

日付ヘルパー

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

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

便利な方法:

  • getCalendarDefinition()
  • getCalendarDayOffsetDays()
  • fromGameTime(長いゲーム時間)
  • formatDate(長いゲーム時間)
  • buildDateMessage(long dayIndex)

プログラムによるメモの追加

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);

記録的な進歩

ネイティブ アドバンス オブジェクト

Java
RPGTimelineApi.recordAdvancement(player, advancementHolder);

外部昇進的なイベント

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: 世界初のアイデンティティ

sourceId は、世界初の追跡に使用される ID です。安定性と実績コンセプトごとに一意性を維持します。

エラーモデル

API 呼び出しは防御的です。

  • null 入力は可能な限り安全に無視されます
  • 内部エラーはログに記録され、呼び出し元の MOD のクラッシュを避けるために飲み込まれます。
サーバー側の使用法

年代記作成ヘルパーはサーバー側コンテキスト (ServerPlayer) から呼び出す必要があります。

このプロジェクトを支援

このWikiとModが気に入りましたか?

ご支援いただくことで、機能開発、ドキュメント整備、アップデート継続の助けになります。

ページ上部へ