Guest User

Untitled

a guest
Apr 24th, 2016
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.25 KB | None | 0 0
  1. package net.foxgenesis.powerpoints.io;
  2.  
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5.  
  6. import org.bukkit.entity.Player;
  7.  
  8. import net.foxgenesis.sql.DataBaseAPI;
  9.  
  10. public class PPData {
  11. private DataBaseAPI api;
  12. private String host = "contrivancenetwork.com";
  13. private String password = "P@ssw0rd";
  14. private String db = "pp";
  15. private String user = "root";
  16. private String table = "powerpoints";
  17. private int port = 3306;
  18.  
  19. public PPData(String host, int port, String user, String password, String database, String table) {
  20. this.host = host;
  21. this.password = password;
  22. this.port = port;
  23. this.user = user;
  24. this.table = table;
  25. this.db = database;
  26. }
  27.  
  28. /**
  29. * starts the connection with the SQL database
  30. */
  31. public void init() {
  32. api = new DataBaseAPI(host,user,password,db,port);
  33. api.connect();
  34. if(api.isConnected() && !api.hasTable(table))
  35. api.execute("CREATE TABLE " + table + "("
  36. + "player varchar(255) NOT NULL,"
  37. + "currency integer,"
  38. + "vip integer(1),"
  39. + "PRIMARY KEY (player)"
  40. + ");");
  41. }
  42.  
  43. private boolean c() {
  44. if(!api.isConnected()) {
  45. System.err.println("Not connected to SQL!");
  46. return false;
  47. }
  48. return true;
  49. }
  50.  
  51. /**
  52. * closes the connection with the SQl database
  53. */
  54. public void dispose() {
  55. api.closeConnection();
  56. }
  57.  
  58. /**
  59. * creates first time data for a player in the SQL database
  60. * @param p player name
  61. * @param string VIP status
  62. */
  63. public void createInitData(Player p, boolean vip) {
  64. if(c())
  65. api.excecuteUpdate(String.format("INSERT INTO %s (player, currency, vip) VALUES ('%s', '%s', '%s');",table, p.getUniqueId().toString(), 0, vip?1:0));
  66. }
  67.  
  68. /**
  69. * updates a players VIP state in the SQL database
  70. * @param player player name
  71. * @param vip state to set VIP to
  72. */
  73. public void setVIP(Player p, boolean vip) {
  74. if(c())
  75. api.excecuteUpdate(String.format("UPDATE %s SET vip='%s' WHERE player='%s';",table,vip?1:0,p.getUniqueId().toString()));
  76. }
  77.  
  78. /**
  79. * updates a players power points in the SQL database
  80. * @param player player name
  81. * @param money amount of power points
  82. */
  83. public void setPP(Player p, int money) {
  84. if(c())
  85. api.excecuteUpdate(String.format("UPDATE %s SET currency='%s' WHERE player='%s';",table,money,p.getUniqueId().toString()));
  86. }
  87.  
  88. public Object[] getPlayerData(Player player) {
  89. if(c())
  90. try {
  91. ResultSet s = api.excecuteQuery(String.format("SELECT * FROM %s WHERE player='%s';",table,player.getUniqueId().toString()));
  92. if(s != null && s.first()) {
  93. Object[] output = new Object[]{s.getInt("currency"),s.getInt("vip")==1};
  94. s.getStatement().close();
  95. return output;
  96. }
  97. s.getStatement().close();
  98. } catch (SQLException e) {
  99. e.printStackTrace();
  100. }
  101. return null;
  102. }
  103.  
  104. /**
  105. * Check if the database contains player information
  106. * @param player - player to check
  107. * @return if the database has player data
  108. */
  109. public boolean hasPlayer(Player player) {
  110. if(c())
  111. try {
  112. ResultSet s = api.excecuteQuery(String.format("SELECT player FROM %s WHERE player='%s';",table,player.getUniqueId().toString()));
  113. if(s != null)
  114. return s.next();
  115. } catch (SQLException e) {
  116. e.printStackTrace();
  117. }
  118. return false;
  119. }
  120.  
  121. /**
  122. * checks the SQL database to get the power points of a player
  123. * @param player player name
  124. * @return Integer power points
  125. */
  126. public int getPP(Player p) {
  127. if(c())
  128. try {
  129. ResultSet d = api.excecuteQuery(String.format("SELECT currency FROM %s WHERE player='%s';",table,p.getUniqueId().toString()));
  130. if(d.first()) {
  131. int a = d.getInt("currency");
  132. d.getStatement().close();
  133. return a;
  134. }
  135. d.getStatement().close();
  136. } catch (SQLException e) {
  137. e.printStackTrace();
  138. }
  139. return 0;
  140. }
  141.  
  142. /**
  143. * checks the SQL database to see if a player is a VIP
  144. * @param player player name
  145. * @return Boolean true if player is a VIP
  146. */
  147. public boolean isVIP(Player p) {
  148. if(c())
  149. try {
  150. ResultSet d = api.excecuteQuery(String.format("SELECT vip FROM %s WHERE player='%s';",table,p.getUniqueId().toString()));
  151. if(d.first())
  152. return d.getInt("vip")==1;
  153. } catch (SQLException e) {
  154. e.printStackTrace();
  155. }
  156. return false;
  157. }
  158. }
Add Comment
Please, Sign In to add comment