Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.81 KB | None | 0 0
  1. package me.firstflames;
  2.  
  3.  
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.PreparedStatement;
  7. import java.sql.ResultSet;
  8. import java.sql.SQLException;
  9.  
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.player.PlayerLoginEvent;
  14. import org.bukkit.plugin.java.JavaPlugin;
  15.  
  16. public class EventHandle extends JavaPlugin implements Listener{
  17.  
  18. private static Connection connection;
  19.  
  20. public void onEnable(){
  21. getServer().getPluginManager().registerEvents(this, this);
  22. }
  23.  
  24. public void onDisable(){
  25. try {
  26. if(connection != null || !connection.isClosed()){
  27. connection.close();
  28. }
  29. } catch (SQLException e) {
  30. // TODO Auto-generated catch block
  31. e.printStackTrace();
  32. }
  33. }
  34.  
  35. public synchronized static void openConnection(){
  36. try{
  37. connection = DriverManager.getConnection("jdbc:mysql:// 66.85.144.162:3306/mcph127666", "mcph127666", "061d3158f8");
  38.  
  39. }
  40. catch(Exception e){
  41. e.printStackTrace();
  42. }
  43.  
  44. }
  45. public synchronized static void closedConnection(){
  46. try{
  47. connection.close();
  48.  
  49. }
  50. catch(Exception e){
  51. e.printStackTrace();
  52. }
  53.  
  54. }
  55. public synchronized static boolean playerDataContainsPlayer(Player player){
  56. try{
  57. PreparedStatement sql = connection.prepareStatement("SELECT * FROM 'player_data' WHERE player = ?; ");
  58. sql.setString(1, player.getName());
  59. ResultSet resultSet = sql.executeQuery();
  60. boolean containsPlayer = resultSet.next();
  61.  
  62. sql.close();
  63. resultSet.close();
  64.  
  65. return containsPlayer;
  66.  
  67.  
  68. }catch(Exception e){
  69. e.printStackTrace();
  70. return false;
  71. }
  72. }
  73.  
  74. @EventHandler
  75. public void onPlayerLogin(PlayerLoginEvent event){
  76.  
  77. openConnection();
  78. try{
  79. int previousLogins = 0;
  80.  
  81. if(playerDataContainsPlayer (event.getPlayer())){
  82. PreparedStatement sql = connection.prepareStatement("SELECT logins FROM 'player_data' WHERE player = ?;");
  83. sql.setString(1, event.getPlayer().getName());
  84.  
  85. ResultSet result = sql.executeQuery();
  86. result.next();
  87.  
  88. previousLogins = result.getInt("logins");
  89.  
  90. PreparedStatement loginsUpdate = connection.prepareStatement("UPDATE 'player_data' SET logins=? WHERE player = ?");
  91. loginsUpdate.setInt(1, previousLogins+1);
  92. loginsUpdate.setString(2, event.getPlayer().getName());
  93. loginsUpdate.executeUpdate();
  94.  
  95. loginsUpdate.close();
  96. sql.close();
  97. result.close();
  98.  
  99. }else {
  100. PreparedStatement newPlayer = connection.prepareStatement("INSERT INTO 'player_data' values(?,0,0,1);");
  101.  
  102. newPlayer.setString(1, event.getPlayer().getName());
  103. newPlayer.execute();
  104. newPlayer.close();
  105. }
  106.  
  107.  
  108. }catch(Exception e){
  109. e.printStackTrace();
  110. }finally{
  111. closedConnection();
  112. }
  113.  
  114. }
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement