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 中提供了以下扩展方法获取任务自动化组件。
1 /**
2 * 任务是否自动接受
3 */
4 fun Template.isAutoAccept(): Boolean
5
6 /**
7 * 任务自动化计划
8 */
9 fun Template.plan(): Plan?
10
11 /**
12 * 任务自动化组
13 */
14 fun Template.planGroup(): String?
组队(addon:party)
在 ink.ptms.chemdah.core.quest.addon.AddonParty$Companion 中提供了以下扩展方法获取任务组队组件。
1 /**
2 * 获取可能存在的 Party 扩展
3 */
4 fun QuestContainer.party(): AddonParty?
在 ink.ptms.chemdah.core.quest.addon.AddonParty 中提供了以下开放属性获取任务组队组件配置。
1 /**
2 * 是否分享这个任务
3 * 需要在任务下配置
4 */
5 val share: Boolean
6
7 /**
8 * 是否只有队长可以给队员共享这个任务
9 * 需要在任务下配置
10 */
11 val shareOnlyLeader: Boolean
12
13 /**
14 * 队员是否可以替你进行这个条目
15 * 需要在条目下配置
16 */
17 val canContinue: Boolean
18
19 /**
20 * 只有处于队伍中,且队员人数达到需求才能进行该任务或条目
21 * 任务和条目均支持该配置
22 */
23 val requireMembers: Boolean
进度(addon:stats)
在 ink.ptms.chemdah.core.quest.addon.AddonStats$Companion 中提供了以下扩展方法获取任务进度组件。
1 /**
2 * 获取可能存在的 Stats 扩展
3 */
4 fun QuestContainer.stats()
5
6 /**
7 * 通过可能存在的 Stats 扩展展示条目进度
8 */
9 fun QuestContainer.statsDisplay(profile: PlayerProfile): CompletableFuture<BossBar?>
10
11 /**
12 * 获取条目进度
13 * 并通过可能存在的 Stats 扩展
14 */
15 fun QuestContainer.getProgress(profile: PlayerProfile): CompletableFuture<Progress>
16
17 /**
18 * 隐藏任务进度
19 */
20 fun Quest.hiddenStats(profile: PlayerProfile)
21
22 /**
23 * 隐藏条目进度
24 */
25 fun Task.hiddenStats(profile: PlayerProfile)
26
27 /**
28 * 刷新任务进度(仅持续显示的)
29 */
30 fun Quest.refreshStatusAlwaysType(profile: PlayerProfile)
31
32 /**
33 * 刷新条目进度
34 */
35 fun QuestContainer.refreshStats(profile: PlayerProfile)
追踪(addon:track)
在 ink.ptms.chemdah.core.quest.addon.AddonTrack$Companion 中提供了以下扩展方法获取任务追踪组件。
1 /**
2 * 任务允许被追踪
3 */
4 fun QuestContainer.allowTracked(): Boolean
5
6 /**
7 * 获取可能存在的 Track 扩展
8 */
9 fun QuestContainer.track(): AddonTrack?
10
11 /**
12 * 当前任务追踪
13 */
14 var PlayerProfile.trackQuest: Template?
15
16 /**
17 * 删除任务追踪(Navigation)
18 */
19 fun Player.cancelTrackingNavigation()
20
21 /**
22 * 创建或更新任务追踪(Navigation)
23 */
24 fun Player.refreshTrackingNavigation()
25
26 /**
27 * 删除任务追踪(Scoreboard)
28 */
29 fun Player.cancelTrackingScoreboard(quest: Template?)
30
31 /**
32 * 创建或刷新任务追踪(Scoreboard)
33 */
34 fun Player.refreshTrackingScoreboard()
纵览(addon:ui)
在 ink.ptms.chemdah.core.quest.addon.AddonUI$Companion 中提供了以下扩展方法获取任务纵览组件。
1 /**
2 * 获取可能存在的 UI 扩展
3 */
4 fun Template.ui(): AddonUI?
在 ink.ptms.chemdah.core.quest.addon.AddonUI 中提供了以下开放属性获取任务组队纵览配置。
1 /**
2 * 持续在 UI 中显示
3 * 启用后则可能显示为 can-start 或 cannot-start
4 */
5 val visibleStart: Boolean
6
7 /**
8 * 任务完成后显示为 complete 已完成状态
9 */
10 val visibleComplete: Boolean
11
12 /**
13 * 显示图标
14 */
15 val icon: String
16
17 /**
18 * 显示介绍
19 */
20 val description: List<String>
超时(addon:timeout)
在 ink.ptms.chemdah.core.quest.addon.AddonTimeout$Companion 中提供了以下扩展方法判断任务超时。
1 fun QuestContainer.isTimeout(startTime: Long): Boolean
重启(addon:restart)
在 ink.ptms.chemdah.core.quest.addon.AddonRestart$Companion 中提供了以下扩展方法判断任务是否符合重置条件。
1 fun QuestContainer.canRestart(profile: PlayerProfile): CompletableFuture<Boolean>
管制(addon:control)
在 ink.ptms.chemdah.core.quest.addon.AddonControl$Companion 中提供了以下扩展方法获取任务限制。
1 fun Template.control(): ControlOperator
在 ink.ptms.chemdah.core.quest.addon.AddonControl$ControlOperator 中提供了以下开放方法用于检测任务限制或创建签名。
1 /**
2 * 任务是否被限制接受
3 * 并在 Result 中返回结果以及为何被限制
4 */
5 fun check(profile: PlayerProfile): CompletableFuture<Result>
6
7 /**
8 * 创建签名
9 */
10 fun signature(profile: PlayerProfile, type: Trigger = Trigger.COMPLETE)