Developer API
时间线在 org.z2six.rpgtimeline.api.RPGTimelineApi 下公开公共 API 帮助程序。
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)调用编年史编写助手。
支持这个项目
喜欢这个 Wiki 和这些模组吗?
你的每一份支持都能帮助我持续开发新功能、完善文档并发布更新。