“Chemdah 开发者文档:组件”的版本间的差异
(建立内容为“{{:Chemdah 开发者文档目录}} = 组件 = 所有任务组件均通过扩展方法获取。 <div style="margin-top: -18px"></div> == 自动化 == 在 '''ink.pt…”的新页面) |
|||
(未显示同一用户的8个中间版本) | |||
第2行: | 第2行: | ||
= 组件 = | = 组件 = | ||
所有任务组件均通过扩展方法获取。 | 所有任务组件均通过扩展方法获取。 | ||
+ | |||
<div style="margin-top: -18px"></div> | <div style="margin-top: -18px"></div> | ||
− | == | + | == 自动化(addon:automation) == |
− | 在 '''ink.ptms.chemdah.core.quest.addon. | + | 在 '''ink.ptms.chemdah.core.quest.addon.AddonAutomation$Companion''' 中提供了以下扩展方法获取任务自动化组件。 |
<syntaxhighlight lang="kotlin" line="line"> | <syntaxhighlight lang="kotlin" line="line"> | ||
/** | /** | ||
第22行: | 第23行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | == | + | <div style="margin-top: -18px"></div> |
− | 在 '''ink.ptms.chemdah.core.quest.addon. | + | == 组队(addon:party) == |
+ | 在 '''ink.ptms.chemdah.core.quest.addon.AddonParty$Companion''' 中提供了以下扩展方法获取任务组队组件。 | ||
<syntaxhighlight lang="kotlin" line="line"> | <syntaxhighlight lang="kotlin" line="line"> | ||
+ | /** | ||
+ | * 获取可能存在的 Party 扩展 | ||
+ | */ | ||
fun QuestContainer.party(): AddonParty? | fun QuestContainer.party(): AddonParty? | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | 在 '''ink.ptms.chemdah.core.quest.addon. | + | 在 '''ink.ptms.chemdah.core.quest.addon.AddonParty''' 中提供了以下开放属性获取任务组队组件配置。 |
<syntaxhighlight lang="kotlin" line="line"> | <syntaxhighlight lang="kotlin" line="line"> | ||
/** | /** | ||
第34行: | 第39行: | ||
* 需要在任务下配置 | * 需要在任务下配置 | ||
*/ | */ | ||
− | val share | + | val share: Boolean |
/** | /** | ||
第40行: | 第45行: | ||
* 需要在任务下配置 | * 需要在任务下配置 | ||
*/ | */ | ||
− | val shareOnlyLeader | + | val shareOnlyLeader: Boolean |
/** | /** | ||
第46行: | 第51行: | ||
* 需要在条目下配置 | * 需要在条目下配置 | ||
*/ | */ | ||
− | val canContinue = Boolean | + | val canContinue: Boolean |
+ | |||
+ | /** | ||
+ | * 只有处于队伍中,且队员人数达到需求才能进行该任务或条目 | ||
+ | * 任务和条目均支持该配置 | ||
+ | */ | ||
+ | val requireMembers: Boolean | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <div style="margin-top: -18px"></div> | ||
+ | |||
+ | == 进度(addon:stats) == | ||
+ | 在 '''ink.ptms.chemdah.core.quest.addon.AddonStats$Companion''' 中提供了以下扩展方法获取任务进度组件。 | ||
+ | <syntaxhighlight lang="kotlin" line="line"> | ||
+ | /** | ||
+ | * 获取可能存在的 Stats 扩展 | ||
+ | */ | ||
+ | fun QuestContainer.stats() | ||
+ | |||
+ | /** | ||
+ | * 通过可能存在的 Stats 扩展展示条目进度 | ||
+ | */ | ||
+ | fun QuestContainer.statsDisplay(profile: PlayerProfile): CompletableFuture<BossBar?> | ||
+ | |||
+ | /** | ||
+ | * 获取条目进度 | ||
+ | * 并通过可能存在的 Stats 扩展 | ||
+ | */ | ||
+ | fun QuestContainer.getProgress(profile: PlayerProfile): CompletableFuture<Progress> | ||
+ | |||
+ | /** | ||
+ | * 隐藏任务进度 | ||
+ | */ | ||
+ | fun Quest.hiddenStats(profile: PlayerProfile) | ||
+ | |||
+ | /** | ||
+ | * 隐藏条目进度 | ||
+ | */ | ||
+ | fun Task.hiddenStats(profile: PlayerProfile) | ||
+ | |||
+ | /** | ||
+ | * 刷新任务进度(仅持续显示的) | ||
+ | */ | ||
+ | fun Quest.refreshStatusAlwaysType(profile: PlayerProfile) | ||
+ | |||
+ | /** | ||
+ | * 刷新条目进度 | ||
+ | */ | ||
+ | fun QuestContainer.refreshStats(profile: PlayerProfile) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <div style="margin-top: -18px"></div> | ||
+ | |||
+ | == 追踪(addon:track) == | ||
+ | 在 '''ink.ptms.chemdah.core.quest.addon.AddonTrack$Companion''' 中提供了以下扩展方法获取任务追踪组件。 | ||
+ | <syntaxhighlight lang="kotlin" line="line"> | ||
+ | /** | ||
+ | * 任务允许被追踪 | ||
+ | */ | ||
+ | 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() | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <div style="margin-top: -18px"></div> | ||
+ | == 纵览(addon:ui)== | ||
+ | 在 '''ink.ptms.chemdah.core.quest.addon.AddonUI$Companion''' 中提供了以下扩展方法获取任务纵览组件。 | ||
+ | <syntaxhighlight lang="kotlin" line="line"> | ||
+ | /** | ||
+ | * 获取可能存在的 UI 扩展 | ||
+ | */ | ||
+ | fun Template.ui(): AddonUI? | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 在 '''ink.ptms.chemdah.core.quest.addon.AddonUI''' 中提供了以下开放属性获取任务组队纵览配置。 | ||
+ | <syntaxhighlight lang="kotlin" line="line"> | ||
+ | /** | ||
+ | * 持续在 UI 中显示 | ||
+ | * 启用后则可能显示为 can-start 或 cannot-start | ||
+ | */ | ||
+ | val visibleStart: Boolean | ||
+ | |||
+ | /** | ||
+ | * 任务完成后显示为 complete 已完成状态 | ||
+ | */ | ||
+ | val visibleComplete: Boolean | ||
+ | |||
+ | /** | ||
+ | * 显示图标 | ||
+ | */ | ||
+ | val icon: String | ||
+ | |||
+ | /** | ||
+ | * 显示介绍 | ||
+ | */ | ||
+ | val description: List<String> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <div style="margin-top: -18px"></div> | ||
+ | == 超时(addon:timeout) == | ||
+ | 在 ink.ptms.chemdah.core.quest.addon.AddonTimeout$Companion 中提供了以下扩展方法判断任务超时。 | ||
+ | <syntaxhighlight lang="kotlin" line="line"> | ||
+ | fun QuestContainer.isTimeout(startTime: Long): Boolean | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <div style="margin-top: -18px"></div> | ||
+ | == 重启(addon:restart) == | ||
+ | 在 ink.ptms.chemdah.core.quest.addon.AddonRestart$Companion 中提供了以下扩展方法判断任务是否符合重置条件。 | ||
+ | <syntaxhighlight lang="kotlin" line="line"> | ||
+ | fun QuestContainer.canRestart(profile: PlayerProfile): CompletableFuture<Boolean> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | <div style="margin-top: -18px"></div> | ||
+ | == 管制(addon:control) == | ||
+ | 在 ink.ptms.chemdah.core.quest.addon.AddonControl$Companion 中提供了以下扩展方法获取任务限制。 | ||
+ | <syntaxhighlight lang="kotlin" line="line"> | ||
+ | fun Template.control(): ControlOperator | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 在 ink.ptms.chemdah.core.quest.addon.AddonControl$ControlOperator 中提供了以下开放方法用于检测任务限制或创建签名。 | ||
+ | <syntaxhighlight lang="kotlin" line="line"> | ||
+ | /** | ||
+ | * 任务是否被限制接受 | ||
+ | * 并在 Result 中返回结果以及为何被限制 | ||
+ | */ | ||
+ | fun check(profile: PlayerProfile): CompletableFuture<Result> | ||
+ | |||
+ | /** | ||
+ | * 创建签名 | ||
+ | */ | ||
+ | fun signature(profile: PlayerProfile, type: Trigger = Trigger.COMPLETE) | ||
</syntaxhighlight> | </syntaxhighlight> |
2021年6月12日 (六) 20:28的最新版本
目录
- 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)