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

Помогите Отображается только 1 аргумент сообщения в /msg

Тема в разделе "Разработка плагинов для новичков", создана пользователем Ebenazer2001, 28 янв 2022.

  1. Автор темы
    Ebenazer2001

    Ebenazer2001 Ньюби

    Баллы:
    1
    Здравствуйте, дорогие разработчики. Столкнулся с проблемой, что когда я написал команду /msg и зашёл проверить её на сервер, но когда пишу сообщения допустим: "Привет, как дела?", то пишет только "Привет". То есть пробел не учитывается. Как это исправить?

    На форуме я новичок, так что с некоторыми функциями не знаком, например как код добавить.
    Вот код команды:

    if(!sender.hasPermission("bukkitmain.msg")) {
    sender.sendMessage(BukkitMain.getInstance().getConfig().getString("gamemessages.nopermissions"));
    return;
    }

    if(args.length == 0){
    sender.sendMessage(BukkitMain.getInstance().getConfig().getString("formats.msg"));
    return;
    }

    String name = args[0];
    Player p = Bukkit.getPlayer(name);
    String msg = args[1];

    sender.sendMessage("Вы -> " + p.getName() + ": " + msg);
    p.sendMessage( sender.getName() + " -> Мне: " + msg);

    }
    }
     
  2. Хостинг MineCraft
    <
  3. Grom_Fake

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

    Баллы:
    66
    Имя в Minecraft:
    Grom_Fake
    на, надеюсь разберешься.
    Код:
    String mes = Joiner.on(' ').join(args);
                    if (mes.length() > 1 && mes.length() < 70){ //количество разрешенных символов
                        Bukkit.broadcastMessage(mes);// отправка сообщения
    }
    
     
  4. MishaNeYT

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

    Баллы:
    68
    Имя в Minecraft:
    MishaNeYT
    Объяснять сложно, поэтому скину часть своего кода:
    Код:
    public class Msg implements CommandExecutor {
    
        @Override
        public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
            if (!(sender instanceof Player)) {
                sender.sendMessage(ChatColor.RED + "Команда доступна только в игре!");
                return false;
            }
    
            if (args.length == 0) {
                sender.sendMessage(ChatColor.RED + "ⓘ Чат: Используйте /msg <игрок> <сообщение>");
                return false;
            }
    
            Player player = (Player) sender;
    
            if (!player.hasPermission("pwcore.msg")) {
                player.sendMessage(ChatColor.RED + "ⓘ Чат: У вас нет прав!");
                return false;
            }
    
            Player t = Bukkit.getPlayer(args[0]);
            StringBuilder str = new StringBuilder();
            for (int i = 1; i < args.length; i++)
                str.append(" ").append(args[i]);
            if (sender == t) {
                sender.sendMessage(ChatColor.RED + "ⓘ Чат: Вы не можете отправить сообщение себе!");
                return false;
            }
    
            if (args.length < 2) {
                player.sendMessage(ChatColor.RED + "ⓘ Чат: Используйте /msg <игрок> <сообщение...>");
                return false;
            }
    
            Player target = Bukkit.getPlayer(args[0]);
            if (target == null) {
                player.sendMessage(ChatColor.RED + "ⓘ Чат: Игрок не в сети!");
                return false;
            }
    
            String messageTo = ChatColor.translateAlternateColorCodes('&', Main.getInstance().getConfig().getString("Settings.Chat.MessageTo").replace("%from%", player.getName()).replace("%to%", target.getName()));
            String messageFrom = ChatColor.translateAlternateColorCodes('&', Main.getInstance().getConfig().getString("Settings.Chat.MessageFrom").replace("%from%", player.getName()).replace("%to%", target.getName()));
            StringBuilder argsList = new StringBuilder();
    
            for (int i = 1; i < args.length; i++)
                argsList.append(args[i]).append(" ");
            target.sendMessage(messageTo.replace("%message%", argsList.toString()));
            target.playSound(player.getLocation(), Sound.BLOCK_NOTE_PLING, 1.0F, 1.0F);
    
            player.sendMessage(messageFrom.replace("%message%", argsList.toString()));
            player.playSound(target.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1.0F, 1.0F);
            Main.msgList.put(target, player);
            return false;
        }
    }
     

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