Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.clementmodz.main.MySQL;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import org.bukkit.entity.Player;
- import fr.clementmodz.main.Main;
- public class SqlConnection {
- private Main pl;
- public Connection connection;
- private String urlbase,host,database,user,pass;
- public SqlConnection(Main pl, String urlbase, String host, String database, String user, String pass) {
- this.urlbase = urlbase;
- this.host = host;
- this.database = database;
- this.user = user;
- this.pl = pl;
- this.pass = pass;
- }
- public void connection(){
- if(!isConnected()){
- try {
- connection = DriverManager.getConnection(urlbase + host + "/" + database, user, pass);
- System.out.println("[MySQL] connected !");
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public void disconnect(){
- if(isConnected()){
- try {
- connection.close();
- System.out.println("[MySQL] disconnected !");
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public boolean isConnected(){
- return connection != null;
- }
- public void createAccount(Player player){
- if(!hasAccount(player)){
- //INSERT
- try { //1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,
- PreparedStatement q = connection.prepareStatement("INSERT INTO joueurs(pseudo,uuid,coins,grade) VALUES (?,?,?,?)");
- q.setString(1, player.getName());
- q.setString(2, player.getUniqueId().toString());
- q.setInt(3, 0);
- q.setInt(4, RankListSql.JOUEUR.getPower());
- q.execute();
- q.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public boolean hasAccount(Player player){
- //SELECT
- try {
- PreparedStatement q = connection.prepareStatement("SELECT uuid FROM joueurs WHERE uuid = ?");
- q.setString(1, player.getUniqueId().toString());
- ResultSet resultat = q.executeQuery();
- boolean hasAccount = resultat.next();
- q.close();
- return hasAccount;
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return false;
- }
- public int getBalance(Player player){if(pl.dataPlayers.containsKey(player)){PlayerData dataP = pl.dataPlayers.get(player);return dataP.getCoins();}return 0;}
- public void addMoney(Player player,int amount){ if(pl.dataPlayers.containsKey(player)){PlayerData dataP = pl.dataPlayers.get(player);int coins = dataP.getCoins() + amount;dataP.setCoins(coins);pl.dataPlayers.remove(player);pl.dataPlayers.put(player, dataP);} }
- public void removeMoney(Player player,int amount){if(pl.dataPlayers.containsKey(player)){PlayerData dataP = pl.dataPlayers.get(player);int coins = dataP.getCoins() - amount;dataP.setCoins(coins);pl.dataPlayers.remove(player);pl.dataPlayers.put(player, dataP);}}
- public void setRank(Player player, RankListSql rank){
- if(pl.dataPlayers.containsKey(player)){
- PlayerData dataP = pl.dataPlayers.get(player);
- dataP.setRank(rank);
- pl.dataPlayers.remove(player);
- pl.dataPlayers.put(player, dataP);
- }
- }
- public RankListSql getRank(Player player){
- if(pl.dataPlayers.containsKey(player)){
- PlayerData dataP = pl.dataPlayers.get(player);
- return dataP.getRank();
- }
- return RankListSql.JOUEUR;
- }
- public PlayerData createPlayerData(Player player) {
- if(!pl.dataPlayers.containsKey(player)) {
- try {
- PreparedStatement rs = connection.prepareStatement("SELECT grade,coins FROM joueurs WHERE uuid = ?");
- rs.setString(1 , player.getUniqueId().toString());
- ResultSet resultats = rs.executeQuery();
- RankListSql rank = RankListSql.JOUEUR;
- int coins = 0;
- while(resultats.next()) {
- rank = RankListSql.powerToRank(resultats.getInt("grade"));
- coins = resultats.getInt("coins");
- }
- PlayerData dataP = new PlayerData();
- dataP.setRank(rank);
- dataP.setCoins(coins);
- return dataP;
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return new PlayerData();
- }
- return new PlayerData();
- }
- public void updatePlayerData(Player player) {
- if(pl.dataPlayers.containsKey(player)) {
- PlayerData dataP = pl.dataPlayers.get(player);
- RankListSql rank = dataP.getRank();
- int power = rank.getPower();
- int coins = dataP.getCoins();
- try {
- PreparedStatement rs = connection.prepareStatement("UPDATE joueurs SET grade = ?,coins = ? WHERE uuid = ?");
- rs.setInt(1, power);
- rs.setInt(2, coins);
- rs.setString(3, player.getUniqueId().toString());
- rs.executeUpdate();
- rs.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement