From 8127c5eefe30324e559f7241b2f398549b652a83 Mon Sep 17 00:00:00 2001 From: MistPhizzle Date: Sat, 20 Sep 2014 17:31:14 -0400 Subject: [PATCH] Bad Commit 2, will revert. --- .../ProjectKorra/BendingPlayer.java | 83 +++++++++++++++++++ .../ProjectKorra/PlayerSaver.java | 5 ++ 2 files changed, 88 insertions(+) create mode 100644 src/com/projectkorra/ProjectKorra/PlayerSaver.java diff --git a/src/com/projectkorra/ProjectKorra/BendingPlayer.java b/src/com/projectkorra/ProjectKorra/BendingPlayer.java index 0ea6c3e3..0e3cfba1 100644 --- a/src/com/projectkorra/ProjectKorra/BendingPlayer.java +++ b/src/com/projectkorra/ProjectKorra/BendingPlayer.java @@ -1,11 +1,16 @@ package com.projectkorra.ProjectKorra; +import java.sql.ResultSet; +import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; + public class BendingPlayer { public static ConcurrentHashMap players = new ConcurrentHashMap(); @@ -21,6 +26,7 @@ public class BendingPlayer { private long slowTime = 0; private boolean tremorsense = true; boolean blockedChi; + long lastTime = 0; public BendingPlayer(UUID uuid, String player, ArrayList elements, HashMap abilities, boolean permaRemoved) { this.uuid = uuid; @@ -31,9 +37,29 @@ public class BendingPlayer { this.permaRemoved = permaRemoved; isToggled = true; blockedChi = false; + lastTime = System.currentTimeMillis(); players.put(player, this); } + + public BendingPlayer(Player player) { + this.uuid = player.getUniqueId(); + this.player = player.getName(); + this.elements = new ArrayList(); + this.setAbilities(new HashMap()); + cooldowns = new ConcurrentHashMap(); + this.permaRemoved = false; + isToggled = true; + blockedChi = false; + lastTime = System.currentTimeMillis(); + + players.put(player.getName(), this); + } + public BendingPlayer(UUID uuid) { + String playername = Bukkit.getOfflinePlayer(uuid).getName(); + + players.put(playername, this); + } public boolean isOnCooldown(String ability) { return this.cooldowns.containsKey(ability); @@ -114,4 +140,61 @@ public class BendingPlayer { DBConnection.sql.modifyQuery("UPDATE pk_players SET slot" + i + " = '" + (abilities.get(i) == null ? null: abilities.get(i)) + "' WHERE uuid = '" + uuid + "'"); } } + + public static BendingPlayer getBendingPlayer(Player player) { + if (players.containsKey(player.getName())) { + return players.get(player.getName()); + } + + BendingPlayer bPlayer = getPlayer(player.getUniqueId()); + if (bPlayer != null) { + players.put(player.getName(), bPlayer); + return bPlayer; + } else { + return new BendingPlayer(player); + } + } + + public static BendingPlayer getPlayer(UUID uuid) { + ResultSet rs2 = DBConnection.sql.readQuery("SELECT * FROM pk_players WHERE uuid = '" + uuid.toString() + "'"); + try { + if (!rs2.next()) { + return null; + } else { + String name = rs2.getString("player"); + String element = rs2.getString("element"); + String permaremoved = rs2.getString("permaremoved"); + boolean p = false; + ArrayList elements = new ArrayList(); + if (element != null) { // Player has an element. + if (element.contains("a")) elements.add(Element.Air); + if (element.contains("w")) elements.add(Element.Water); + if (element.contains("e")) elements.add(Element.Earth); + if (element.contains("f")) elements.add(Element.Fire); + if (element.contains("c")) elements.add(Element.Chi); + } + + HashMap abilities = new HashMap(); + for (int i = 1; i <= 9; i++) { + String slot = rs2.getString("slot" + i); + if (slot != null) abilities.put(i, slot); + } + + if (permaremoved == null) { + p = false; + } + else if (permaremoved.equals("true")) { + p = true; + } + else if (permaremoved.equals("false")) { + p = false; + } + + return new BendingPlayer(uuid, name, elements, abilities, p); + } + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } } diff --git a/src/com/projectkorra/ProjectKorra/PlayerSaver.java b/src/com/projectkorra/ProjectKorra/PlayerSaver.java new file mode 100644 index 00000000..2f27dccc --- /dev/null +++ b/src/com/projectkorra/ProjectKorra/PlayerSaver.java @@ -0,0 +1,5 @@ +package com.projectkorra.ProjectKorra; + +public class PlayerSaver { + +}