Developer API
Timeline は、パブリック API ヘルパーを「org.z2six.rpgtimeline.api.RPGTimelineApi」で公開します。
TLDR
API を使用して次のことを行います。
- 現在のカレンダー日付の読み取り/フォーマット
- サーバー/個人メモを追加する
- ネイティブの進歩を記録する
- 外部の進歩のような出来事を記録する
日付ヘルパー
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)
プログラムによるメモの追加
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);記録的な進歩
ネイティブ アドバンス オブジェクト
RPGTimelineApi.recordAdvancement(player, advancementHolder);外部昇進的なイベント
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が気に入りましたか?
ご支援いただくことで、機能開発、ドキュメント整備、アップデート継続の助けになります。