Skip to content
iPlugin

全息显示提供商

用于管理与显示全息文本相关的操作

全息显示提供商允许开发者根据需求定制全息显示效果

提供全息文本的创建、更新、销毁等功能

接口

/**
 * 全息显示提供商接口
 */
interface HologramProvider {

    // 全息提供商的唯一标识符
    val id: String

    /**
     * 创建全息显示
     *
     * @param player 玩家
     * @param id 全息显示的标识符
     * @param location 全息显示的位置
     * @param lines 全息显示的文本列表
     */
    fun createHologram(player: Player, id: String, location: Location, lines: List<String>)

    /**
     * 创建空文本全息显示
     *
     * @param player 玩家
     * @param id 全息显示的标识符
     * @param location 全息显示的位置
     */
    fun createHologram(player: Player, id: String, location: Location)

    /**
     * 删除全息显示
     *
     * @param player 玩家
     * @param id 全息显示的标识符
     */
    fun deleteHologram(player: Player, id: String)

    /**
     * 将全息显示移动到新的位置
     *
     * @param player 玩家
     * @param id 全息显示的标识符
     * @param location 新的位置
     */
    fun teleportHologram(player: Player, id: String, location: Location)

    /**
     * 更新全息显示的文本内容
     *
     * @param player 玩家
     * @param id 全息显示的标识符
     * @param lines 新的文本列表
     */
    fun updateHologram(player: Player, id: String, lines: List<String>)

    /**
     * 检查玩家是否拥有指定标识符的全息显示
     *
     * @param player 玩家
     * @param id 全息显示的标识符
     *
     * @return 如果玩家拥有该全息显示,则返回true,否则返回false
     */
    fun hasHologram(player: Player, id: String): Boolean
}

注册提供商

// 创建一个全息提供商实例
val hologramProvider = MyHologramProvider()

// 注册全息提供商
HologramRegistry.registerProvider(hologramProvider)