地牢占位符

该功能从 1.0.8 版本开始

地牢占位符是干什么的?

类似 PlaceholderAPI 的占位符功能,但不同的是 PlaceholderAPI 只能在 部分脚本上使用 地牢占位符 可以在每一行脚本上使用,例如 <mob:kill-amount *小白> 可以获取当前地牢内玩家已击杀小白怪物的数量,这是 PlaceholderAPI 无法做到的

地牢占位符格式

占位符的格式为 <头:参数1 *参数2 *...> 参数之间的间隔用 ' *' 这个空格一定要加不可忽略

@SELF 注意

一般支持 @SELF 类型的占位符,如果用 @SELF 通常数据来源于触发者自身,例如 Item 用 @SELF 时是检测触发者背包的物品,用 @SYSTEM 时是检测整个地牢内的玩家背包

开发者-怎么注册地牢占位符?

实现 DungeonPlaceholder 接口即可注册

interface DungeonPlaceholder : DungeonComponent {

    /**
     * 占位符头
     */
    val head: String

    /**
     * 所属插件
     */
    val plugin: String

    /**
     * 例子
     */
    val example: String

    /**
     * 支持的脚本类型列表,空则全部类型支持
     */
    fun getSupportType(): Array<ScriptType>? {
        return null
    }

    /**
     * [dungeon] 地牢对应地牢
     * [params] 参数,即 'hand:params' 某个 [ *值] 都为一参数值
     */
    fun onRequest(dungeon: Dungeon, params: Array<String>): String? {
        return null
    }

    /**
     * [dungeon] 地牢对应地牢
     * [params] 参数,即 'hand:params' 某个 [ *值] 都为一参数值
     * [trigger] 触发者
     */
    fun onRequest(dungeon: Dungeon, params: Array<String>, trigger: Entity?): String? {
        return this.onRequest(dungeon, params)
    }
}

最后更新于