Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.google.common.collect.Maps;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.Map;
- public class Test {
- private static class Data {
- private int keys;
- public Data(int keys) {
- this.keys = keys;
- }
- //
- }
- private static final Map<String, Data> players = Maps.newHashMap();
- @EventHandler
- public void join(PlayerJoinEvent event) {
- loadPlayer(event.getPlayer());
- }
- @EventHandler
- public void quit(PlayerQuitEvent event) {
- savePlayer(event.getPlayer());
- }
- private void loadPlayer(Player player) {
- String name = player.getName();
- Data data = loadPlayer(name);
- if (data != null) {
- Data put = players.put(name, data);
- if (put != null) {
- //
- }
- }
- }
- private void savePlayer(Player player) {
- String name = player.getName();
- Data remove = players.remove(name);
- if (remove != null) {
- savePlayer(name, remove);
- }
- }
- //DATABASE
- private static final String SELECT_PLAYER = "SELECT * FROM `table` WHERE name = ?;";
- private static final String INSERT_OR_UPDATE_PLAYER = "SELECT * FROM `table` WHERE name = ?;";
- private Data loadPlayer(String name) {
- Data data = null;
- try (PreparedStatement ps = getConnection().prepareStatement(SELECT_PLAYER)) {
- ps.setString(1, name);
- try (ResultSet rs = ps.executeQuery()) {
- if (rs.next()) {
- data = new Data(rs.getInt("keys"));
- } else {
- data = new Data(0);
- }
- }
- } catch (SQLException ex) {
- this.logger.error("Could not check player is banned -> " + name, ex);
- }
- return data;
- }
- private void savePlayer(String name, Data data) {
- try (PreparedStatement ps = getConnection().prepareStatement(INSERT_OR_UPDATE_PLAYER)) {
- ps.setString(1, name);
- ps.setInt(2, data.keys);
- ps.executeQuery();
- ps.execute();
- } catch (SQLException ex) {
- this.logger.error("Could not check player is banned -> " + name, ex);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement