Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.84 KB | None | 0 0
  1. package me.shorty.dailyreward.utils;
  2.  
  3. import me.shorty.dailyreward.DailyReward;
  4. import org.bukkit.Bukkit;
  5.  
  6. import java.sql.SQLException;
  7. import java.util.HashMap;
  8. import java.util.Map;
  9. import java.util.function.Consumer;
  10.  
  11. public class RewardPlayerManager {
  12.  
  13. public void playerExists(String uuid, Consumer<Boolean> exists) {
  14. DailyReward.getInstance().getMysql().query("SELECT * FROM dailyreward WHERE UUID='" + uuid + "'", resultSet -> {
  15. if (resultSet != null) {
  16. try {
  17. exists.accept(resultSet.first());
  18. resultSet.close();
  19. } catch (SQLException e) {
  20. e.printStackTrace();
  21. }
  22. } else {
  23. exists.accept(false);
  24. }
  25. });
  26. }
  27.  
  28. public void getPlayerRewardTime(String uuid, Consumer<HashMap<DailyReward.RewardType, Long>> exists) {
  29. DailyReward.getInstance().getMysql().query("SELECT * FROM dailyreward WHERE UUID='" + uuid + "'", resultSet -> {
  30. if (resultSet != null) {
  31. try {
  32. if(resultSet.next()) {
  33. HashMap<DailyReward.RewardType, Long> map = new HashMap<>();
  34. String[] results = resultSet.getString("rewards").split(";");
  35. for (String s : results) {
  36. String[] a = s.split("=");
  37. map.put(DailyReward.RewardType.valueOf(a[0]), Long.parseLong(a[1]));
  38. }
  39. exists.accept(map);
  40. } else {
  41. exists.accept(new HashMap<>());
  42. }
  43. } catch (SQLException e) {
  44. e.printStackTrace();
  45. exists.accept(new HashMap<>());
  46. }
  47. try {
  48. resultSet.close();
  49. } catch (SQLException e) {
  50. e.printStackTrace();
  51. }
  52. } else {
  53. exists.accept(new HashMap<>());
  54. }
  55. });
  56. }
  57.  
  58. public void createPlayer(String uuid) {
  59. playerExists(uuid, aBoolean -> {
  60. if (!aBoolean) {
  61. HashMap<DailyReward.RewardType, Long> map = new HashMap<>();
  62. for (DailyReward.RewardType rewardType : DailyReward.RewardType.values()) {
  63. map.put(rewardType, 0L);
  64. }
  65. StringBuilder a = new StringBuilder();
  66. for (Map.Entry<DailyReward.RewardType, Long> s : map.entrySet()) {
  67. a.append(s.getKey().name()).append("=").append(s.getValue().toString()).append(";");
  68. }
  69. DailyReward.getInstance().playerMap.put(uuid, map);
  70. DailyReward.getInstance().getMysql().update("INSERT INTO dailyreward(Server, UUID, rewards) VALUES ('" + Bukkit.getServerName() + "','" + uuid + "','" + a.toString() + "')");
  71. }
  72. });
  73. }
  74.  
  75. public void updateValue(String uuid, DailyReward.RewardType rewardType, long value) {
  76. HashMap<DailyReward.RewardType, Long> map = DailyReward.getInstance().playerMap.get(uuid);
  77. map.put(rewardType, value);
  78. DailyReward.getInstance().playerMap.put(uuid, map);
  79. }
  80.  
  81. public void savePlayer(String uuid, Consumer<Boolean> done) {
  82. HashMap<DailyReward.RewardType, Long> map = DailyReward.getInstance().playerMap.get(uuid);
  83. StringBuilder a = new StringBuilder();
  84. for (Map.Entry<DailyReward.RewardType, Long> s : map.entrySet()) {
  85. a.append(s.getKey().name()).append("=").append(s.getValue().toString()).append(";");
  86. }
  87. DailyReward.getInstance().getMysql().updateAndRemove("UPDATE dailyreward SET rewards='" + a.toString() + "' WHERE UUID='" + uuid + "'", done);
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement