Ищу плагин Уровень игрока в чате

oleg57zls

Старожил
Пользователь
Баллы
173
Ник в Minecraft
Blayzer
Доброго времени суток тебе, читающий эту тему o/
Собственно возникла у меня потребность сделать уровень игрока в чате, перед ником. Сколько искал, ничего толкового не нашел. Знает кто подобный плагин?
 
Уровень. Откуда. Нам. Брать. Этот. Уровень
Опыт? Уровень MCMMO? ****а
 
Уровень. Игрока. Обычный уровень.
Код:
    @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 или другие)
Спасибо.
Код:
    @EventHandler
    public void onPlayerChat(PlayerChatEvent event){
      event.getMessage().replace("%level", Integer.toString(event.getPlayer().getLevel()));
    }

P.S Можно вшить в плагин чата (EssentialsChat/ChatManager или другие)
Не работает почему-то. Вшил в свой плагин, в Чатменеджере вставляю тег - он перестанет изменять чат, как будто выключен. Если убрать тег из чатменеджера, то он опять работает корректно.
И еще эклипс показывает предупреждения. Так и должно быть?
bf6a6972.png
 
Спасибо.

Не работает почему-то. Вшил в свой плагин, в Чатменеджере вставляю тег - он перестанет изменять чат, как будто выключен. Если убрать тег из чатменеджера, то он опять работает корректно.
И еще эклипс показывает предупреждения. Так и должно быть?
bf6a6972.png
Ивент PlayerChatEvent является deprecated, т.е он не будет развиваться (не будут дорабатывать его разработчики).
 
Ивент PlayerChatEvent является deprecated, т.е он не будет развиваться (не будут дорабатывать его разработчики).
Однако, почему не работает данный метод? Может его надо как-то под каждый плагин чата адаптировать?
 
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% в ЧатМенеджер, то формат чата сразу ломается и показывает как дефолт, как без чатменеджера, хотя он показывается включенным. Если удалит тег из Чатменеджера, то все становится нормальным.
 
Если вписывать %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
 
Код:
    @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));
        }
    }

Хз, должно работать
 
Код:
    @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
 
Назад
Верх Низ