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

Помогите Вылетает ошибка в консоле

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

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

    Dadruid Новичок

    Баллы:
    6
    При запуске сервера в консоле вылетает огромная ошибка:[​IMG]
    Как я понял ругается на JoinListener иEnableClass:
    EnableClass
    Код:
    public class EnableClass extends JavaPlugin{
        JoinListener join = new JoinListener();
      
        @Override
        public void onEnable(){
            Bukkit.getPluginManager().registerEvents(join, this);
        }
    }
    JoinListener
    Код:
    public class JoinListener implements Listener{
        EnableClass enable = new EnableClass();
        FileConfiguration conf = enable.getConfig();
        BookOfClasses Book = new BookOfClasses();
      
        @EventHandler
        public void onJoin(PlayerJoinEvent e){
            Player p = e.getPlayer();
            if(!conf.contains(p.getName())){
                if(!p.getInventory().contains(Book.getBook())){
                    p.getInventory().addItem(Book.getBook());
                }
            }
        }
    }
    
    Eclipse нигде не ругается.
    В чем проблема?
     
  2. Хостинг MineCraft
    <
  3. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    Только настоящие идиоты пользуются командой reload.
     
  4. Автор темы
    Dadruid

    Dadruid Новичок

    Баллы:
    6
    Ну представим, остановим сервер и запустим его снова...
    И ровно ничего не изменилось.
     
  5. kris13

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

    Баллы:
    78
    1. Не используйте большие буквы в названии пакетов
    2. Не начинайте название переменной с большой буквы, с большой буквы именуют классы
    3. Указывайте модификаторы доступа
    4. По вашей проблеме - вы создаете новый объект плагина "EnableClass enable = new EnableClass();" баккит сообщает вам, что класс уже создан и плагин инициализирован, а вы инициализируете его повторно
     
  6. Hilgert

    Hilgert Старожил Пользователь

    Баллы:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
    Нельзя создавать главный класс повторно.
     
  7. Автор темы
    Dadruid

    Dadruid Новичок

    Баллы:
    6
    Да, пока форум не работал, я разобрался. Но возникает другой вопрос: как тогда получать конфиг и использовать его в других классах, а не только в том где есть метод onEnable()?
     
  8. Hilgert

    Hilgert Старожил Пользователь

    Баллы:
    123
    Skype:
    mixa2258
    Имя в Minecraft:
    Hilgert
    Держи костыль

    public static FileConfiguration config;
    public void onEnable(){
    config = getConfig();
    }

    public class CustomClass{
    public Configuration config;
    public CustomClass(){
    this.config = ГЛАВНЫЙ_КЛАСС.config;
    }
    }
     

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