Войти или зарегистрироваться

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

  • Автор темы Автор темы BeLkA
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

BeLkA

Старожил
Пользователь
Баллы
153
Тут такая штука нужна - чтобы в команде /help был мой текст. Какими способами это реализовать можно? Заранее спасибо.
 
Попробуй PlayerCommandPreprocessEvent.setMessage().
 
Вариант 1:
1. Регистриуете свою команду /help
2. Выдаете свой текст
Вариант 2:
1. Слушаете выполнение команд(эвент сами найдете)
2. Когда приходит событие, проверяете, была-ли посланная команда /help
3. Если была, то отменяете событие и отправляете пользователю свой текст
 
Вариант 1:
1. Регистриуете свою команду /help
2. Выдаете свой текст
Вариант 2:
1. Слушаете выполнение команд(эвент сами найдете)
2. Когда приходит событие, проверяете, была-ли посланная команда /help
3. Если была, то отменяете событие и отправляете пользователю свой текст
Он бы сам разобрался имея уже название события)
 
Вариант 1:
1. Регистриуете свою команду /help
2. Выдаете свой текст
Вариант 2:
1. Слушаете выполнение команд(эвент сами найдете)
2. Когда приходит событие, проверяете, была-ли посланная команда /help
3. Если была, то отменяете событие и отправляете пользователю свой текст
То неловкое чувство, когда ты использовал два варианта - а результата - 0. Ну что же, попробую еще раз
 
Второе не работает?
Код:
@EventHandler
public void onBlah(PlayerCommandPreprocessEvent e) {
    if (e.getMessage().startsWith("/help")) {
        e.setCancelled(true);
        e.getPlayer().sendMessage("loal");
    }
}
 
Последнее редактирование:
Код:
@EventHandler
public void onHelp(PlayerCommandPreprocessEvent e) {
    if(e.getMessage().equalsIgnoreCase("/help") || e.getMessage().equalsIgnoreCase("help")) {
        e.setCancelled(true);
        e.getPlayer().sendMessage("kfirgn45i");
    }
}

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

Вот что у меня - результата - 0
По идее код рабочий, может зарегистрировать листенер забыл?:D
 
По идее код рабочий, может зарегистрировать листенер забыл?:D
Листенер зареган. На зарубежном 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;
}
Сейчас попробую
Бло, не работает ;(
 
Листенер зареган. На зарубежном 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;
}
Сейчас попробую
Бло, не работает ;(
А мой вариант пробовал?
 
Листенер зареган. На зарубежном 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;
}
Сейчас попробую
Бло, не работает ;(
А кинь ка весь класс
 
А кинь ка весь класс
Ужасно извиняюсь, но в моем классе примерно 1500 строк.
А мой вариант пробовал?
Ага, пробовал. Не работает D: Я не понимаю, вы все еще с бубном танцуете, чтобы код работал? А у меня нет бубна ;(
 
Уже не надо. Проблема решена созданием нового проджекта. Тема закрыта, всем спасибо, особенно тому @cs475x , который помог на forums.bukkit.org
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх