Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.69 KB | None | 0 0
  1. package me.kw.nh.database;
  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.Bukkit;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.scheduler.BukkitRunnable;
  14.  
  15. public class DatabaseManager {
  16.  
  17. private Connection connection;
  18. private String host, database, username, password;
  19. private Statement statement;
  20.  
  21. public void setValues(String host, String database, String username, String password){
  22. this.host = host;
  23. this.database = database;
  24. this.username = username;
  25. this.password = password;
  26. }
  27.  
  28. private BukkitRunnable r = new BukkitRunnable(){
  29. @Override
  30. public void run(){
  31. try {
  32. openConnection();
  33. statement = connection.createStatement();
  34. } catch (ClassNotFoundException e) {
  35. e.printStackTrace();
  36. } catch (SQLException e) {
  37. e.printStackTrace();
  38. }
  39. }
  40. };
  41.  
  42. public BukkitRunnable getRun(){
  43. return r;
  44. }
  45.  
  46. public void openConnection() throws SQLException, ClassNotFoundException {
  47. if (connection != null && !connection.isClosed()) {
  48. return;
  49. }
  50.  
  51. synchronized (this) {
  52. if (connection != null && !connection.isClosed()) {
  53. return;
  54. }
  55. Class.forName("com.mysql.jdbc.Driver");
  56. connection = DriverManager.getConnection("jdbc:mysql://" + this.host+ "/" + this.database, this.username, this.password);
  57. }
  58. }
  59.  
  60. public Integer retrievePlayerPoints(Player p) throws SQLException{
  61. ResultSet result = statement.executeQuery("SELECT points FROM users WHERE `UUID` = '" + p.getUniqueId().toString() + "'");
  62. result.next();
  63. Integer points = result.getInt("points");
  64. return points;
  65. }
  66.  
  67. public Integer retrievePlayerExp(Player p) throws SQLException{
  68. ResultSet result = statement.executeQuery("SELECT exp FROM users WHERE `UUID` = '" + p.getUniqueId().toString() + "'");
  69. result.next();
  70. Integer exp = result.getInt("exp");
  71. return exp;
  72. }
  73.  
  74. public Integer retrievePlayerServerID(Player p) throws SQLException{
  75. ResultSet result = statement.executeQuery("SELECT current_server_id FROM users WHERE `UUID` = '" + p.getUniqueId().toString() + "'");
  76. result.next();
  77. Integer id = result.getInt("current_server_id");
  78. return id;
  79. }
  80.  
  81. public void setPlayerPoints(Player p, Integer points) throws SQLException{
  82. statement.executeUpdate("UPDATE `users` SET `points` =" + points + " WHERE `UUID` = '" + p.getUniqueId().toString() + "'");
  83. }
  84.  
  85. public void setPlayerExp(Player p, Integer exp) throws SQLException{
  86. statement.executeUpdate("UPDATE `users` SET `exp` =" + exp + " WHERE `UUID` = '" + p.getUniqueId().toString() + "'");
  87. }
  88.  
  89. public void addPlayerPoints(Player p, Integer points) throws SQLException{
  90. statement.executeUpdate("UPDATE `users` SET `points` =" + (this.retrievePlayerPoints(p) + points) + " WHERE `UUID` = '" + p.getUniqueId().toString() + "'");
  91. }
  92.  
  93. public void setPlayerServer(Player p, Integer current_server_id) throws SQLException{
  94. statement.executeUpdate("UPDATE `users` SET `current_server_id` =" + current_server_id + " WHERE `UUID` = '" + p.getUniqueId().toString() + "'");
  95. }
  96.  
  97. public void addUser(Player p) throws SQLException{
  98. statement.executeUpdate("INSERT INTO `users`(`UUID`, `points`, `current_server_id`, `exp`) VALUES ('" + p.getUniqueId().toString() + "',0, 0, 0);");
  99. }
  100.  
  101. //WARPS
  102. public Integer retrieveWarpX(String name) throws SQLException{
  103. ResultSet result = statement.executeQuery("SELECT x FROM warps WHERE name = '" + name + "';");
  104. result.next();
  105. Integer x = result.getInt("x");
  106. return x;
  107. }
  108. public Integer retrieveWarpY(String name) throws SQLException{
  109. ResultSet result = statement.executeQuery("SELECT y FROM warps WHERE name = '" + name + "';");
  110. result.next();
  111. Integer y = result.getInt("y");
  112. return y;
  113. }
  114. public Integer retrieveWarpZ(String name) throws SQLException{
  115. ResultSet result = statement.executeQuery("SELECT z FROM warps WHERE name = '" + name + "';");
  116. result.next();
  117. Integer z = result.getInt("z");
  118. return z;
  119. }
  120.  
  121. public String retrieveWarpName(String name) throws SQLException{
  122. ResultSet result = statement.executeQuery("SELECT name FROM warps WHERE name = '" + name + "';");
  123. result.next();
  124. String namez = result.getString("name");
  125. return namez;
  126. }
  127.  
  128. public void addWarp(String name, Integer x, Integer y, Integer z) throws SQLException{
  129. statement.executeUpdate("INSERT INTO warps(ID, name, x, y, z) VALUES (0, '" + name + "'," + x + ", " + y + ", " + z + ");");
  130. }
  131.  
  132.  
  133.  
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement