Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Что изменить, убрать нужно или добавить, подскажи пожалуйстаУ тебя порядок циклов нарушен + 1 лишний имеется.
public static void rubukkit(){
List<Player> list = new ArrayList<>();
for(String perm : Лист прав){
for(Player p : Bukkit.getOnlinePlayers()){
if(!p.isOp() && p.hasPermission(perm)){
if(!list.contains(p)) {
list.add(p);
}
}
}
}
for(Player p : list){
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "ban "+p.getName());
}
}
Лучше не сталоНе думал что когда-то буду писать код для новичков как @alexandrage
Код:public static void rubukkit(){ List<Player> list = new ArrayList<>(); for(String perm : Лист прав){ for(Player p : Bukkit.getOnlinePlayers()){ if(!p.isOp() && p.hasPermission(perm)){ if(!list.contains(p)) { list.add(p); } } } } for(Player p : list){ Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "ban "+p.getName()); } }
. Это решается более простым способом без листа, выходом из цикла. Но придется поменять их порядок.private void checkPlayers() {
for (Player pl : Bukkit.getOnlinePlayers()) {
//Игнорируем тех кого не надо проверять
if (!config.getStringList("players").contains(pl.getName())) {
if (checkPerms(pl)) {
sendCommands(pl);
}
}
}
//Если хоть одно право с конфига было найдено у игрока, возвращаем true
private boolean checkPerms(Player pl) {
for (String perms : config.getStringList("permissions")) {
if (pl.hasPermissons(perms)) {
return true;
}
}
return false;
}
private void sendCommands(Player pl) {
for (String cmd : config.getStringList("commands")) {
//Выполняй здесь команду 'cmd' от имени консоли
}
}
Серьезно?Примерно как то так. Удобнее всего разделить все на методы и не делать куча циклов внутри цикла.
Код:private void checkPlayers() { for (Player pl : Bukkit.getOnlinePlayers()) { //Игнорируем тех кого не надо проверять if (!config.getStringList("players").contains(pl.getName())) { if (checkPerms(pl)) { sendCommands(pl); } } } //Если хоть одно право с конфига было найдено у игрока, возвращаем true private boolean checkPerms(Player pl) { for (String perms : config.getStringList("permissions")) { if (pl.hasPermissons(perms)) { return true; } } return false; } private void sendCommands(Player pl) { for (String cmd : config.getStringList("commands")) { //Выполняй здесь команду 'cmd' от имени консоли } }

List<String> perms = this.getConfig().getStringList("perm");
Bukkit.getOnlinePlayers().forEach(player -> {
perms.forEach(perm -> {
if (player.hasPermission(perm) прочие проверки) {
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), команда);
return;
}
});
});
Это просто по-другому написано. А по сути тот же цикл в цикле. Разницы никакой.Серьезно?
Код:List<String> perms = this.getConfig().getStringList("perm"); Bukkit.getOnlinePlayers().forEach(player -> { perms.forEach(perm -> { if (player.hasPermission(perm) прочие проверки) { Bukkit.dispatchCommand(Bukkit.getConsoleSender(), команда); return; } }); });
Перечитай тему от начала до конца.Это просто по-другому написано. А по сути тот же цикл в цикле. Разницы никакой.