Advertisement
Exception_Prototype

Untitled

Aug 27th, 2018
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.52 KB | None | 0 0
  1. import com.google.common.collect.Maps;
  2. import org.bukkit.entity.Player;
  3. import org.bukkit.event.EventHandler;
  4. import org.bukkit.event.player.PlayerJoinEvent;
  5. import org.bukkit.event.player.PlayerQuitEvent;
  6.  
  7. import java.sql.PreparedStatement;
  8. import java.sql.ResultSet;
  9. import java.sql.SQLException;
  10. import java.util.Map;
  11.  
  12. public class Test {
  13.  
  14.     private static class Data {
  15.  
  16.         private int keys;
  17.  
  18.         public Data(int keys) {
  19.             this.keys = keys;
  20.         }
  21.  
  22.         //
  23.  
  24.     }
  25.  
  26.     private static final Map<String, Data> players = Maps.newHashMap();
  27.  
  28.     @EventHandler
  29.     public void join(PlayerJoinEvent event) {
  30.         loadPlayer(event.getPlayer());
  31.     }
  32.  
  33.     @EventHandler
  34.     public void quit(PlayerQuitEvent event) {
  35.         savePlayer(event.getPlayer());
  36.     }
  37.  
  38.     private void loadPlayer(Player player) {
  39.         String name = player.getName();
  40.         Data data = loadPlayer(name);
  41.         if (data != null) {
  42.             Data put = players.put(name, data);
  43.             if (put != null) {
  44.                 //
  45.             }
  46.         }
  47.     }
  48.  
  49.     private void savePlayer(Player player) {
  50.         String name = player.getName();
  51.         Data remove = players.remove(name);
  52.         if (remove != null) {
  53.             savePlayer(name, remove);
  54.         }
  55.     }
  56.  
  57.     //DATABASE
  58.  
  59.     private static final String SELECT_PLAYER = "SELECT * FROM `table` WHERE name = ?;";
  60.     private static final String INSERT_OR_UPDATE_PLAYER = "SELECT * FROM `table` WHERE name = ?;";
  61.  
  62.     private Data loadPlayer(String name) {
  63.         Data data = null;
  64.         try (PreparedStatement ps = getConnection().prepareStatement(SELECT_PLAYER)) {
  65.             ps.setString(1, name);
  66.             try (ResultSet rs = ps.executeQuery()) {
  67.                 if (rs.next()) {
  68.                     data = new Data(rs.getInt("keys"));
  69.                 } else {
  70.                     data = new Data(0);
  71.                 }
  72.             }
  73.         } catch (SQLException ex) {
  74.             this.logger.error("Could not check player is banned -> " + name, ex);
  75.         }
  76.         return data;
  77.     }
  78.  
  79.     private void savePlayer(String name, Data data) {
  80.         try (PreparedStatement ps = getConnection().prepareStatement(INSERT_OR_UPDATE_PLAYER)) {
  81.             ps.setString(1, name);
  82.             ps.setInt(2, data.keys);
  83.             ps.executeQuery();
  84.             ps.execute();
  85.         } catch (SQLException ex) {
  86.             this.logger.error("Could not check player is banned -> " + name, ex);
  87.         }
  88.     }
  89.  
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement