Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем This_is_GoOD, 29 июл 2016.

  1. CoolBoy

    CoolBoy Активный участник Пользователь

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
  2. Хостинг MineCraft
    <
  3. Автор темы
    This_is_GoOD

    This_is_GoOD Новичок Пользователь

    Баллы:
    21
  4. xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    что то типо этого?
    Код:
    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);
        }
    }
    
     
    Последнее редактирование: 1 авг 2016
  5. Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Что-то типа:)
     
  6. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Еще можно заюзать протоколлиб, там уже всю грязную работы с нмс за тебя сделали.
     
  7. Автор темы
    This_is_GoOD

    This_is_GoOD Новичок Пользователь

    Баллы:
    21
    Если есть мануал по работе с ним, то я буду только рад) Чем больше я узнаю, тем лучше)
     

Поделиться этой страницей