All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.nukkit.scoreboard.displayer.IScoreboardViewer Maven / Gradle / Ivy

There is a newer version: 1.20.40-r1
Show newest version
package cn.nukkit.scoreboard.displayer;

import cn.nukkit.api.PowerNukkitXOnly;
import cn.nukkit.api.Since;
import cn.nukkit.scoreboard.data.DisplaySlot;
import cn.nukkit.scoreboard.scoreboard.IScoreboard;
import cn.nukkit.scoreboard.scoreboard.IScoreboardLine;

/**
 * 计分板观察者 (eg: Player)
 * 此接口用于抽象服务端到客户端的协议层方法
 */
@PowerNukkitXOnly
@Since("1.19.30-r1")
public interface IScoreboardViewer {
    /**
     * 在指定槽位显示计分板
     * @param scoreboard 目标计分板
     * @param slot 目标槽位
     */
    void display(IScoreboard scoreboard, DisplaySlot slot);

    /**
     * 清除指定槽位的显示内容
     * @param slot 目标槽位
     */
    void hide(DisplaySlot slot);

    /**
     * 通知观察者计分板已删除(若计分板在任意显示槽位中,则会一并清除槽位)
     * @param scoreboard 目标计分板
     */
    void removeScoreboard(IScoreboard scoreboard);

    /**
     * 通知观察者指定计分板上的指定行已删除
     * @param line 目标行
     */
    void removeLine(IScoreboardLine line);

    /**
     * 向观察者发送指定行的新分数
     * @param line 目标行
     */
    void updateScore(IScoreboardLine line);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy