diff --git a/src/main/java/ru/prisonlife/PrisonAPI/template/Faction.java b/src/main/java/ru/prisonlife/PrisonAPI/template/Faction.java index 5b0dd2a..2f981ac 100644 --- a/src/main/java/ru/prisonlife/PrisonAPI/template/Faction.java +++ b/src/main/java/ru/prisonlife/PrisonAPI/template/Faction.java @@ -10,6 +10,7 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.stream.Collectors; public class Faction { @@ -149,16 +150,18 @@ public class Faction { } } - public List getOnlineList() throws SQLException { - List list = new ArrayList<>(); - Iterator itr = Bukkit.getOnlinePlayers().iterator(); - while (itr.hasNext()) { - Prisoner m = new Prisoner((Player) itr.next()); - if (m.getFaction().getType().equals(me.getFaction().getType())) { - list.add(m); - } - } - return list; + public List getOnlineList() { + return Bukkit.getOnlinePlayers().stream() + .map(Prisoner::new) + .filter(prisoner -> { + try { + return prisoner.getFaction().getType().equals(me.getFaction().getType()); + } catch (SQLException e) { + e.printStackTrace(); + return false; + } + }) + .collect(Collectors.toList()); } private void connect() throws SQLException {