Идея [РЕШЕНО] Кастомные сообщения

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

Krutius

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
MrPencilBox
https://dev.bukkit.org/bukkit-plugins/message-filter/

Категория плагина:
[CHAT]

Предлагаемое название: Custom Messages

Версия сервера: 1.10

Что я хочу:
  • Изменение сообщений из spigot.yml
  • Создание кастомного сообщения "Недостаточно прав"
  • Возможность использовать цветовые коды с &

Идеи для команд:

/команда - Показывает инфу о плагине
/команда reload - Перезагружает плагин

Идеи пермишенов:
перм.admin - Доступ к /команда reload

Когда мне это нужно?
upload_2016-11-12_20-39-28.png
 
Последнее редактирование:
Код:
package net.thegamingcraft.CustomPermissionMessages;
import java.util.regex.Pattern;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin implements Listener {
            
        @Override
        public void onEnable() {
                saveDefaultConfig();
                Bukkit.getServer().getPluginManager().registerEvents(this, this);
        }
    
        @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
        public void onChat(AsyncPlayerChatEvent e) {
                Player p = e.getPlayer();
            
                for (String cmd : getConfig().getConfigurationSection("").getKeys(false)) {
                        if (getConfig().getBoolean(cmd + ".ignoreArguments") == true) {
                                if (getConfig().getBoolean(cmd + ".ignoreCase") == true) {
                                        if (e.getMessage().toLowerCase().startsWith(cmd.toLowerCase())) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                } else {
                                        if (e.getMessage().equalsIgnoreCase(cmd)) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                }
                        } else {
                                if (getConfig().getBoolean(cmd + ".ignoreCase") == true) {
                                        if (e.getMessage().toLowerCase().startsWith(cmd.toLowerCase())) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                } else {
                                        if (e.getMessage().equalsIgnoreCase(cmd)) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                }
                        }
                }
        }
    
        @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
        public void onCommand(PlayerCommandPreprocessEvent e) {
                Player p = e.getPlayer();
            
                for (String cmd : getConfig().getConfigurationSection("").getKeys(false)) {
                        if (getConfig().getBoolean(cmd + ".ignoreArguments") == true) {
                                if (getConfig().getBoolean(cmd + ".ignoreCase") == true) {
                                        if (e.getMessage().toLowerCase().startsWith(cmd.toLowerCase())) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                } else {
                                        if (e.getMessage().equalsIgnoreCase(cmd)) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                }
                        } else {
                                if (getConfig().getBoolean(cmd + ".ignoreCase") == true) {
                                        if (e.getMessage().toLowerCase().startsWith(cmd.toLowerCase())) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                } else {
                                        if (e.getMessage().equalsIgnoreCase(cmd)) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                }
                        }
                }
        }
    
}

JARник
 
Последнее редактирование:
Разве для каждого плагина не свое сообщения о недостаче прав?
 
Категория плагина: [CHAT]

Предлагаемое название: Custom Messages

Версия сервера: 1.10

Что я хочу:
  • Изменение сообщений из spigot.yml
  • Создание кастомного сообщения "Недостаточно прав"
  • Возможность использовать цветовые коды с &

Идеи для команд:

/команда - Показывает инфу о плагине
/команда reload - Перезагружает плагин

Идеи пермишенов:
перм.admin - Доступ к /команда reload

Когда мне это нужно?
Посмотреть вложение 43702
Ты еще скажи, чтобы он заменял сообщение "An intertal error occured while...". Ройся в ядре инклассом
 
Разве для каждого плагина не свое сообщения о недостаче прав?
Видел плагин, заменяющий сообщение для определённой команды, но мне нужно для всех. 😢
@Mr_RoboMan

Код:
package net.thegamingcraft.CustomPermissionMessages;
import java.util.regex.Pattern;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin implements Listener {
             
        @Override
        public void onEnable() {
                saveDefaultConfig();
                Bukkit.getServer().getPluginManager().registerEvents(this, this);
        }
     
        @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
        public void onChat(AsyncPlayerChatEvent e) {
                Player p = e.getPlayer();
             
                for (String cmd : getConfig().getConfigurationSection("").getKeys(false)) {
                        if (getConfig().getBoolean(cmd + ".ignoreArguments") == true) {
                                if (getConfig().getBoolean(cmd + ".ignoreCase") == true) {
                                        if (e.getMessage().toLowerCase().startsWith(cmd.toLowerCase())) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                } else {
                                        if (e.getMessage().equalsIgnoreCase(cmd)) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                }
                        } else {
                                if (getConfig().getBoolean(cmd + ".ignoreCase") == true) {
                                        if (e.getMessage().toLowerCase().startsWith(cmd.toLowerCase())) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                } else {
                                        if (e.getMessage().equalsIgnoreCase(cmd)) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                }
                        }
                }
        }
     
        @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
        public void onCommand(PlayerCommandPreprocessEvent e) {
                Player p = e.getPlayer();
             
                for (String cmd : getConfig().getConfigurationSection("").getKeys(false)) {
                        if (getConfig().getBoolean(cmd + ".ignoreArguments") == true) {
                                if (getConfig().getBoolean(cmd + ".ignoreCase") == true) {
                                        if (e.getMessage().toLowerCase().startsWith(cmd.toLowerCase())) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                } else {
                                        if (e.getMessage().equalsIgnoreCase(cmd)) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                }
                        } else {
                                if (getConfig().getBoolean(cmd + ".ignoreCase") == true) {
                                        if (e.getMessage().toLowerCase().startsWith(cmd.toLowerCase())) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                } else {
                                        if (e.getMessage().equalsIgnoreCase(cmd)) {
                                                if (!p.hasPermission(getConfig().getString(cmd + ".permission"))) {
                                                        p.sendMessage(getConfig().getString(cmd + ".no_permission_message").replaceAll("&", "§").replaceAll(Pattern.quote("{PLAYER}"), p.getName()));
                                                        e.setCancelled(true);
                                                }
                                        }
                                }
                        }
                }
        }
     
}

JARник
 
Обновил 2 сообщение в теме
 
А чего сразу я то?
Я ток на словах крутой.

@Dereku
Peetooh.

Категория плагина: [CHAT]

Предлагаемое название: Custom Messages

Версия сервера: 1.10

Что я хочу:
  • Изменение сообщений из spigot.yml
  • Создание кастомного сообщения "Недостаточно прав"
  • Возможность использовать цветовые коды с &

Идеи для команд:

/команда - Показывает инфу о плагине
/команда reload - Перезагружает плагин

Идеи пермишенов:
перм.admin - Доступ к /команда reload

Когда мне это нужно?
Посмотреть вложение 43702
Какая ниб спасибка будет?
 
Peetooh.


Какая ниб спасибка будет?

Такая подойдёт?(

128.png
 
Смотри, есть два стула варианта изменения сообщения Unknown command. Type \"/help\" for help. :
Первый - изменяем агентами нужный нам текст и в ус не дуем. Будет стоить денег и времени.
Второй - проверять наличие команды, если нет - отправлять наше сообщение. Дешево и сердито.
На какой сядешь?
Kappa.png
 
Смотри, есть два стула варианта изменения сообщения Unknown command. Type \"/help\" for help. :
Первый - изменяем агентами нужный нам текст и в ус не дуем. Будет стоить денег и времени.
Второй - проверять наличие команды, если нет - отправлять наше сообщение. Дешево и сердито.
На какой сядешь?
Kappa.png
На пики точёные
 
Смотри, есть два стула варианта изменения сообщения Unknown command. Type \"/help\" for help. :
Первый - изменяем агентами нужный нам текст и в ус не дуем. Будет стоить денег и времени.
Второй - проверять наличие команды, если нет - отправлять наше сообщение. Дешево и сердито.
На какой сядешь?
Kappa.png
А рядом ещё стоит табуретка, на которой и пики, и прочее - перехватывать пакет с сообщением игроку, и менять его содержимое. Допустим, перехватывать это
Unknown command. Type \"/help\" for help
и заменять на свой текст, затем отправлять уже изменённое сообщение
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх