Помогите Создание борда через пакеты

что то типо этого?
JavaScript:
import org.bukkit.Bukkit;
import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
import org.bukkit.entity.Player;
import net.minecraft.server.v1_8_R3.Packet;
import net.minecraft.server.v1_8_R3.Packet206SetScoreboardObjective;
import net.minecraft.server.v1_8_R3.Packet207SetScoreboardScore;
import net.minecraft.server.v1_8_R3.Packet208SetScoreboardDisplayObjective;
import net.minecraft.server.v1_8_R3.Scoreboard;
import net.minecraft.server.v1_8_R3.ScoreboardBaseCriteria;
import net.minecraft.server.v1_8_R3.ScoreboardScore;
public class ScoreBoardManager {
    static String name = "Test";

    static Scoreboard sb = new Scoreboard();
 
    public static void sendPacket(Player player, Packet packet) {
        ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
    }
    public void CreateSidebar(Player p){
        if(sb.getObjective(name) == null){
            sb.registerObjective(name, new ScoreboardBaseCriteria(name));
        }
        Packet206SetScoreboardObjective packet = new Packet206SetScoreboardObjective(sb.getObjective(name), 0);
        Packet208SetScoreboardDisplayObjective display = new Packet208SetScoreboardDisplayObjective(1, sb.getObjective(name));
        sendPacket(p, packet);
        sendPacket(p, display);
        for(String score : getConfig().getStringList("Board")){
            String[] scores = score.split(";", 2);
            String scorename = scores[0];
            String scorevaule = scores[1];
            try{
                getLogger().info(scorename + " + "+ scorevaule);
                int vaule = ScoreboardItemsReplacer.getReplacedInt(scorevaule, p);
                ScoreboardScore scoreItem = sb.getPlayerScoreForObjective(scorename, sb.getObjective(name));
                scoreItem.setScore(vaule);
                Packet207SetScoreboardScore scoreItemP = new Packet207SetScoreboardScore(scoreItem, 0);
                sendPacket(p, scoreItemP);
            }catch(NumberFormatException e){
                getLogger().info(scorename + " + ! + "+ scorevaule);
            }
        }
    }
    public void UpdateScore(){
        Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(кек, new Runnable(){
            @Override
            public void run() {
                for (Player p : Bukkit.getOnlinePlayers()){
                    Packet206SetScoreboardObjective packet = new Packet206SetScoreboardObjective(sb.getObjective(name), 2);
                    Packet208SetScoreboardDisplayObjective display = new Packet208SetScoreboardDisplayObjective(1, sb.getObjective(name));
                    sendPacket(p, packet);
                    sendPacket(p, display);
                    for(String score : getConfig().getStringList("Board")){
                        String[] scores = score.split(";", 2);
                        String scorename = scores[0];
                        String scorevaule = scores[1];
                        try{
                        getLogger().info(scorename + " + "+ scorevaule);
                            int vaule = ScoreboardItemsReplacer.getReplacedInt(scorevaule, p);
                            ScoreboardScore scoreItem = sb.getPlayerScoreForObjective(scorename, sb.getObjective(name));
                            scoreItem.setScore(vaule);
                            Packet207SetScoreboardScore scoreItemP = new Packet207SetScoreboardScore(scoreItem, 0);
                            sendPacket(p, scoreItemP);
                        }catch(NumberFormatException e){
                           getLogger().info(scorename + " + ! + "+ scorevaule);
                        }
                    }
                }
            }
        }, 0L, 10*20L);
    }
}
 
Последнее редактирование:
что то типо этого?
JavaScript:
mport org.bukkit.Bukkit;
import org.bukkit.craftbukkit.v1_5_R3.entity.CraftPlayer;
import org.bukkit.entity.Player;
import cz.Sicka_gp.ConfigurableMessages.Settings.ScoreboardItemsReplacer;
import net.minecraft.server.v1_5_R3.Packet;
import net.minecraft.server.v1_5_R3.Packet206SetScoreboardObjective;
import net.minecraft.server.v1_5_R3.Packet207SetScoreboardScore;
import net.minecraft.server.v1_5_R3.Packet208SetScoreboardDisplayObjective;
import net.minecraft.server.v1_5_R3.Scoreboard;
import net.minecraft.server.v1_5_R3.ScoreboardBaseCriteria;
import net.minecraft.server.v1_5_R3.ScoreboardScore;
public class ScoreBoardManager {
    static String name = "Test";
 
    static Scoreboard sb = new Scoreboard();
    public ScoreBoardManager(ConfigurableMessages instance){
        this.plugin = instance;
    }
    public static void sendPacket(Player player, Packet packet) {
        ((CraftPlayer) player).getHandle().playerConnection.sendPacket(packet);
    }
    public void CreateSidebar(Player p){
        if(sb.getObjective(name) == null){
            sb.registerObjective(name, new ScoreboardBaseCriteria(name));
        }
        Packet206SetScoreboardObjective packet = new Packet206SetScoreboardObjective(sb.getObjective(name), 0);
        Packet208SetScoreboardDisplayObjective display = new Packet208SetScoreboardDisplayObjective(1, sb.getObjective(name));
        sendPacket(p, packet);
        sendPacket(p, display);
        for(String score : getConfig().getStringList("Board")){
            String[] scores = score.split(";", 2);
            String scorename = scores[0];
            String scorevaule = scores[1];
            try{
                getLogger()l.info(scorename + " + "+ scorevaule);
                int vaule = ScoreboardItemsReplacer.getReplacedInt(scorevaule, p);
                ScoreboardScore scoreItem = sb.getPlayerScoreForObjective(scorename, sb.getObjective(name));
                scoreItem.setScore(vaule);
                Packet207SetScoreboardScore scoreItemP = new Packet207SetScoreboardScore(scoreItem, 0);
                sendPacket(p, scoreItemP);
            }catch(NumberFormatException e){
                getLogger().info(scorename + " + ! + "+ scorevaule);
            }
        }
    }
    public void UpdateScore(){
        Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(ConfigurableMessages.getPlugin(), new Runnable(){
            @Override
            public void run() {
                for (Player p : Bukkit.getOnlinePlayers()){
                    Packet206SetScoreboardObjective packet = new Packet206SetScoreboardObjective(sb.getObjective(name), 2);
                    Packet208SetScoreboardDisplayObjective display = new Packet208SetScoreboardDisplayObjective(1, sb.getObjective(name));
                    sendPacket(p, packet);
                    sendPacket(p, display);
                    for(String score : getConfig().getStringList("Board")){
                        String[] scores = score.split(";", 2);
                        String scorename = scores[0];
                        String scorevaule = scores[1];
                        try{
                        getLogger().info(scorename + " + "+ scorevaule);
                            int vaule = ScoreboardItemsReplacer.getReplacedInt(scorevaule, p);
                            ScoreboardScore scoreItem = sb.getPlayerScoreForObjective(scorename, sb.getObjective(name));
                            scoreItem.setScore(vaule);
                            Packet207SetScoreboardScore scoreItemP = new Packet207SetScoreboardScore(scoreItem, 0);
                            sendPacket(p, scoreItemP);
                        }catch(NumberFormatException e){
                           getLogger().nfo(scorename + " + ! + "+ scorevaule);
                        }
                    }
                }
            }
        }, 0L, 10*20L);
    }
}
Что-то типа:)
 
Назад
Верх