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

Помогите Создание команд

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

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

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

    Баллы:
    66
    Имя в Minecraft:
    RudeyCoolLeet
    Привет всем! Когда я создаю какую-либо команду - она даже не собирается функционировать, а лишь выдаёт такую шляпу:
    upload_2016-10-9_14-41-13.png

    Создаю таким образом:

    Код:
        public boolean onCommand4(CommandSender sender, Command cmd, String label, String[] args) {
            if (cmd.getName().equalsIgnoreCase("gui")) {
                if (!(sender instanceof Player)) {
                    sender.sendMessage("Only players can use this command!");
                    return true;
                }
                Player p = (Player) sender;
               
                gui.openGUI(p);
            }
            return false;
        }
    
    Прошу помочь! Заранее спасибо :з
     
  2. Хостинг MineCraft
    <
  3. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Ты же от игрока прописывал команду?
     
  4. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Покажите мне, по какому тутору вы это пишете?
     
  5. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    return false добавляет eclipse
     
  6. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    weird feature
     
  7. Автор темы
    _Rudey_

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

    Баллы:
    66
    Имя в Minecraft:
    RudeyCoolLeet
    Если отправитель - не игрок, то...
    В другом случае - работает
    Однако всё равно такая шляпа
     
  8. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    return true сделай
     
  9. Автор темы
    _Rudey_

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

    Баллы:
    66
    Имя в Minecraft:
    RudeyCoolLeet
    Нет эффекта
     
  10. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    а покажи где ты это сделал
     
  11. Sonicxd2

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

    Баллы:
    76
    Вас название метода не смущает? "onCommand4"
     
  12. SLywnow

    SLywnow Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    _Boris3000_
    кстати да, замени onCommand4 на onCommand и все будет ок
     
  13. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
  14. Автор темы
    _Rudey_

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

    Баллы:
    66
    Имя в Minecraft:
    RudeyCoolLeet
    Это под каждую команду свой класс создавать?!
     
  15. Mr_RoboMan

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

    Баллы:
    123
    Зачем?
     
  16. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Желательно да. Но ты можешь воспользоваться говнокодерским методом - запихать все обработчики команд в один onCommand и радоваться жизни.
     
  17. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    В onEnable добавь строку
    getCommand("gui").setExecutor(new CommandHandler());
    Eclipse создаст класс CommandHandler за тебя, с методом внутри
     
  18. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Фу-фу-фу.
     
  19. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    В главном классе не обязательно.
     
  20. IcedwinterZ

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

    Баллы:
    76
    Имя в Minecraft:
    IcedwinterZ
    Чем тебе Eclipse не угодил?
     
  21. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ну а чтоб не все в одной каше было, делаем как то так.

    Код:
         public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
             if(cmd.getName().equalsIgnoreCase("one")) {
                 return CommandOne(sender, args);
             }
             if(cmd.getName().equalsIgnoreCase("two")) {
                 return CommandTwo(sender, args);
             }
             return false;
         }
       
         public boolean CommandOne(CommandSender sender, String[] args) {
            //что то делаем
            return true;
         }
       
         public boolean CommandTwo(CommandSender sender, String[] args) {
            //что то делаем
            return true;
         }
     

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