Skip to content

开发接口

提示

开发接口可在售后群下载,如果你是开发者,欢迎联系作者 15568820 进行交流咨询

API

kotlin
package me.yeezhi.combatview.api

object CombatAPI {

    /**
     * 伤害特效接口
     */
    lateinit var DamageFxAPI: IDamageFxAPI

    /**
     * 战斗信息接口
     */
    lateinit var CombatStatsAPI: ICombatStatsAPI

    /**
     * 组队接口
     */
    lateinit var CombatTeamAPI: ICombatTeamAPI

    /**
     * 字体接口
     */
    lateinit var FontAPI: IFontAPI

    /**
     * 临时属性接口
     */
    lateinit var TempAttributeAPI: ITempAttributeAPI

    /**
     * 自动攻击接口
     */
    lateinit var AutoAttackAPI: IAutoAttackAPI
}
kotlin
package me.yeezhi.combatview.api

import org.bukkit.entity.Entity
import org.bukkit.entity.LivingEntity
import org.bukkit.entity.Player

interface IDamageFxAPI {
    /**
     * 发送伤害特效
     * @param damager 攻击者
     * @param entity 实体
     * @param damage 伤害
     *
     */
    fun sendDamageFx(damager: Entity, entity: Entity, damage: Double)

    /**
     * 发送伤害特效
     * @param damager 攻击者
     * @param entity 实体
     * @param text 内容
     */
    fun sendDamageFx(damager: Entity, entity: Entity, text: String)

    /**
     * 发送伤害特效
     * @param damager 攻击者
     * @param entity 实体
     * @param type 类型
     * @param damage 伤害
     */
    fun sendDamageFx(damager: Entity, entity: Entity, type: String, damage: Double)

    /**
     * 发送伤害特效
     * @param damager 攻击者
     * @param entity 实体
     * @param text 内容
     */
    fun sendDamageFx(damager: Entity, entity: Entity, type: String, text: String)
}
kotlin
package me.yeezhi.combatview.api

import me.yeezhi.combatview.api.combatstats.CombatStats
import org.bukkit.entity.Entity
import org.bukkit.entity.Player

interface ICombatStatsAPI {
    /**
     * 记录一次攻击并更新统计
     */
    fun recordAttack(attacker: Player, victim: Entity, damage: Double)

    /**
     * 获取玩家当前统计
     */
    fun getStats(player: Player): CombatStats

    /**
     * 累加自定义字段数值
     */
    fun addCustomStat(player: Player, key: String, delta: Double)

    /**
     * 获取自定义字段数值
     */
    fun getCustomStat(player: Player, key: String): Double

    /**
     * 设置自定义字段数值
     */
    fun setCustomStat(player: Player, key: String, value: Double)

    /**
     * 更新玩家战斗信息
     */
    fun Player.updateCombatStatsData()

    /**
     * 更新玩家队伍战斗信息,一般不用手动调用
     */
    fun Player.updateTeamStatsData()
    fun Player.sendEmptyTeamStatsData()
}
kotlin
package me.yeezhi.combatview.api

import me.yeezhi.combatview.api.entity.config.FontConfig
import org.bukkit.entity.Entity
import org.bukkit.entity.Player

interface IFontAPI {
    /**
     * 获取默认字体
     */
    fun getDefaultFontConfig(): FontConfig

    /**
     * 获取玩家当前字体配置
     */
    fun Entity.getFontConfig(): FontConfig

    /**
     * 获取玩家当前字体属性
     */
    fun Player.getFontAttribute(): List<String>

    /**
     * 玩家切换字体
     */
    fun Player.changeFont(fontId: String): FontConfig

    /**
     * 切换玩家字体开关
     */
    fun Player.setFontEnabled(enable: Boolean): FontConfig

    /**
     * 获取玩家已拥有的字体列表(包含默认字体)
     */
    fun Player.getFonts(): MutableSet<String>

    /**
     * 获取玩家字体开关状态
     */
    fun Player.isFontEnabled(): Boolean

    /**
     * 根据类型与数值,返回映射后的伤害文本
     */
    fun formatDamageText(fontConfig: FontConfig, type: String, damage: Double): String
}

Event

提示

由于 YeePlugins 在 onEnable 阶段执行云端加载,若需注册监听,请在插件加载完成后通过循环检测再进行注册

暂无