Ошибка на Lore

  • Автор темы Автор темы BeLkA
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

BeLkA

Старожил
Пользователь
Баллы
153
Уважаемые форумчане! Пишу предмет с информацией, но тут на строчке вот этой -
infom.setLore(Arrays.asList(new String[] { "§6Ваше имя: §7§o" + Bukkit.getServer().getPlayer("").getName() , "§6Сейчас онлайн: §7§o" + Bukkit.getServer().getOnlinePlayers().length + "§7§o/" + Bukkit.getServer().getMaxPlayers() , "§6Ваш IP: §7§o" + Bukkit.getPlayer("").getAddress().getAddress().getHostAddress()}));
Выдает такую ошибку в консоль -
Код:
[16:53:51 ERROR]: Could not load 'plugins/Hub.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.ExceptionInInitializerError
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:137) ~[mcpc.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:314) ~[mcpc.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:236) [mcpc.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
    at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugins(CraftServer.java:355) [mcpc.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
    at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.java:135) [mcpc.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
    at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:437) [mcpc.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
    at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [mcpc.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
Caused by: java.lang.ExceptionInInitializerError
    at java.lang.Class.forName0(Native Method) ~[?:1.7.0_51]
    at java.lang.Class.forName(Class.java:270) ~[?:1.7.0_51]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:40) ~[mcpc.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[mcpc.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
    ... 6 more
Caused by: java.lang.NullPointerException
    at Main.<clinit>(Main.java:103) ~[?:?]
    at java.lang.Class.forName0(Native Method) ~[?:1.7.0_51]
    at java.lang.Class.forName(Class.java:270) ~[?:1.7.0_51]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:40) ~[mcpc.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[mcpc.jar:git-Spigot-1.7.2-R0.3-122-gb58e277]
    ... 6 more
 
Было бы странно, если бы Bukkit.getServer().getPlayer("") давало что-то, кроме null.
 
Без команды, без эвентов, просто ИтемСтак новый.
UPD + 1 проблема - как сделать таймер, с обратным отсчетом? 3 секунды, 2 секунды, 1 и т.д.
Это как?

В BukkitRunnable:
Код:
int count = 3

void run(){
    Bukkit.getPlayer("name").sendMessage("Осталось " + count);
    if(count == 0){
        Bukkit.getPlayer("name").sendMessage("Началось!");
        doSomething();
        //останавливаем Runnable
    }
}
Ставишь delay на 1 секунду.
 
Это как?

В BukkitRunnable:
Код:
int count = 3

void run(){
    Bukkit.getPlayer("name").sendMessage("Осталось " + count);
    if(count == 0){
        Bukkit.getPlayer("name").sendMessage("Началось!");
        doSomething();
        //останавливаем Runnable
    }
}
Ставишь delay на 1 секунду.
Наверное, я долбохлоп, так как не получается.
 
Что не получается?
Вот код
Код:
    private BukkitRunnable runab;
    private int count = 3;
   
    public boolean onCommand(CommandSender sender,Command cmd, String label,String[] args) {
    runab = new BukkitRunnable() {
    public void run(){
        Bukkit.getServer().broadcastMessage("Осталось " + count);
        if(count == 0) {
            Bukkit.getPlayer("name").sendMessage("Началось!");
            Bukkit.getServer().broadcastMessage("");
        }
    }
    };
    runab.cancel();
    return false;
    }
 
А у Lor'a какое максимальное число символов в одной строке?
Вот код
Код:
    private BukkitRunnable runab;
    private int count = 3;
 
    public boolean onCommand(CommandSender sender,Command cmd, String label,String[] args) {
    runab = new BukkitRunnable() {
    public void run(){
        Bukkit.getServer().broadcastMessage("Осталось " + count);
        if(count == 0) {
            Bukkit.getPlayer("name").sendMessage("Началось!");
            Bukkit.getServer().broadcastMessage("");
        }
    }
    };
    runab.cancel();
    return false;
    }
Так ты не указал время, когда начинать!
Ты не указал команду, при которой это выполняется.
Код:
      ItemStack st = new ItemStack(Material.AIR);
       ItemMeta met = st.getItemMeta();
       ArrayList<String> list = new ArrayList<String>();
       list.add(ChatColor.GOLD + "Ваш ник: " +ChatColor.GRAY + event.getPlayer().getName());
       list.add(ChatColor.GRAY + "Сейчас онлайн: " + Bukkit.getServer().getOnlinePlayers().length + "/" + Bukkit.getServer().getMaxPlayers());
       list.add(ChatColor.GOLD + "Ваш IP: "+ ChatColor.GRAY + event.getPlayer().getAddress());
       met.setLore(list);
       st.setItemMeta(met);

Должно работать.
 
Вот код
Код:
    private BukkitRunnable runab;
    private int count = 3;
  
    public boolean onCommand(CommandSender sender,Command cmd, String label,String[] args) {
    runab = new BukkitRunnable() {
    public void run(){
        Bukkit.getServer().broadcastMessage("Осталось " + count);
        if(count == 0) {
            Bukkit.getPlayer("name").sendMessage("Началось!");
            Bukkit.getServer().broadcastMessage("");
        }
    }
    };
    runab.cancel();
    return false;
    }
Я же написал, где останавливать Runnable.
 
serega6531, Остановить таймер? Тобишь, он выполняет действия и резко останавливается?
 
@konfyciu98 . Нет, не получится получить игрока из эвента, так как ИтемСтаки находятся у меня после метода онВключение, и не находятся нигде, я заношу их в инвентарь. 2. Да, одно действие, и таймер оборвется! 3. Я пробовал выключить, там где сказал @serega6531, но тщетно.
 
serega6531, и зачем его останавливать? Он же сам остановится после выполнения всех действий.
@konfyciu98 . Нет, не получится получить игрока из эвента, так как ИтемСтаки находятся у меня после метода онВключение, и не находятся нигде, я заношу их в инвентарь. 2. Да, одно действие, и таймер оборвется! 3. Я пробовал выключить, там где сказал @serega6531, но тщетно.
Пардон, но как тогда сервер узнает без эвента, в какой момент времени сделать действие? Можно в onEnable засунуть шедулер, который будет повторяться.
Дальше. Bukkit.getServer().getPlayer("") покажет инфу об игроке с ником "пусто".
 
serega6531, и зачем его останавливать? Он же сам остановится после выполнения всех действий.

Пардон, но как тогда сервер узнает без эвента, в какой момент времени сделать действие? Можно в onEnable засунуть шедулер, который будет повторяться.
Дальше. Bukkit.getServer().getPlayer("") покажет инфу об игроке с ником "пусто".
Все, с инвентарем и ИтемСтаками решил проблему, нашел, в какой эвент пихнуть. Теперь с таймером пытаться буду.
Я же написал, где останавливать Runnable.
serega6531, и зачем его останавливать? Он же сам остановится после выполнения всех действий.

Пардон, но как тогда сервер узнает без эвента, в какой момент времени сделать действие? Можно в onEnable засунуть шедулер, который будет повторяться.
Дальше. Bukkit.getServer().getPlayer("") покажет инфу об игроке с ником "пусто".
Семен Семеныч! Доперло! Всем спасибо!
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх