Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Запросы на разработку плагинов", создана пользователем Krutius, 12 ноя 2016.

Статус темы:
Закрыта.
  1. Автор темы
    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
     
    Последнее редактирование: 17 ноя 2016
  2. Хостинг MineCraft
    <
  3. Автор темы
    Krutius

    Krutius Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    MrPencilBox
    Код:
    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ник
     
    Последнее редактирование: 13 ноя 2016
  4. BestKVanT

    BestKVanT Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    BestKVanT
    Разве для каждого плагина не свое сообщения о недостаче прав?
     
  5. _MediaNik_

    _MediaNik_ Активный участник Пользователь

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Где-то да, где-то нет.
     
  6. DonDays

    DonDays Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Ты еще скажи, чтобы он заменял сообщение "An intertal error occured while...". Ройся в ядре инклассом
     
  7. xDark

    xDark Активный участник Пользователь

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    java.lang.reflect.Field
     
  8. Автор темы
    Krutius

    Krutius Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    MrPencilBox
    Видел плагин, заменяющий сообщение для определённой команды, но мне нужно для всех. :cry:
    @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ник
     
  9. Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    А чего сразу я то?
    Я ток на словах крутой.

    @Dereku
     
  10. Автор темы
    Krutius

    Krutius Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    MrPencilBox
    Обновил 2 сообщение в теме
     
  11. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Peetooh.

    Какая ниб спасибка будет?
     
  12. Автор темы
    Krutius

    Krutius Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    MrPencilBox
    Такая подойдёт?(

    [​IMG]
     
  13. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Намальна [​IMG]
     
  14. Mr_RoboMan

    Mr_RoboMan Старожил Пользователь

    Баллы:
    123
    <3
     
  15. Автор темы
    Krutius

    Krutius Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    MrPencilBox
    [​IMG]
     
  16. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Смотри, есть два стула варианта изменения сообщения Unknown command. Type \"/help\" for help. :
    Первый - изменяем агентами нужный нам текст и в ус не дуем. Будет стоить денег и времени.
    Второй - проверять наличие команды, если нет - отправлять наше сообщение. Дешево и сердито.
    На какой сядешь? [​IMG]
     
  17. Автор темы
    Krutius

    Krutius Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    MrPencilBox
    На пики точёные
     
  18. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    А если точнее?
     
  19. Автор темы
    Krutius

    Krutius Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    MrPencilBox
    Второе :)
     
  20. 0x1EE7C0DE

    0x1EE7C0DE Участник Пользователь

    Баллы:
    36
    А рядом ещё стоит табуретка, на которой и пики, и прочее - перехватывать пакет с сообщением игроку, и менять его содержимое. Допустим, перехватывать это
    и заменять на свой текст, затем отправлять уже изменённое сообщение
     
  21. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Это уже не табуретка, это уже дверь.
     
Статус темы:
Закрыта.

Поделиться этой страницей