Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package playerdata;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.UUID;
- import main.Main;
- import org.bukkit.entity.Player;
- import org.bukkit.scheduler.BukkitRunnable;
- public class PlayerData {
- Main main;
- private UUID uuid;
- private String name;
- private int unrankedWins, rankedWins, premiumWins, gamesPlayed, playTime;
- boolean loaded;
- public PlayerData(Player p){
- main = Main.getInstance();
- uuid = p.getUniqueId();
- name = p.getName();
- main.joinTime.put(uuid, System.currentTimeMillis());
- PlayerDataManager.add(this);
- }
- public void load(){
- String uuid = this.uuid.toString().replace("-", "");
- new BukkitRunnable() {
- PreparedStatement ps;
- ResultSet rs;
- @Override
- public void run() {
- try {
- Connection con = main.mysql.getConnection();
- ps = con.prepareStatement(main.mysql.SELECT);
- ps.setString(1, uuid);
- int i = 1;
- if (!ps.executeQuery().next()){
- ps = con.prepareStatement(main.mysql.INSERT);
- ps.setString(i++, uuid);
- ps.setString(i++, name);
- ps.setInt(i++, unrankedWins);
- ps.setInt(i++, rankedWins);
- ps.setInt(i++, premiumWins);
- ps.setInt(i++, gamesPlayed);
- ps.setInt(i++, playTime);
- ps.execute();
- }else{
- ps = con.prepareStatement(main.mysql.UPDATE_NAME);
- ps.setString(1, name);
- ps.setString(2, uuid);
- ps.execute();
- ps = con.prepareStatement(main.mysql.SELECT);
- ps.setString(i++, uuid);
- rs = ps.executeQuery();
- i = 3;
- while(rs.next()){
- unrankedWins = rs.getInt(i++);
- rankedWins = rs.getInt(i++);
- premiumWins = rs.getInt(i++);
- gamesPlayed = rs.getInt(i++);
- playTime = rs.getInt(i++);
- }
- rs.close();
- }
- ps.close();
- loaded = true;
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }.runTaskLaterAsynchronously(main, 10);
- }
- public void save(){
- PlayerDataManager.remove(this);
- if (!loaded)
- return;
- PreparedStatement ps;
- int i = 1;
- try {
- Connection con = main.mysql.getConnection();
- ps = con.prepareStatement(main.mysql.UPDATE);
- ps.setString(i++, name);
- ps.setInt(i++, unrankedWins);
- ps.setInt(i++, rankedWins);
- ps.setInt(i++, premiumWins);
- ps.setInt(i++, gamesPlayed);
- ps.setInt(i++, (int) (playTime + (System.currentTimeMillis() - main.joinTime.get(uuid))/1000));
- ps.setString(i++, uuid.toString().replace("-", ""));
- ps.execute();
- ps.close();
- main.joinTime.remove(uuid);
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public void saveAsync(){new BukkitRunnable() {@Override public void run() {save();}}.runTaskAsynchronously(main);}
- //Getters
- public UUID getUniqueId(){return uuid;}
- public String getName(){return name;}
- public int getUnrankedWins(){return unrankedWins;}
- public int getRankedWins(){return rankedWins;}
- public int getPremiumWins(){return premiumWins;}
- public int getGamesPlayed(){return gamesPlayed;}
- public int getPlayTime(){return playTime;}
- //Setters
- public void setUnrankedWins(int i){unrankedWins = i;}
- public void setRankedWins(int i){rankedWins = i;}
- public void setPremiumWins(int i){premiumWins = i;}
- public void setGamesPlayed(int i){gamesPlayed = i;}
- public void setPlayTime(int i){playTime = i;}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement