diff --git a/SpigotCore_Main/src/de/steamwar/sql/Provider.java b/SpigotCore_Main/src/de/steamwar/sql/Provider.java index 85c44b3..686c491 100644 --- a/SpigotCore_Main/src/de/steamwar/sql/Provider.java +++ b/SpigotCore_Main/src/de/steamwar/sql/Provider.java @@ -73,6 +73,7 @@ public interface Provider { SteamwarUser getUserByName(String userName); SteamwarUser getUserByUUID(UUID uuid); SteamwarUser getUserByID(int id); + List getServerTeam(); void logException(String server, String message, String stacktrace); diff --git a/SpigotCore_Main/src/de/steamwar/sql/SQLProvider.java b/SpigotCore_Main/src/de/steamwar/sql/SQLProvider.java index f285afe..4d13386 100644 --- a/SpigotCore_Main/src/de/steamwar/sql/SQLProvider.java +++ b/SpigotCore_Main/src/de/steamwar/sql/SQLProvider.java @@ -319,6 +319,17 @@ public class SQLProvider implements Provider { }, id); } + private static final Statement getServerTeam = new Statement("SELECT * FROM UserData WHERE UserGroup != 'Member' AND UserGroup != 'YouTuber'"); + @Override + public List getServerTeam() { + return getServerTeam.select(rs -> { + List users = new ArrayList<>(); + while(rs.next()) + users.add(newSteamwarUser(rs)); + return users; + }); + } + private SteamwarUser newSteamwarUser(ResultSet rs) throws SQLException { return new SteamwarUser(rs.getInt("id"), UUID.fromString(rs.getString("UUID")), rs.getString("UserName"), UserGroup.getUsergroup(rs.getString("UserGroup")), rs.getInt("Team"), rs.getBoolean("Bedrock")); } diff --git a/SpigotCore_Main/src/de/steamwar/sql/StandaloneProvider.java b/SpigotCore_Main/src/de/steamwar/sql/StandaloneProvider.java index 0da668a..38f3cbc 100644 --- a/SpigotCore_Main/src/de/steamwar/sql/StandaloneProvider.java +++ b/SpigotCore_Main/src/de/steamwar/sql/StandaloneProvider.java @@ -181,6 +181,11 @@ public class StandaloneProvider implements Provider { return usersByUUID.values().stream().filter(user -> user.getId() == id).findAny().get(); } + @Override + public List getServerTeam() { + return Bukkit.getOperators().stream().map(OfflinePlayer::getName).map(this::getUserByName).collect(Collectors.toList()); + } + @Override public void logException(String server, String message, String stacktrace) {} diff --git a/SpigotCore_Main/src/de/steamwar/sql/SteamwarUser.java b/SpigotCore_Main/src/de/steamwar/sql/SteamwarUser.java index 69ea9d5..6bac625 100644 --- a/SpigotCore_Main/src/de/steamwar/sql/SteamwarUser.java +++ b/SpigotCore_Main/src/de/steamwar/sql/SteamwarUser.java @@ -24,6 +24,7 @@ import org.bukkit.Bukkit; import org.bukkit.entity.Player; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.UUID; @@ -110,4 +111,8 @@ public class SteamwarUser { public static SteamwarUser get(Player player) { return get(player.getUniqueId()); } + + public static List getServerTeam() { + return Provider.impl.getServerTeam(); + } }