组件 (Chemdah 开发者文档)
目录
- Chemdah
- 开始
- 基本
- 事件
- ink.ptms.chemdah.api.event.collect.ConversationEvents
- ink.ptms.chemdah.api.event.collect.ObjectiveEvents
- ink.ptms.chemdah.api.event.collect.PlayerEvents
- ink.ptms.chemdah.api.event.collect.QuestEvents
- ink.ptms.chemdah.api.event.collect.TemplateEvents
- ink.ptms.chemdah.api.event.InferEntityHookEvent
- ink.ptms.chemdah.api.event.InferItemHookEvent
- ink.ptms.chemdah.api.event.PartyHookEvent
- 对话相关
- 数据相关
- 任务相关
组件
所有任务组件均通过扩展方法获取。
自动化(addon:automation)
在 ink.ptms.chemdah.core.quest.addon.AddonAutomation$Companion 中提供了以下扩展方法获取任务自动化组件。
/**
* 任务是否自动接受
*/
fun Template.isAutoAccept(): Boolean
/**
* 任务自动化计划
*/
fun Template.plan(): Plan?
/**
* 任务自动化组
*/
fun Template.planGroup(): String?
组队(addon:party)
在 ink.ptms.chemdah.core.quest.addon.AddonParty$Companion 中提供了以下扩展方法获取任务组队组件。
/**
* 获取可能存在的 Party 扩展
*/
fun QuestContainer.party(): AddonParty?
在 ink.ptms.chemdah.core.quest.addon.AddonParty 中提供了以下开放属性获取任务组队组件配置。
/**
* 是否分享这个任务
* 需要在任务下配置
*/
val share: Boolean
/**
* 是否只有队长可以给队员共享这个任务
* 需要在任务下配置
*/
val shareOnlyLeader: Boolean
/**
* 队员是否可以替你进行这个条目
* 需要在条目下配置
*/
val canContinue: Boolean
/**
* 只有处于队伍中,且队员人数达到需求才能进行该任务或条目
* 任务和条目均支持该配置
*/
val requireMembers: Boolean
进度(addon:stats)
在 ink.ptms.chemdah.core.quest.addon.AddonStats$Companion 中提供了以下扩展方法获取任务进度组件。
/**
* 获取可能存在的 Stats 扩展
*/
fun QuestContainer.stats()
/**
* 通过可能存在的 Stats 扩展展示条目进度
*/
fun QuestContainer.statsDisplay(profile: PlayerProfile): CompletableFuture
/**
* 获取条目进度
* 并通过可能存在的 Stats 扩展
*/
fun QuestContainer.getProgress(profile: PlayerProfile): CompletableFuture
/**
* 隐藏任务进度
*/
fun Quest.hiddenStats(profile: PlayerProfile)
/**
* 隐藏条目进度
*/
fun Task.hiddenStats(profile: PlayerProfile)
/**
* 刷新任务进度(仅持续显示的)
*/
fun Quest.refreshStatusAlwaysType(profile: PlayerProfile)
/**
* 刷新条目进度
*/
fun QuestContainer.refreshStats(profile: PlayerProfile)
追踪(addon:track)
在 ink.ptms.chemdah.core.quest.addon.AddonTrack$Companion 中提供了以下扩展方法获取任务追踪组件。
/**
* 任务允许被追踪
*/
fun QuestContainer.allowTracked(): Boolean
/**
* 获取可能存在的 Track 扩展
*/
fun QuestContainer.track(): AddonTrack?
/**
* 当前任务追踪
*/
var PlayerProfile.trackQuest: Template?
/**
* 删除任务追踪(Navigation)
*/
fun Player.cancelTrackingNavigation()
/**
* 创建或更新任务追踪(Navigation)
*/
fun Player.refreshTrackingNavigation()
/**
* 删除任务追踪(Scoreboard)
*/
fun Player.cancelTrackingScoreboard(quest: Template?)
/**
* 创建或刷新任务追踪(Scoreboard)
*/
fun Player.refreshTrackingScoreboard()
纵览(addon:ui)
在 ink.ptms.chemdah.core.quest.addon.AddonUI$Companion 中提供了以下扩展方法获取任务纵览组件。
/**
* 获取可能存在的 UI 扩展
*/
fun Template.ui(): AddonUI?
在 ink.ptms.chemdah.core.quest.addon.AddonUI 中提供了以下开放属性获取任务组队纵览配置。
/**
* 持续在 UI 中显示
* 启用后则可能显示为 can-start 或 cannot-start
*/
val visibleStart: Boolean
/**
* 任务完成后显示为 complete 已完成状态
*/
val visibleComplete: Boolean
/**
* 显示图标
*/
val icon: String
/**
* 显示介绍
*/
val description: List
超时(addon:timeout)
在 ink.ptms.chemdah.core.quest.addon.AddonTimeout$Companion 中提供了以下扩展方法判断任务超时。
fun QuestContainer.isTimeout(startTime: Long): Boolean
重启(addon:restart)
在 ink.ptms.chemdah.core.quest.addon.AddonRestart$Companion 中提供了以下扩展方法判断任务是否符合重置条件。
fun QuestContainer.canRestart(profile: PlayerProfile): CompletableFuture
管制(addon:control)
在 ink.ptms.chemdah.core.quest.addon.AddonControl$Companion 中提供了以下扩展方法获取任务限制。
fun Template.control(): ControlOperator
在 ink.ptms.chemdah.core.quest.addon.AddonControl$ControlOperator 中提供了以下开放方法用于检测任务限制或创建签名。
/**
* 任务是否被限制接受
* 并在 Result 中返回结果以及为何被限制
*/
fun check(profile: PlayerProfile): CompletableFuture
/**
* 创建签名
*/
fun signature(profile: PlayerProfile, type: Trigger = Trigger.COMPLETE)