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

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

Discussion in 'Разработка плагинов для новичков' started by Kotlar, Jul 10, 2016.

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

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

    Trophy Points:
    66
    Имя в Minecraft:
    kirilka1996
    Доброго времени суток! Столкнулся с такой проблемой: пишу плагин для сервера на префиксы в таб листе и над головой игрока. В принципе, суть мне понятна и ясна, но после того как я подключаюсь к серверу, возникает странная ошибка. Мне кажется, что дело в ядре сервера. Подскажите, пожалуйста, что делать с данной ситуацией?
    код:
    Code:
    @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 Активный участник Пользователь

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

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

    Trophy Points:
    66
    Имя в Minecraft:
    kirilka1996
  5. TheEfwio

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

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

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

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    66
    Имя в Minecraft:
    kirilka1996
    У меня не дошло дело до ошибки. Когда подключаешься выскакивает ошибка :)
    Сейчас изменю префикс и скину ошибку :)[DOUBLEPOST=1468122285,1468121869][/DOUBLEPOST]
    Code:
    [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
    Code:
            nick = this.getServer().getPlayer(getName()).getScoreboard();
            nick1 = nick.registerNewTeam("sunrise1");
     
  11. TheEfwio

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Trophy Points:
    66
    Имя в Minecraft:
    kirilka1996
    Хм... Понятно
     

Share This Page