普特莫斯维基 (Purtmars Wikipedia 📖)

“Chemdah 开发者文档:开始”的版本间的差异

来自Purtmars Wikipedia —— 普特莫斯维基
(Bkm016移动页面Chemdah APIChemdah 开发者文档,不留重定向)
(没有差异)

2021年4月27日 (二) 19:38的版本

开始

在你的项目中引入 Chemdah 依赖文件,但需要注意的是 Chemdah 完全由 Kotlin 编写,使用其他语言无法进行二次开发。

1 repositories {
2     maven { url = 'http://repo.ptms.ink/repository/maven-releases/' }
3 }
4 
5 dependencies {
6     implementation 'ink.ptms:Chemdah:SNAPSHOT 04 26 1'
7 }

ink.ptms.chemdah.api.ChemdahAPI

  1 /**
  2  * 获取玩家的已缓存的任务数据
  3  * 如玩家数据不存在则会直接抛出 NullPointerException 异常
  4  *
  5  * 玩家的任务数据在 PlayerJoinEvent 事件下异步加载,并在数据加载完成后唤起 PlayerEvents.Selected 事件
  6  */
  7 val Player.chemdahProfile: PlayerProfile
  8     @Throws(NullPointerException::class)
  9     get()
 10 
 11 /**
 12  * 玩家数据已经加载完成
 13  */
 14 val Player.isChemdahProfileLoaded: Boolean
 15     get()
 16 
 17 /**
 18  * 玩家数据是否尚未加载
 19  */
 20 val Player.nonChemdahProfileLoaded: Boolean
 21     get()
 22 
 23 /**
 24  * 获取玩家正在进行的会话
 25  */
 26 val Player.conversationSession: Session?
 27    get()
 28 
 29 /**
 30  * 触发玩家的 Trigger 类型任务
 31  */
 32 fun Player.callTrigger(value: String)
 33 
 34 /**
 35  * 获取对话资源
 36  */
 37 fun getConversation(id: String)
 38 
 39 /**
 40  * 获取对话模式
 41  */
 42 fun getConversationTheme(id: String)
 43 
 44 /**
 45  * 获取任务模板
 46  */
 47 fun getQuestTemplate(id: String)
 48 
 49 /**
 50  * 获取任务元数据
 51  */
 52 fun getQuestMeta(id: String)
 53 
 54 /**
 55  * 获取任务扩展(组件)
 56  */
 57 fun getQuestAddon(id: String)
 58 
 59 /**
 60  * 获取任务目标
 61  */
 62 fun getQuestObjective(id: String)
 63 
 64 /**
 65  * 获取插件功能模块
 66  * 如模块不存在则会直接抛出 NullPointerException 异常
 67  */
 68 @Throws(NullPointerException::class)
 69 fun <T : Module> getModule(kClass: KClass<T>)
 70 
 71 /**
 72  * 获取所有的全局变量
 73  * 该方法没有任何缓存逻辑,直接从数据库中读取
 74  */
 75 fun getVariables(): List<String>
 76 
 77 /**
 78  * 获取指定的全局变量
 79  * 该方法没有任何缓存逻辑,直接从数据库中读取
 80  */
 81 fun getVariable(key: String): String?
 82 
 83 /**
 84  * 设置指定的全局变量
 85  * 该方法没有任何缓存逻辑,直接写入数据库
 86  *
 87  * @param append 是否为追加模式(即自动类型推断)
 88  */
 89 fun setVariable(key: String, value: String?, append: Boolean = false)
 90 
 91 /**
 92  * 重载所有,顺序如下
 93  * 1. 重载中心配置文件
 94  * 2. 重载对话配置文件
 95  * 3. 重载对话
 96  * 4. 重载对话展示模式
 97  * 5. 重载任务
 98  * 6. 重载插件功能模块
 99  */
100 fun reloadAll()