summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java
diff options
context:
space:
mode:
authorTyler Murphy <tylermurphy534@gmail.com>2022-05-09 16:19:24 -0400
committerTyler Murphy <tylermurphy534@gmail.com>2022-05-09 16:19:24 -0400
commit5086fb4a007925e4edc236d80211f4a0288dfa82 (patch)
treea515de6fc23c2b5c4c51d935d83bbfcb4753a4c4 /src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java
parentfix Top.java (diff)
downloadkenshinshideandseek-5086fb4a007925e4edc236d80211f4a0288dfa82.tar.gz
kenshinshideandseek-5086fb4a007925e4edc236d80211f4a0288dfa82.tar.bz2
kenshinshideandseek-5086fb4a007925e4edc236d80211f4a0288dfa82.zip
refactor placeholders
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java42
1 files changed, 37 insertions, 5 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java b/src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java
index 06c036d..6948134 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/database/PlayerInfoTable.java
@@ -44,11 +44,11 @@ public class PlayerInfoTable {
+ " uuid BINARY(16) PRIMARY KEY,\n"
+ " hider_wins int NOT NULL,\n"
+ " seeker_wins int NOT NULL,\n"
- + " hider_games int NOT NULL\n"
- + " seeker_games int NOT NULL\n"
- + " hider_kills int NOT NULL\n"
- + " seeker_kills int NOT NULL\n"
- + " hider_deaths int NOT NULL\n"
+ + " hider_games int NOT NULL,\n"
+ + " seeker_games int NOT NULL,\n"
+ + " hider_kills int NOT NULL,\n"
+ + " seeker_kills int NOT NULL,\n"
+ + " hider_deaths int NOT NULL,\n"
+ " seeker_deaths int NOT NULL\n"
+ ");";
@@ -124,6 +124,38 @@ public class PlayerInfoTable {
}
@Nullable
+ public PlayerInfo getInfoRanking(String order, int place){
+ String sql = "SELECT * FROM hs_data ORDER BY "+order+" DESC LIMIT 1 OFFSET ?;";
+ try(Connection connection = Database.connect(); PreparedStatement statement = connection.prepareStatement(sql)){
+ statement.setInt(1, place-1);
+ ResultSet rs = statement.executeQuery();
+ if(rs.next()){
+ UUID uuid = decodeUUID(rs.getBytes("uuid"));
+ PlayerInfo info = new PlayerInfo(
+ uuid,
+ rs.getInt("hider_wins"),
+ rs.getInt("seeker_wins"),
+ rs.getInt("hider_games"),
+ rs.getInt("seeker_games"),
+ rs.getInt("hider_kills"),
+ rs.getInt("seeker_kills"),
+ rs.getInt("hider_deaths"),
+ rs.getInt("seeker_deaths")
+ );
+ rs.close();
+ connection.close();
+ CACHE.put(uuid, info);
+ return info;
+ }
+ rs.close();
+ } catch (SQLException e){
+ Main.plugin.getLogger().severe("SQL Error: " + e.getMessage());
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @Nullable
public List<PlayerInfo> getInfoPage(int page){
String sql = "SELECT * FROM hs_data ORDER BY (hider_wins + seeker_wins) DESC LIMIT 10 OFFSET ?;";
try(Connection connection = Database.connect(); PreparedStatement statement = connection.prepareStatement(sql)){