Skip to content

玩家数据 API

QueDPAPI.players() 提供玩家副本数据查询功能。


获取玩家数据

kotlin
val data: PlayerDungeonData = QueDPAPI.players().data(player)
println("体力: ${data.stamina}")

获取玩家状态

kotlin
val status: PlayerDungeonStatus = QueDPAPI.players().status(player)
println("实例: ${status.instance?.template?.name}")
println("队伍: ${status.party?.leader?.name}")

冷却时间

检查冷却

kotlin
if (QueDPAPI.players().isOnCooldown(player, "dungeon_id")) {
    val remaining = QueDPAPI.players().remainingCooldown(player, "dungeon_id")
    player.sendMessage("冷却剩余: ${remaining}秒")
} else {
    player.sendMessage("可以进入")
}

统计数据

完成次数

kotlin
val count: Int = QueDPAPI.players().completionCount(player, "dungeon_id")
player.sendMessage("你已完成 $count 次")

最佳时间

kotlin
val bestTime: Long = QueDPAPI.players().bestTime(player, "dungeon_id")
if (bestTime > 0) {
    player.sendMessage("最佳时间: ${bestTime}秒")
}

数据类

PlayerDungeonData

kotlin
data class PlayerDungeonData(
    val uuid: UUID,
    var stamina: Int,                              // 体力值
    val completionCount: MutableMap<String, Int>,  // 完成次数
    val bestTimes: MutableMap<String, Long>,       // 最佳时间
    val lastEnterTime: MutableMap<String, Long>    // 上次进入时间
)

PlayerDungeonStatus

kotlin
data class PlayerDungeonStatus(
    val playerId: UUID,
    val playerName: String,
    val instance: DungeonInstance?,  // 当前副本
    val party: Party?,               // 当前队伍
    val data: PlayerDungeonData      // 玩家数据
)

返回值说明

  • data() 总是返回有效对象(不会返回 null
  • 冷却/统计查询返回基础类型(Int, Long, Boolean

基于 MIT 许可发布