Advertisement
Guest User

Untitled

a guest
May 2nd, 2019
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.46 KB | None | 0 0
  1. package me.vertcode.topkills.mysql;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8. import java.util.ArrayList;
  9. import java.util.UUID;
  10.  
  11. import org.bukkit.entity.Player;
  12.  
  13. import me.vertcode.topkills.MainCore;
  14. import me.vertcode.topkills.stats.StatsEntry;
  15.  
  16. public class MysqlUtils {
  17.  
  18. static MysqlUtils mysqlUtils = new MysqlUtils();
  19.  
  20. private Connection connection;
  21. public String host, database, username, password;
  22. public int port;
  23.  
  24. public void mysqlSetup(MainCore pl) {
  25.  
  26. host = "localhost";
  27. port = 3306;
  28. database = "topkills";
  29. username = "admin";
  30. password = "123";
  31.  
  32. try {
  33. synchronized (this) {
  34. if (getConnection() != null && !getConnection().isClosed()) {
  35. return;
  36. }
  37.  
  38. Class.forName("com.mysql.jdbc.Driver");
  39. setConnection(
  40. DriverManager.getConnection("jdbc:mysql://" + this.host + ":" + this.port + "/" + this.database,
  41. this.username, this.password));
  42.  
  43. System.out.print("[VERTCODE-API] MYSQL Connected");
  44.  
  45. }
  46. } catch (SQLException e) {
  47. e.printStackTrace();
  48. } catch (ClassNotFoundException e) {
  49. e.printStackTrace();
  50. }
  51.  
  52. }
  53.  
  54. public Integer getRank(UUID uuid) {
  55. try {
  56. Statement e = getConnection().createStatement();
  57. ResultSet rs = e.executeQuery(
  58. "SELECT COUNT(*) from `topkills_stats` WHERE kills > " + getStatsEntry(uuid).getKills());
  59. rs.next();
  60. return Integer.valueOf(rs.getInt(1) + 1);
  61. } catch (SQLException var4) {
  62. var4.printStackTrace();
  63. }
  64. return Integer.valueOf(999);
  65. }
  66.  
  67. public Integer getRank(Player ply) {
  68. try {
  69. Statement e = getConnection().createStatement();
  70. ResultSet rs = e.executeQuery(
  71. "SELECT COUNT(*) from `topkills_stats` WHERE kills > " + getStatsEntry(ply).getKills());
  72. rs.next();
  73. return Integer.valueOf(rs.getInt(1) + 1);
  74. } catch (SQLException var4) {
  75. var4.printStackTrace();
  76. }
  77. return Integer.valueOf(999);
  78. }
  79.  
  80. public Boolean insertStatsEntry(Player ply) {
  81. try {
  82. Statement e = getConnection().createStatement();
  83. ResultSet rs = e
  84. .executeQuery("SELECT * from `topkills_stats` WHERE uuid='" + ply.getUniqueId().toString() + "'");
  85. if (!rs.next()) {
  86. e = getConnection().createStatement();
  87. e.execute("INSERT INTO `topkills_stats` (uuid, name, kills, deaths) VALUES ('"
  88. + ply.getUniqueId().toString() + "', '" + ply.getName() + "', 0, 0)");
  89. return Boolean.valueOf(true);
  90. }
  91. } catch (SQLException var4) {
  92. var4.printStackTrace();
  93. }
  94. return Boolean.valueOf(false);
  95. }
  96.  
  97. public void addDeath(Player ply) {
  98. addDeaths(ply, Integer.valueOf(1));
  99. }
  100.  
  101. public void addDeaths(Player ply, Integer deaths) {
  102. try {
  103. Statement e = getConnection().createStatement();
  104. e.execute("UPDATE `topkills_stats` SET deaths=deaths+" + deaths + " WHERE uuid='"
  105. + ply.getUniqueId().toString() + "'");
  106. } catch (SQLException var4) {
  107. var4.printStackTrace();
  108. }
  109. }
  110.  
  111. public void addKill(Player ply) {
  112. addKills(ply, Integer.valueOf(1));
  113. }
  114.  
  115. public void addKills(Player ply, Integer kills) {
  116. try {
  117. Statement e = getConnection().createStatement();
  118. e.execute("UPDATE `topkills_stats` SET kills=kills+" + kills + " WHERE uuid='"
  119. + ply.getUniqueId().toString() + "'");
  120. } catch (SQLException var4) {
  121. var4.printStackTrace();
  122. }
  123. }
  124.  
  125. public ArrayList<StatsEntry> getTopStats() {
  126. return getTopStats(Integer.valueOf(10));
  127. }
  128.  
  129. public ArrayList<StatsEntry> getTopStats(Integer limit) {
  130. ArrayList<StatsEntry> statsEnties = new ArrayList<>();
  131. try {
  132. Statement e = getConnection().createStatement();
  133. ResultSet rs = e.executeQuery("SELECT * from `topkills_stats` ORDER BY kills DESC LIMIT " + limit);
  134. while (rs.next()) {
  135. statsEnties.add(new StatsEntry(rs.getString("name"), UUID.fromString(rs.getString("uuid")),
  136. Integer.valueOf(rs.getInt("kills")), Integer.valueOf(rs.getInt("deaths"))));
  137. }
  138. } catch (SQLException var5) {
  139. var5.printStackTrace();
  140. }
  141. return statsEnties;
  142. }
  143.  
  144. public StatsEntry getStatsEntry(Player ply) {
  145. return getStatsEntry(ply.getUniqueId());
  146. }
  147.  
  148. public StatsEntry getStatsEntry(UUID uuid) {
  149. try {
  150. Statement e = getConnection().createStatement();
  151. ResultSet rs = e.executeQuery("SELECT * from `topkills_stats` WHERE uuid='" + uuid.toString() + "'");
  152. if (rs.next()) {
  153. return new StatsEntry(rs.getString("name"), UUID.fromString(rs.getString("uuid")),
  154. Integer.valueOf(rs.getInt("kills")), Integer.valueOf(rs.getInt("deaths")));
  155. }
  156. } catch (SQLException var4) {
  157. var4.printStackTrace();
  158. }
  159. return new StatsEntry("", uuid, Integer.valueOf(0), Integer.valueOf(0));
  160. }
  161.  
  162. public StatsEntry getStatsEntry(String userName) {
  163. try {
  164. Statement e = getConnection().createStatement();
  165. ResultSet rs = e.executeQuery("SELECT * from `topkills_stats` WHERE name='" + userName + "'");
  166. if (rs.next()) {
  167. return new StatsEntry(rs.getString("name"), UUID.fromString(rs.getString("uuid")),
  168. Integer.valueOf(rs.getInt("kills")), Integer.valueOf(rs.getInt("deaths")));
  169. }
  170. } catch (SQLException var4) {
  171. var4.printStackTrace();
  172. }
  173. return new StatsEntry("", UUID.randomUUID(), Integer.valueOf(0), Integer.valueOf(0));
  174. }
  175.  
  176. public Connection getConnection() {
  177. return connection;
  178. }
  179.  
  180. public void setConnection(Connection connection) {
  181. this.connection = connection;
  182. }
  183.  
  184. public static MysqlUtils getInstance() {
  185. return mysqlUtils;
  186. }
  187.  
  188. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement