Иконка ресурса

[Bukkit API] - написание плагина, эвенты и команды

BuseSo

Разработчик
Пользователь
Вместо ChatColor.translateAlternateColorCodes(Char symbol, String message) можно указать String.replaceAll("&", "§") и тоже будет работать.


e.getPlayer().playSound(e.getPlayer().getLocation(), Sound.UI_TOAST_CHALLENGE_COMPLETE, 100.0F, 100.0F);

Это проиграет звук только самому админу. Чтобы проиграть звук на весь сервер, нужно использовать for:

[CODE lang="java" title="код"]for(Player pp : Bukkit.getOnlinePlayers()) {
pp.playSound(pp.getLocation(), Sound.UI_TOAST_CHALLENGE_COMPLETE, 100.0F, 100.0F);
}[/CODE]

На 5 пункте я ослеп. Нет проверки, введён ли этот нулевой аргумент или нет, он ловится сразу.
Java:
if(a.length < 1 || a.length > 1) {
    //Тыры пыры пальцы в дыры (Наш код)
}
В plugin.yml указывать разрешения не обязательно.
 

RemFex

Отключён
Пользователь
Прошу прощения, писал ночью
Авто объединение сообщений:

Кстати, как этот код можно переделать в for-each? Я долго думал, но решил использовать обычный for

Java:
 String message = ""; 
                    for (int i = 0; i < args.length; i++) { 
                    message = String.valueOf(message)+args[i]+""; 
                    }
                    message = ChatColor.translateAlternateColorCodes('&', message); 
                    Bukkit.broadcastMessage("§7[§a"+sender.getName()+"§7] "+message);
Авто объединение сообщений:

В plugin.yml указывать разрешения не обязательно.
Насчет этого: у меня права работали неадекватно когда я писал на 1.8, поэтому всегда добавляю
 
Последнее редактирование модератором:

RemFex

Отключён
Пользователь
RemFex обновил(а) ресурс [Bukkit API] - написание плагина, эвенты и команды новой записью:

Отредактирован код

Проверка на аргументы в пятом пункте, поправлено проигрывание звука всем игрокам во втором пункте.
Спасибо @iBuseWinner
Узнать больше об этом обновлении...
Авто объединение сообщений:

Кстати, я думаю код с аргументами лучше обернуть в try/catch
 
Последнее редактирование модератором:

q20w26a

Разработчик
Пользователь
Во-первых, слишком много запятых.
IDE загорится ошибкой, и предложит создать класс EventsListener. Создаем его, и открываем.
Во-вторых, в командах false означает неверное выполнение команды, т.е. если всё прошло правильно - вернётся true, в противном случае же false. А так получается путаница.
 

BuseSo

Разработчик
Пользователь
Кстати, как этот код можно переделать в for-each? Я долго думал, но решил использовать обычный for

Java:
String message = "";
for (int i = 0; i < args.length; i++) {
message = String.valueOf(message)+args[i]+"";
}
message = ChatColor.translateAlternateColorCodes('&', message);
Bukkit.broadcastMessage("§7[§a"+sender.getName()+"§7] "+message);

for(String s : args) { ... }
 

q20w26a

Разработчик
Пользователь

Комнаты в чате

Верх Низ