diff --git a/src/main/java/net/viper/status/stats/PlayerStats.java b/src/main/java/net/viper/status/stats/PlayerStats.java deleted file mode 100644 index 9ea857d..0000000 --- a/src/main/java/net/viper/status/stats/PlayerStats.java +++ /dev/null @@ -1,70 +0,0 @@ -package net.viper.status.stats; - -import java.util.UUID; - -public class PlayerStats { - public final UUID uuid; - public String name; - public long firstSeen; - public long lastSeen; - public long totalPlaytime; - public long currentSessionStart; - public int joins; - - public PlayerStats(UUID uuid, String name) { - this.uuid = uuid; - this.name = name; - long now = System.currentTimeMillis() / 1000L; - this.firstSeen = now; - this.lastSeen = now; - this.totalPlaytime = 0; - this.currentSessionStart = 0; - this.joins = 0; - } - - public synchronized void onJoin() { - long now = System.currentTimeMillis() / 1000L; - if (this.currentSessionStart == 0) this.currentSessionStart = now; - this.lastSeen = now; - this.joins++; - if (this.firstSeen == 0) this.firstSeen = now; - } - - public synchronized void onQuit() { - long now = System.currentTimeMillis() / 1000L; - if (this.currentSessionStart > 0) { - long session = now - this.currentSessionStart; - if (session > 0) this.totalPlaytime += session; - this.currentSessionStart = 0; - } - this.lastSeen = now; - } - - public synchronized long getPlaytimeWithCurrentSession() { - long now = System.currentTimeMillis() / 1000L; - if (this.currentSessionStart > 0) return totalPlaytime + (now - currentSessionStart); - return totalPlaytime; - } - - public synchronized String toLine() { - return uuid + "|" + name.replace("|", "_") + "|" + firstSeen + "|" + lastSeen + "|" + totalPlaytime + "|" + currentSessionStart + "|" + joins; - } - - public static PlayerStats fromLine(String line) { - String[] parts = line.split("\\|", -1); - if (parts.length < 7) return null; - try { - UUID uuid = UUID.fromString(parts[0]); - String name = parts[1]; - PlayerStats ps = new PlayerStats(uuid, name); - ps.firstSeen = Long.parseLong(parts[2]); - ps.lastSeen = Long.parseLong(parts[3]); - ps.totalPlaytime = Long.parseLong(parts[4]); - ps.currentSessionStart = Long.parseLong(parts[5]); - ps.joins = Integer.parseInt(parts[6]); - return ps; - } catch (Exception e) { - return null; - } - } -} \ No newline at end of file