Timeline

Developer API

Временная шкала предоставляет общедоступные помощники 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(long gameTime)
  • formatDate(long gameTime)
  • 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"
);
ГЛУБОКОЕ ПОГРУЖЕНИЕ: первая в мире идентичность

sourceId — это идентификатор, используемый для первого в мире отслеживания. Сохраняйте стабильность и уникальность концепции достижения.

Модель ошибки

Вызовы API являются защитными:

  • нулевые входные данные безопасно игнорируются, где это возможно
  • внутренние сбои регистрируются и обрабатываются, чтобы избежать сбоя модов звонящего
Использование на стороне сервера

Помощники по написанию хроник следует вызывать из контекста на стороне сервера (ServerPlayer).

Поддержать проект

Нравится эта вики и эти моды?

Любая поддержка помогает мне развивать функции, писать документацию и выпускать обновления.

Наверх