Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.HashMap;
- import org.bukkit.entity.Player;
- public class StatsManager {
- private static Connection con = null;
- private static HashMap<Integer, Integer> kills = new HashMap<>();
- private static HashMap<Integer, Integer> deaths = new HashMap<>();
- private static HashMap<Integer, Integer> coins = new HashMap<>();
- public static void initStatsManagerInMain(Connection statsCon) {
- StatsManager.con = statsCon;
- update("CREATE TABLE IF NOT EXISTS stats(ID INT AUTO_INCREMENT primary key, KILLS INT, DEATHS INT, COINS INT)");
- }
- public static void initPlayerByJoin(Player player) {
- if (con == null) { System.out.println("Es besteht keine MySQL-Connection"); return; }
- if (!isUserExists(IDManager.getID(player))) {
- update("INSERT INTO stats(ID, KILLS, DEATHS, COINS) VALUES('" + IDManager.getID(player) + "', 0, 0, 0)");
- kills.put(IDManager.getID(player), 0);
- deaths.put(IDManager.getID(player), 0);
- coins.put(IDManager.getID(player), 0);
- return;
- }
- kills.put(IDManager.getID(player), getKillsMySQL(IDManager.getID(player)));
- deaths.put(IDManager.getID(player), getDeathsMySQL(IDManager.getID(player)));
- coins.put(IDManager.getID(player), getCoinsMySQL(IDManager.getID(player)));
- }
- public static void saveDataByLeave(Player player) {
- if (!isUserExists(IDManager.getID(player))) return;
- update("UPDATE stats SET KILLS= '" + getKills(player) + "' WHERE ID= '" + IDManager.getID(player) + "'");
- update("UPDATE stats SET DEATHS= '" + getDeaths(player) + "' WHERE ID= '" + IDManager.getID(player) + "'");
- update("UPDATE stats SET COINS= '" + getCoins(player) + "' WHERE ID= '" + IDManager.getID(player) + "'");
- }
- private static boolean isUserExists(Integer id) {
- if (con == null) { System.out.println("Es besteht keine MySQL-Connection"); return false; }
- ResultSet result = query("SELECT * FROM stats WHERE ID= '" + id + "'");
- try {
- if (result.next())
- return true;
- } catch (SQLException e) { e.printStackTrace(); }
- return false;
- }
- public static void addKill(Player player) {
- if (!kills.containsKey(IDManager.getID(player))) return;
- kills.put(IDManager.getID(player), getKills(player) + 1);
- }
- public static void addDeath(Player player) {
- if (!deaths.containsKey(IDManager.getID(player))) return;
- deaths.put(IDManager.getID(player), getDeaths(player) + 1);
- }
- public static void addCoins(Player player, int coins) {
- if (!StatsManager.coins.containsKey(IDManager.getID(player))) return;
- StatsManager.coins.put(IDManager.getID(player), getCoins(player) + coins);
- }
- public static void setKills(Player player, int kills) {
- if (!StatsManager.kills.containsKey(IDManager.getID(player))) return;
- StatsManager.kills.put(IDManager.getID(player), kills);
- }
- public static void setDeaths(Player player, int deaths) {
- if (!StatsManager.deaths.containsKey(IDManager.getID(player))) return;
- StatsManager.deaths.put(IDManager.getID(player), deaths);
- }
- public static void setCoins(Player player, int coins) {
- if (!StatsManager.coins.containsKey(IDManager.getID(player))) return;
- StatsManager.coins.put(IDManager.getID(player), coins);
- }
- public static void removeCoins(Player player, int coins) {
- if (!StatsManager.coins.containsKey(IDManager.getID(player))) return;
- int output = 0;
- if (coins <= getCoins(player) && coins > 0) {
- output = coins;
- }
- StatsManager.coins.put(IDManager.getID(player), output);
- }
- public static int getKills(Player player) {
- if (!kills.containsKey(IDManager.getID(player))) return -1;
- return kills.get(IDManager.getID(player));
- }
- public static int getDeaths(Player player) {
- if (!deaths.containsKey(IDManager.getID(player))) return -1;
- return deaths.get(IDManager.getID(player));
- }
- public static int getCoins(Player player) {
- if (!coins.containsKey(IDManager.getID(player))) return -1;
- return coins.get(IDManager.getID(player));
- }
- private static int getCoinsMySQL(Integer id) {
- if (!isUserExists(id)) return -1;
- ResultSet result = query("SELECT * FROM stats WHERE ID= '" + id + "'");
- try {
- if (result.next())
- return result.getInt("COINS");
- } catch (SQLException e) { e.printStackTrace(); }
- return -1;
- }
- private static int getKillsMySQL(Integer id) {
- if (!isUserExists(id)) return -1;
- ResultSet result = query("SELECT * FROM stats WHERE ID= '" + id + "'");
- try {
- if (result.next())
- return result.getInt("KILLS");
- } catch (SQLException e) { e.printStackTrace(); }
- return -1;
- }
- private static int getDeathsMySQL(Integer id) {
- if (!isUserExists(id)) return -1;
- ResultSet result = query("SELECT * FROM stats WHERE ID= '" + id + "'");
- try {
- if (result.next())
- return result.getInt("DEATHS");
- } catch (SQLException e) { e.printStackTrace(); }
- return -1;
- }
- private static void update(String qry) {
- if (con == null) { System.out.println("Es besteht keine MySQL-Connection"); return; }
- try {
- Statement statement = con.createStatement();
- statement.executeUpdate(qry);
- statement.close();
- } catch (SQLException e) { e.printStackTrace(); }
- }
- private static ResultSet query(String qry) {
- ResultSet resultSet = null;
- if (con == null) { System.out.println("Es besteht keine MySQL-Connection"); return null; }
- try {
- Statement statement = con.createStatement();
- resultSet = statement.executeQuery(qry);
- } catch (SQLException e) { e.printStackTrace(); }
- return resultSet;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement