Skip to content

QueDP API 文档

版本: 1.1.1
更新: 2025-11-16

QueDP 提供完整的公共 API,方便其他插件进行集成和扩展。


快速开始

添加依赖

plugin.yml

yaml
depend: [QueDP]

基础示例

kotlin
import org.Shanque.quedp.api.QueDPAPI

class MyPlugin : JavaPlugin() {
    override fun onEnable() {
        // 检查 QueDP
        if (server.pluginManager.getPlugin("QueDP") == null) {
            logger.severe("QueDP not found!")
            return
        }
        
        // 使用 API
        logger.info("QueDP API: ${QueDPAPI.version()}")
        val templates = QueDPAPI.dungeons().allTemplates()
        logger.info("已加载 ${templates.size} 个地牢")
    }
}

API 模块

QueDP API 分为以下模块:

核心 API

  • 地牢管理 - 管理地牢模板和实例

    • 查询模板、创建副本、完成/失败副本
  • 世界管理 - 快速创建和管理世界

    • 从模板创建世界、注册外部模板、自动清理
  • 脚本系统 - 执行 JavaScript 脚本

    • 执行脚本、评估条件、触发动作

辅助 API

  • 队伍管理 - 管理玩家队伍

    • 创建队伍、邀请玩家、分配奖励
  • 玩家数据 - 玩家副本数据

    • 冷却时间、完成次数、最佳时间
  • 怪物管理 - 管理怪物组

    • 启动/停止怪物组、查询存活数量
  • 集成 - 第三方插件集成

    • MythicMobs 集成

常用场景

创建临时世界(小游戏)

kotlin
// 注册你的地图
QueDPAPI.worlds().registerTemplate(
    "my_arena", 
    File(dataFolder, "maps/arena"), 
    name
)

// 创建世界
val world = QueDPAPI.worlds().createWorld("my_arena")

// 使用完删除
QueDPAPI.worlds().deleteWorld(world)

创建副本实例

kotlin
val template = QueDPAPI.dungeons().template("dungeon_id")
val instance = QueDPAPI.dungeons().createAndStart(template, players)

执行脚本

kotlin
val scripts = listOf(
    "action.title('@所有玩家', '&6开始', '&7击败所有怪物');",
    "action.sound('@所有玩家', 'ENTITY_PLAYER_LEVELUP');"
)
QueDPAPI.scripts().execute(instance, scripts)

约定

  • 方法返回 null 表示失败或不存在
  • 集合方法返回空集合,不返回 null
  • 所有 API 都是线程安全的
  • 世界创建/玩家传送需在主线程执行

支持

基于 MIT 许可发布