1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Помощь с CommandExecutor

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

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

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

    Баллы:
    61
    Имя в Minecraft:
    Vizmar
    Требуется рабочий пример кода с CommandExecutor, с объяснением или комментариями если можно (гугл не помог)
     
  2. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Ну если тебе нужен пример кода с CommandExecutor, то стоит вначале задуматься об изучение самой явы
     
  3. Автор темы
    Vizmar

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

    Баллы:
    61
    Имя в Minecraft:
    Vizmar
    Команда которую надо выполнить у меня есть, в основном классе сейчас лежит, а мне надо ее в отдельный переложить для удобства работы. Проблема в том что я не знаю как именно это сделать
     
  4. alexandrage

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

    Баллы:
    173
    Код:
    package Example;
    
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    
    public class CommandListener implements CommandExecutor {
        Main main;
    
        public CommandListener(Main main) {
            this.main = main;
        }
    
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
            return false;
        }
    }
    Код:
    this.getCommand("example").setExecutor(new CommandListener(this));
     
  5. Автор темы
    Vizmar

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

    Баллы:
    61
    Имя в Minecraft:
    Vizmar
    2 блок в OnEnable?
     
  6. alexandrage

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

    Баллы:
    173
    + Только в onEnable() с маленькой буквы.
     
  7. Автор темы
    Vizmar

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

    Баллы:
    61
    Имя в Minecraft:
    Vizmar
    Благодарю, это я знаю. А в основном классе onCommand можно удалять?
     
  8. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Можно.
     
  9. Автор темы
    Vizmar

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

    Баллы:
    61
    Имя в Minecraft:
    Vizmar
    еще вопросы:
    тут Eclipse ругается что CommandListener нельзя привести к типу и предлагает заменить на CommandExecutor который он-же не может инициализировать, что делать?
    Код:
    this.getCommand("try").setExecutor(new CommandListener(this));

    Мне нужна ссылка на конфиг (как я его вызываю приложил), но так как класс выполняющий команду не является расширением JavaPlugin вызвать его нельзя. Вопрос, как его вызвать?
    Код:
    FileConfiguration config = this.getConfig();
     
  10. DeethzzCoder

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

    Баллы:
    76
    А у тебя CommandListener точно реализует CommandExecutor?

    Передай в конструкторе или статиком, логично же.
     
  11. alexandrage

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

    Баллы:
    173
    this.main.getConfig();
     
  12. Автор темы
    Vizmar

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

    Баллы:
    61
    Имя в Minecraft:
    Vizmar
    я не знаю, код был взят от человека выше
     
  13. TheZefirrkka

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

    Баллы:
    76
    Скинь класс
    CommandListener
     
  14. Автор темы
    Vizmar

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

    Баллы:
    61
    Имя в Minecraft:
    Vizmar
    у меня его нет, код был взят у alexandrage
     

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