普特莫斯维基 (Purtmars Wikipedia 📖)

Chemdah 开发者文档:组件

来自Purtmars Wikipedia —— 普特莫斯维基
Bkm016讨论 | 贡献2021年6月12日 (六) 20:28的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

目录

组件

所有任务组件均通过扩展方法获取。

自动化(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)