Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.shorty.dailyreward.utils;
- import me.shorty.dailyreward.DailyReward;
- import org.bukkit.Bukkit;
- import java.sql.SQLException;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.function.Consumer;
- public class RewardPlayerManager {
- public void playerExists(String uuid, Consumer<Boolean> exists) {
- DailyReward.getInstance().getMysql().query("SELECT * FROM dailyreward WHERE UUID='" + uuid + "'", resultSet -> {
- if (resultSet != null) {
- try {
- exists.accept(resultSet.first());
- resultSet.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- } else {
- exists.accept(false);
- }
- });
- }
- public void getPlayerRewardTime(String uuid, Consumer<HashMap<DailyReward.RewardType, Long>> exists) {
- DailyReward.getInstance().getMysql().query("SELECT * FROM dailyreward WHERE UUID='" + uuid + "'", resultSet -> {
- if (resultSet != null) {
- try {
- if(resultSet.next()) {
- HashMap<DailyReward.RewardType, Long> map = new HashMap<>();
- String[] results = resultSet.getString("rewards").split(";");
- for (String s : results) {
- String[] a = s.split("=");
- map.put(DailyReward.RewardType.valueOf(a[0]), Long.parseLong(a[1]));
- }
- exists.accept(map);
- } else {
- exists.accept(new HashMap<>());
- }
- } catch (SQLException e) {
- e.printStackTrace();
- exists.accept(new HashMap<>());
- }
- try {
- resultSet.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- } else {
- exists.accept(new HashMap<>());
- }
- });
- }
- public void createPlayer(String uuid) {
- playerExists(uuid, aBoolean -> {
- if (!aBoolean) {
- HashMap<DailyReward.RewardType, Long> map = new HashMap<>();
- for (DailyReward.RewardType rewardType : DailyReward.RewardType.values()) {
- map.put(rewardType, 0L);
- }
- StringBuilder a = new StringBuilder();
- for (Map.Entry<DailyReward.RewardType, Long> s : map.entrySet()) {
- a.append(s.getKey().name()).append("=").append(s.getValue().toString()).append(";");
- }
- DailyReward.getInstance().playerMap.put(uuid, map);
- DailyReward.getInstance().getMysql().update("INSERT INTO dailyreward(Server, UUID, rewards) VALUES ('" + Bukkit.getServerName() + "','" + uuid + "','" + a.toString() + "')");
- }
- });
- }
- public void updateValue(String uuid, DailyReward.RewardType rewardType, long value) {
- HashMap<DailyReward.RewardType, Long> map = DailyReward.getInstance().playerMap.get(uuid);
- map.put(rewardType, value);
- DailyReward.getInstance().playerMap.put(uuid, map);
- }
- public void savePlayer(String uuid, Consumer<Boolean> done) {
- HashMap<DailyReward.RewardType, Long> map = DailyReward.getInstance().playerMap.get(uuid);
- StringBuilder a = new StringBuilder();
- for (Map.Entry<DailyReward.RewardType, Long> s : map.entrySet()) {
- a.append(s.getKey().name()).append("=").append(s.getValue().toString()).append(";");
- }
- DailyReward.getInstance().getMysql().updateAndRemove("UPDATE dailyreward SET rewards='" + a.toString() + "' WHERE UUID='" + uuid + "'", done);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement