Developer API
Временная шкала предоставляет общедоступные помощники 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(long gameTime)formatDate(long gameTime)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"
);ГЛУБОКОЕ ПОГРУЖЕНИЕ: первая в мире идентичность
sourceId — это идентификатор, используемый для первого в мире отслеживания. Сохраняйте стабильность и уникальность концепции достижения.
Модель ошибки
Вызовы API являются защитными:
- нулевые входные данные безопасно игнорируются, где это возможно
- внутренние сбои регистрируются и обрабатываются, чтобы избежать сбоя модов звонящего
Помощники по написанию хроник следует вызывать из контекста на стороне сервера (ServerPlayer).
Поддержать проект
Нравится эта вики и эти моды?
Любая поддержка помогает мне развивать функции, писать документацию и выпускать обновления.