Squeak.ru - шаблоны программирования

Плагин Bukkit для решения проблемы со строкой широковещательного сообщения

Я пытаюсь сделать небольшой плагин для своего сервера (CraftBukkit 1.8.8), чтобы транслировать на сервер простое пользовательское сообщение, когда кто-то делает пожертвование на нашем сайте.

Сам плагин по идее работает, за исключением одной проблемы. В сообщении не будет НИКАКИХ пробелов/пробелов, поэтому «привет, мир» транслируется как «привет, мир», а это не то, что мне нужно.

Я впервые пытаюсь программировать с использованием java или для плагинов bukkit в целом, поэтому я все еще ОЧЕНЬ новичок в этом. Большинство статей, которые я вижу о трансляциях, не касаются моей проблемы, поэтому любая помощь будет оценена по достоинству.

Код:

public final class DonateBroadcast extends JavaPlugin {

    public void onEnable() {

        System.out.println("DonateBroadcast enabled.");

    }

    public void onDisable() {

        System.out.println("DonateBroadcast disabled.");

    }

    public boolean onCommand(CommandSender sender, Command command, String cmd, String[] args) {
        if(cmd.equalsIgnoreCase("dbcast")) {
            if((sender instanceof Player)) {
                sender.sendMessage("This command must be executed by the console");
            } else {
                if(args.length == 0) {
                    System.out.println(ChatColor.DARK_RED + "You need to type in a message!");
                } else {
                    getServer().broadcastMessage(ChatColor.DARK_GRAY + "[" + ChatColor.GREEN + "WEB" + ChatColor.DARK_GRAY + "] " + ChatColor.GOLD + message(args));
                }

            }
        }
        return false;
    }

    public String message(String[] args) {
        StringBuilder builder = new StringBuilder();
        for(int i = 0; i < args.length; i++)
        builder.append(args[i]);
        builder.append(" ");
        return builder.toString();      
    }
}

Обратите внимание, что я закодировал это после учебника на YouTube.

14.06.2016

Ответы:


1

Ну, после того, как я поигрался, я, видимо, забыл добавить скобки для оператора for по адресу:

public String message(String[] args) {
        StringBuilder builder = new StringBuilder();
        for(int i = 0; i < args.length; i++)
        builder.append(args[i]);
        builder.append(" ");
        return builder.toString();      
    }

поэтому после изменения его на:

public String message(String[] args) {
        StringBuilder builder = new StringBuilder();
        for(int i = 0; i < args.length; i++)
        {
          builder.append(args[i]);
          builder.append(" ");
        }
        return builder.toString();      
    }

теперь работает без проблем.

14.06.2016

2

Судя по всему, builder.append(" ") у вас не работает, когда я делал свой плагин с помощью собственной команды /msg, у меня была такая же проблема. Но я нашел другой метод. Итак, вместо

public String message(String[] args) {
    StringBuilder builder = new StringBuilder();
    for(int i = 0; i < args.length; i++)
    builder.append(args[i]);
    builder.append(" ");
    return builder.toString();      
}

Использовать:

public String message(String[] args){
    String string = "";
    for (int i = 0; i != args.length; i++){
        msg += args[i] + " ";
    }
    return msg;
}

Надеюсь, это работает!

05.08.2017
Новые материалы

Угловая структура архитектуры
Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

«Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

Создайте API с помощью Python FastAPI
Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

Веселье с прокси-сервером JavaScript
Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...