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

Помогите Префиксы над никами игрока.

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

  1. Автор темы
    Kotlar

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

    Баллы:
    66
    Имя в Minecraft:
    kirilka1996
    Доброго времени суток! Столкнулся с такой проблемой: пишу плагин для сервера на префиксы в таб листе и над головой игрока. В принципе, суть мне понятна и ясна, но после того как я подключаюсь к серверу, возникает странная ошибка. Мне кажется, что дело в ядре сервера. Подскажите, пожалуйста, что делать с данной ситуацией?
    код:
    Код:
    @EventHandler
        public void OnJoin (PlayerJoinEvent e)
        {
            Player p = e.getPlayer();
            String nickname = p.getName();
            //Scoreboard nick = p.getScoreboard();
            //Team nick1 = nick.registerNewTeam("sunrise1");
            if(p.hasPermission("sunrise.nick.kotlar"))
            {
                p.setPlayerListName(ChatColor.translateAlternateColorCodes('&', getConfig().getString("kotlar.prefix") + "" + nickname + getConfig().getString("kotlar.suffix")));
                p.setCustomName(ChatColor.translateAlternateColorCodes('&', getConfig().getString("kotlar.prefix") + "" + nickname + getConfig().getString("kotlar.suffix")));
                //nick1.setPrefix(getConfig().getString("kotlar.prefix") + getConfig().getString("kotlar.suffix"));
                //nick1.addEntry(nickname);
            }
            else if(p.hasPermission("sunrise.nick.creator"))
            {
                p.setPlayerListName(ChatColor.translateAlternateColorCodes('&', getConfig().getString("creator.prefix") + "" + nickname + getConfig().getString("creator.suffix")));
                //nick1.setPrefix(getConfig().getString("creator.prefix") + getConfig().getString("creator.suffix"));
                //nick1.addEntry(nickname);
            }
            else if(p.hasPermission("sunrise.nick.adm"))
            {
                p.setPlayerListName(ChatColor.translateAlternateColorCodes('&', getConfig().getString("adm.prefix") + "" + nickname + getConfig().getString("adm.suffix")));
                //nick1.setPrefix(getConfig().getString("adm.prefix") + getConfig().getString("adm.suffix"));
                //nick1.addEntry(nickname);
            }
            else if(p.hasPermission("sunrise.nick.moder"))
            {
                p.setPlayerListName(ChatColor.translateAlternateColorCodes('&', getConfig().getString("moder.prefix") + "" + nickname + getConfig().getString("moder.suffix")));
                //nick1.setPrefix(getConfig().getString("moder.prefix") + getConfig().getString("moder.suffix"));
                //nick1.addEntry(nickname);
            }
            else if(p.hasPermission("sunrise.nick.creative"))
            {
                p.setPlayerListName(ChatColor.translateAlternateColorCodes('&', getConfig().getString("creative.prefix") + "" + nickname + getConfig().getString("creative.suffix")));
                //nick1.setPrefix(getConfig().getString("creative.prefix") + getConfig().getString("creative.suffix"));
                //nick1.addEntry(nickname);
            }
            else if(p.hasPermission("sunrise.nick.premium"))
            {
                p.setPlayerListName(ChatColor.translateAlternateColorCodes('&', getConfig().getString("premium.prefix") + "" + nickname + getConfig().getString("premium.suffix")));
                //nick1.setPrefix(getConfig().getString("premium.prefix") + getConfig().getString("premium.suffix"));
                //nick1.addEntry(nickname);
            }
            else if(p.hasPermission("sunrise.nick.vip"))
            {
                p.setPlayerListName(ChatColor.translateAlternateColorCodes('&', getConfig().getString("vip.prefix") + "" + nickname + getConfig().getString("vip.suffix")));
                //nick1.setPrefix(getConfig().getString("vip.prefix") + getConfig().getString("vip.suffix"));
                //nick1.addEntry(nickname);
            }
            else
            {
                p.setPlayerListName(ChatColor.WHITE + "(" + ChatColor.RED + "♥" + ChatColor.WHITE +")" + nickname);
                //nick1.setPrefix(ChatColor.WHITE + "(" + ChatColor.RED + "♥" + ChatColor.WHITE +")");
                //nick1.addEntry(nickname);
            }
           
        }
    Скрин с ошибкой при заходе на сервер:
    [​IMG]
    P.S: в коде "//" поставил временно дабы избежать ошибки выше!


    Заранее благодарен за помощь!
     
  2. Хостинг MineCraft
    <
  3. TheEfwio

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

    Баллы:
    76
    Skype:
    theefwioc
    Имя в Minecraft:
    TheEfwio
    Скрин не видно.
     
  4. Автор темы
    Kotlar

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

    Баллы:
    66
    Имя в Minecraft:
    kirilka1996
  5. TheEfwio

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

    Баллы:
    76
    Skype:
    theefwioc
    Имя в Minecraft:
    TheEfwio
    При входе игрока на сервер ты постоянно регистрируешь одну и ту же команду, но зачем? Если команды не удаляются после перезагрузки сервера.
    Ах да, префикс ты меняешь только для одной команды. Если зайдут два игрока, сначала модератор, потом VIP, то у обоих будет префикс VIP.

    Что-то не получается, сразу виновато ядро сервера. ;(
     
    Последнее редактирование: 10 июл 2016
  6. Автор темы
    Kotlar

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

    Баллы:
    66
    Имя в Minecraft:
    kirilka1996
    Тоесть мне надо зарегистрировать каждую команду для каждого типа игрока?
     
  7. TheEfwio

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

    Баллы:
    76
    Skype:
    theefwioc
    Имя в Minecraft:
    TheEfwio
    Как я понял, слишком длинный префикс. (Сам почти не работал с Scoreboard)
    Да. Желательно делать это в методе onEnable.

    [​IMG]
    Действительно, не забудь :)[DOUBLEPOST=1,1][/DOUBLEPOST]Мне бы ошибку из консоли.
     
  8. Автор темы
    Kotlar

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

    Баллы:
    66
    Имя в Minecraft:
    kirilka1996
    Код:
            Scoreboard nick = this.getServer().getPlayer(getName()).getScoreboard();
            Team nick1 = nick.registerNewTeam("sunrise1");
    Так?[DOUBLEPOST=1468121489,1468121455][/DOUBLEPOST]
    ахахах, я просто постоянно забываю чистить сборки:D
    Оки)
    а какой максимальный размер над ником игрока значение?(
     
  9. TheEfwio

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

    Баллы:
    76
    Skype:
    theefwioc
    Имя в Minecraft:
    TheEfwio
    На скрине написано [53 > 16], соответственно 16.
    Ты мне ошибку из консоли то скинь.
     
  10. Автор темы
    Kotlar

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

    Баллы:
    66
    Имя в Minecraft:
    kirilka1996
    У меня не дошло дело до ошибки. Когда подключаешься выскакивает ошибка :)
    Сейчас изменю префикс и скину ошибку :)[DOUBLEPOST=1468122285,1468121869][/DOUBLEPOST]
    Код:
    [06:41:31] [Server thread/ERROR]: Error occurred while enabling SunriseNickName v0.1 (Is it up to date?)
    java.lang.NullPointerException
        at sunr.NickName.Nick.onEnable(Nick.java:28) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[server.jar:git-Spigot-e4d4710-e1ebe52]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [server.jar:git-Spigot-e4d4710-e1ebe52]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [server.jar:git-Spigot-e4d4710-e1ebe52]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357) [server.jar:git-Spigot-e4d4710-e1ebe52]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317) [server.jar:git-Spigot-e4d4710-e1ebe52]
        at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414) [server.jar:git-Spigot-e4d4710-e1ebe52]
        at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378) [server.jar:git-Spigot-e4d4710-e1ebe52]
        at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333) [server.jar:git-Spigot-e4d4710-e1ebe52]
        at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263) [server.jar:git-Spigot-e4d4710-e1ebe52]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [server.jar:git-Spigot-e4d4710-e1ebe52]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_91]
    [DOUBLEPOST=1468122322][/DOUBLEPOST]
    Строка 28
    Код:
            nick = this.getServer().getPlayer(getName()).getScoreboard();
            nick1 = nick.registerNewTeam("sunrise1");
     
  11. TheEfwio

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

    Баллы:
    76
    Skype:
    theefwioc
    Имя в Minecraft:
    TheEfwio
    Замени на
    Код:
    ScoreboardManager manager = Bukkit.getScoreboardManager();
    Scoreboard board = manager.getNewScoreboard();
     
  12. Автор темы
    Kotlar

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

    Баллы:
    66
    Имя в Minecraft:
    kirilka1996
    Сделал. Ошибка пропала, Но ничего не изменилось((
     
  13. TheEfwio

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

    Баллы:
    76
    Skype:
    theefwioc
    Имя в Minecraft:
    TheEfwio
    Т.е. Ошибка в игре осталась?
     
  14. Автор темы
    Kotlar

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

    Баллы:
    66
    Имя в Minecraft:
    kirilka1996
    В таблисте ник меняется, над головой- нет
     
  15. DiamondDen

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

    Баллы:
    76
    Skype:
    danil_20034
    Имя в Minecraft:
    DiamondDen
    [​IMG]
    P.S. Знаю в слове Administrator ошибка.
     
  16. Автор темы
    Kotlar

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

    Баллы:
    66
    Имя в Minecraft:
    kirilka1996
    Это к чему сейчас вообще ?
     
  17. DiamondDen

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

    Баллы:
    76
    Skype:
    danil_20034
    Имя в Minecraft:
    DiamondDen
    Прост похвастался)))
     
  18. Автор темы
    Kotlar

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

    Баллы:
    66
    Имя в Minecraft:
    kirilka1996
    Хм... Понятно
     

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