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

Помогите [РЕШЕНО] Кастомный текст в команде Bukkit'а

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

Статус темы:
Закрыта.
  1. Автор темы
    BeLkA

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

    Баллы:
    153
    Skype:
    FayStaff
    Тут такая штука нужна - чтобы в команде /help был мой текст. Какими способами это реализовать можно? Заранее спасибо.
     
  2. aceJKE

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

    Баллы:
    123
  3. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Попробуй PlayerCommandPreprocessEvent.setMessage().
     
  4. kirill2011s

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

    Баллы:
    103
    Вариант 1:
    1. Регистриуете свою команду /help
    2. Выдаете свой текст
    Вариант 2:
    1. Слушаете выполнение команд(эвент сами найдете)
    2. Когда приходит событие, проверяете, была-ли посланная команда /help
    3. Если была, то отменяете событие и отправляете пользователю свой текст
     
  5. aceJKE

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

    Баллы:
    123
    Он бы сам разобрался имея уже название события)
     
  6. Автор темы
    BeLkA

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

    Баллы:
    153
    Skype:
    FayStaff
    То неловкое чувство, когда ты использовал два варианта - а результата - 0. Ну что же, попробую еще раз
     
  7. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    А вообще, второе не может не работать.
     
  8. aceJKE

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

    Баллы:
    123
    Второе не работает?
    Код:
    @EventHandler
    public void onBlah(PlayerCommandPreprocessEvent e) {
        if (e.getMessage().startsWith("/help")) {
            e.setCancelled(true);
            e.getPlayer().sendMessage("loal");
        }
    }
     
    Последнее редактирование: 17 июн 2014
  9. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    В команде /help сообщение начинается с /help?
     
  10. aceJKE

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

    Баллы:
    123
    эм, да, у меня работает только со слешью перед командой
     
  11. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Ну ладно.
     
  12. Автор темы
    BeLkA

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

    Баллы:
    153
    Skype:
    FayStaff
    Код:
    @EventHandler
    public void onHelp(PlayerCommandPreprocessEvent e) {
        if(e.getMessage().equalsIgnoreCase("/help") || e.getMessage().equalsIgnoreCase("help")) {
            e.setCancelled(true);
            e.getPlayer().sendMessage("kfirgn45i");
        }
    }
    Вот что у меня - результата - 0
     
  13. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    По идее код рабочий, может зарегистрировать листенер забыл?:D
     
  14. Автор темы
    BeLkA

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

    Баллы:
    153
    Skype:
    FayStaff
    Листенер зареган. На зарубежном bukkit'e написали так -
    Код:
    @EventHandler
    public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent event) {
        if (event.getMessage().split(" ")[0].equalsIgnoreCase("/help")) {
            event.setCancelled(true);
            event.getPlayer().performCommand("customhelp");
        }
    }
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (command.getName().equalsIgnoreCase("customhelp")) {
            // New help info logic
        }
        return true;
    }
    Сейчас попробую
    Бло, не работает ;(
     
  15. aceJKE

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

    Баллы:
    123
    А мой вариант пробовал?
     
  16. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    А кинь ка весь класс
     
  17. Автор темы
    BeLkA

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

    Баллы:
    153
    Skype:
    FayStaff
    Ужасно извиняюсь, но в моем классе примерно 1500 строк.
    Ага, пробовал. Не работает D: Я не понимаю, вы все еще с бубном танцуете, чтобы код работал? А у меня нет бубна ;(
     
  18. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Отладочный вывод?
     
  19. Автор темы
    BeLkA

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

    Баллы:
    153
    Skype:
    FayStaff
    Уже не надо. Проблема решена созданием нового проджекта. Тема закрыта, всем спасибо, особенно тому @cs475x , который помог на forums.bukkit.org
     
Статус темы:
Закрыта.

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