Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Уровень. Игрока. Обычный уровень.Уровень. Откуда. Нам. Брать. Этот. Уровень
Опыт? Уровень MCMMO? ****а
Уровень. Игрока. Обычный уровень.
@EventHandler
public void onPlayerChat(PlayerChatEvent event){
event.getMessage().replace("%level", Integer.toString(event.getPlayer().getLevel()));
}
Спасибо.Код:@EventHandler public void onPlayerChat(PlayerChatEvent event){ event.getMessage().replace("%level", Integer.toString(event.getPlayer().getLevel())); }
P.S Можно вшить в плагин чата (EssentialsChat/ChatManager или другие)
Не работает почему-то. Вшил в свой плагин, в Чатменеджере вставляю тег - он перестанет изменять чат, как будто выключен. Если убрать тег из чатменеджера, то он опять работает корректно.Код:@EventHandler public void onPlayerChat(PlayerChatEvent event){ event.getMessage().replace("%level", Integer.toString(event.getPlayer().getLevel())); }
P.S Можно вшить в плагин чата (EssentialsChat/ChatManager или другие)
Ивент PlayerChatEvent является deprecated, т.е он не будет развиваться (не будут дорабатывать его разработчики).Спасибо.
Не работает почему-то. Вшил в свой плагин, в Чатменеджере вставляю тег - он перестанет изменять чат, как будто выключен. Если убрать тег из чатменеджера, то он опять работает корректно.
И еще эклипс показывает предупреждения. Так и должно быть?
![]()
Однако, почему не работает данный метод? Может его надо как-то под каждый плагин чата адаптировать?Ивент PlayerChatEvent является deprecated, т.е он не будет развиваться (не будут дорабатывать его разработчики).
event.setMessage ( тут замена );Однако, почему не работает данный метод? Может его надо как-то под каждый плагин чата адаптировать?
Я сразу так и подумал, сделал - но заменяет только сообщения в чате. Сам же тег не работает, если в чат менеджере ставить например.event.setMessage ( тут замена );
Не?
@EventHandler
public void onPlayerChat(PlayerChatEvent event){
String message = event.getMessage();
if (plugin.getConfig().getBoolean("chat.chattag") != false) {
message = event.getMessage().replace("%level%", Integer.toString(event.getPlayer().getLevel()));
event.setMessage(message);
}
}
Покажите конфиг Манагера с вписанным тэгомЕсли вписывать %level% в ЧатМенеджер, то формат чата сразу ломается и показывает как дефолт, как без чатменеджера, хотя он показывается включенным. Если удалит тег из Чатменеджера, то все становится нормальным.
Ты коряво вписал в него. Я видел там часть с заменой.Я сразу так и подумал, сделал - но заменяет только сообщения в чате. Сам же тег не работает, если в чат менеджере ставить например.
Код:@EventHandler public void onPlayerChat(PlayerChatEvent event){ String message = event.getMessage(); if (plugin.getConfig().getBoolean("chat.chattag") != false) { message = event.getMessage().replace("%level%", Integer.toString(event.getPlayer().getLevel())); event.setMessage(message); } }
Если вписывать %level% в ЧатМенеджер, то формат чата сразу ломается и показывает как дефолт, как без чатменеджера, хотя он показывается включенным. Если удалит тег из Чатменеджера, то все становится нормальным.
Посмотри исходники любого плагина который хукает чатменеджер и сразу поймешь как это реализовать.Я сразу так и подумал, сделал - но заменяет только сообщения в чате. Сам же тег не работает, если в чат менеджере ставить например.
Код:@EventHandler public void onPlayerChat(PlayerChatEvent event){ String message = event.getMessage(); if (plugin.getConfig().getBoolean("chat.chattag") != false) { message = event.getMessage().replace("%level%", Integer.toString(event.getPlayer().getLevel())); event.setMessage(message); } }
Если вписывать %level% в ЧатМенеджер, то формат чата сразу ломается и показывает как дефолт, как без чатменеджера, хотя он показывается включенным. Если удалит тег из Чатменеджера, то все становится нормальным.
Покажите конфиг Манагера с вписанным тэгом
enable: true
message-format: '!clantag![%level%] %prefix%player%suffix&d: &f%message'
global-message-format: '!clantag![%level%] %prefix%player%suffix&d: &f%message'
ranged-mode: false
chat-range: 100.0
Смотри как в ChatManager'e сделано и сделай также.Код:enable: true message-format: '!clantag![%level%] %prefix%player%suffix&d: &f%message' global-message-format: '!clantag![%level%] %prefix%player%suffix&d: &f%message' ranged-mode: false chat-range: 100.0
@EventHandler
public void onPlayerChat(AsyncPlayerChatEvent event) {
if (event.isCancelled()) {
return;
}
Player player = event.getPlayer();
String worldName = player.getWorld().getName();
PermissionUser user = PermissionsEx.getPermissionManager().getUser(player);
if (user == null) {
return;
}
String message = user.getOption(this.optionMessageFormat, worldName, messageFormat);
boolean localChat = user.getOptionBoolean(this.optionRangedMode, worldName, rangedMode);
String chatMessage = event.getMessage();
if (chatMessage.startsWith("!") && user.has("chatmanager.chat.global", worldName)) {
localChat = false;
chatMessage = chatMessage.substring(1);
message = user.getOption(this.optionGlobalMessageFormat, worldName, globalMessageFormat);
}
message = this.translateColorCodes(message);
chatMessage = this.translateColorCodes(chatMessage, user, worldName);
message = message.replace("%message", "%2$s").replace("%displayname", "%1$s");
message = this.replacePlayerPlaceholders(player, message);
message = this.replaceTime(message);
message = message.replace("%level", Integer.toString(event.getPlayer().getLevel()));
event.setFormat(message);
event.setMessage(chatMessage);
if (localChat) {
double range = user.getOptionDouble(this.optionChatRange, worldName, chatRange);
event.getRecipients().clear();
event.getRecipients().addAll(this.getLocalRecipients(player, message, range));
}
}
Тут пекс подключать, много лишнего кода и еще задавать переменные сверху... такое не тру :cКод:@EventHandler public void onPlayerChat(AsyncPlayerChatEvent event) { if (event.isCancelled()) { return; } Player player = event.getPlayer(); String worldName = player.getWorld().getName(); PermissionUser user = PermissionsEx.getPermissionManager().getUser(player); if (user == null) { return; } String message = user.getOption(this.optionMessageFormat, worldName, messageFormat); boolean localChat = user.getOptionBoolean(this.optionRangedMode, worldName, rangedMode); String chatMessage = event.getMessage(); if (chatMessage.startsWith("!") && user.has("chatmanager.chat.global", worldName)) { localChat = false; chatMessage = chatMessage.substring(1); message = user.getOption(this.optionGlobalMessageFormat, worldName, globalMessageFormat); } message = this.translateColorCodes(message); chatMessage = this.translateColorCodes(chatMessage, user, worldName); message = message.replace("%message", "%2$s").replace("%displayname", "%1$s"); message = this.replacePlayerPlaceholders(player, message); message = this.replaceTime(message); message = message.replace("%level", Integer.toString(event.getPlayer().getLevel())); event.setFormat(message); event.setMessage(chatMessage); if (localChat) { double range = user.getOptionDouble(this.optionChatRange, worldName, chatRange); event.getRecipients().clear(); event.getRecipients().addAll(this.getLocalRecipients(player, message, range)); } }
Хз, должно работать
Это часть кода ChatManager'a, я думал тебе в него вшить нужно.Тут пекс подключать, много лишнего кода и еще задавать переменные сверху... такое не тру :c
Я хотел отдельным плагином.Это часть кода ChatManager'a, я думал тебе в него вшить нужно.
Lol, вшейЯ хотел отдельным плагином.
Именно в этом коде много лишнего, я пытался вшить убрав лишнее, но что-то как-то не особо вышло 🙂Lol, вшей