ink.ptms.chemdah.api.ChemdahAPI (Chemdah 开发者文档)
来自Purtmars Wikipedia —— 普特莫斯维基
目录
- 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
- 对话相关
- 数据相关
- 任务相关
ink.ptms.chemdah.api.ChemdahAPI
相关方法如下
/**
* 获取玩家已缓存的任务数据
* 如玩家数据不存在则会直接抛出 NullPointerException 异常
*
* 玩家的任务数据在 PlayerJoinEvent 事件下异步加载,并在数据加载完成后唤起 PlayerEvents.Selected 事件
*/
val Player.chemdahProfile: PlayerProfile
@Throws(NullPointerException::class)
get()
/**
* 玩家数据已经加载完成
*/
val Player.isChemdahProfileLoaded: Boolean
get()
/**
* 玩家数据是否尚未加载
*/
val Player.nonChemdahProfileLoaded: Boolean
get()
/**
* 获取玩家正在进行的会话
*/
val Player.conversationSession: Session?
get()
/**
* 触发玩家的 Trigger 类型任务
*/
fun Player.callTrigger(value: String)
/**
* 获取对话资源
*/
fun getConversation(id: String)
/**
* 获取对话模式
*/
fun getConversationTheme(id: String)
/**
* 获取任务模板
*/
fun getQuestTemplate(id: String)
/**
* 获取任务元数据
*/
fun getQuestMeta(id: String)
/**
* 获取任务扩展(组件)
*/
fun getQuestAddon(id: String)
/**
* 获取任务目标
*/
fun getQuestObjective(id: String)
/**
* 获取插件功能模块
* 如模块不存在则会直接抛出 NullPointerException 异常
*/
@Throws(NullPointerException::class)
fun getModule(kClass: KClass)
/**
* 获取所有的全局变量
* 该方法没有任何缓存逻辑,直接从数据库中读取
*/
fun getVariables(): List
/**
* 获取指定的全局变量
* 该方法没有任何缓存逻辑,直接从数据库中读取
*/
fun getVariable(key: String): String?
/**
* 设置指定的全局变量
* 该方法没有任何缓存逻辑,直接写入数据库
*
* @param append 是否为追加模式(即自动类型推断)
*/
fun setVariable(key: String, value: String?, append: Boolean = false)
/**
* 重载所有,顺序如下
* 1. 重载中心配置文件
* 2. 重载对话配置文件
* 3. 重载对话
* 4. 重载对话展示模式
* 5. 重载任务
* 6. 重载插件功能模块
*/
fun reloadAll()