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

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

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

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

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

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

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

    Баллы:
    123
  4. serega6531

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Баллы:
    173
    Skype:
    shkurovs
    Ну ладно.
     
  13. Автор темы
    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
     
  14. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    По идее код рабочий, может зарегистрировать листенер забыл?:D
     
  15. Автор темы
    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;
    }
    Сейчас попробую[DOUBLEPOST=1403028320,1403028082][/DOUBLEPOST]Бло, не работает ;(
     
  16. aceJKE

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

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

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

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

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

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

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

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

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

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

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