- Баллы
- 61
Здравствуйте. Пробую писать плагин чат-бота, который отлавливает в чате ключевые слова, и выдаёт рандомно заранее прописанные ответы. Столкнулся с такой проблемой: при написании фразы, содержащей ключевое слово в чат, сначала выводится сообщение бота, затем моя фраза, на которую он должен среагировать. Хотелось бы наоборот, чтоб сначала выводилась фраза, содержащая ключевое слово, а затем ответ бота. Версия bukkit API bukkit-1.7.10-R0.1-20140817.175650-8
Подскажите пожалуйста, что я делаю не так?
Вот код листенера:
Подскажите пожалуйста, что я делаю не так?
Вот код листенера:
Код:
@EventHandler(priority= EventPriority.HIGH)
public boolean onPlayerChat(AsyncPlayerChatEvent event){
if (Main.BotAI) { // Если в конфиге стоит true
Player player = event.getPlayer();
String txt = event.getMessage();
String msg = txt.toLowerCase();
String botName = "" + (Object)ChatColor.DARK_RED + (Object)ChatColor.BOLD + "[BOT] Steve ";
String botMsgColor = "" + (Object)ChatColor.GOLD;
if (msg.contains("привет") || msg.contains("hi") || msg.contains("здарова") || msg.contains("добрый день")) {
Random randomGen = new Random();
int randomInt = randomGen.nextInt(10);
if (randomInt == 0) {
player.sendMessage(botName + botMsgColor + "Привет, рад тебя видеть...");
}
if (randomInt == 1) {
player.sendMessage(botName + botMsgColor + "Здарова, давненько тебя не было...");
}
if (randomInt == 4) {
player.sendMessage(botName + botMsgColor + "Добрый день...");
}
if (randomInt == 3) {
player.sendMessage(botName + botMsgColor + "Привет! Приятной игры...");
}
if (randomInt == 2) {
player.sendMessage(botName + botMsgColor + "Сколько лет, сколько зим! Привет!...");
}
if (randomInt == 5) {
player.sendMessage(botName + botMsgColor + "Какие люди... Добро пожаловать!");
}
return true;
}
return false;
}
return false;
}