diff --git a/pom.xml b/pom.xml
index 02a7168..91dc1c8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -103,6 +103,14 @@
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 9
+ 9
+
+
diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPCooldown.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPCooldown.java
index 4d641b3..4918a0b 100644
--- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPCooldown.java
+++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPCooldown.java
@@ -1,6 +1,7 @@
package me.SuperRonanCraft.BetterRTP.player.rtp;
import lombok.Getter;
+import me.SuperRonanCraft.BetterRTP.references.database.DatabaseCooldowns;
import me.SuperRonanCraft.BetterRTP.references.file.FileBasics;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import org.bukkit.configuration.InvalidConfigurationException;
@@ -9,29 +10,32 @@ import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
+import java.util.List;
import java.util.UUID;
public class RTPCooldown {
private final HashMap cooldowns = new HashMap<>(); //Cooldown timer for each player
- private HashMap locked = null; //Players locked from rtp'ing ever again
+ private HashMap uses = null; //Players locked from rtp'ing ever again
+ private final DatabaseCooldowns database = new DatabaseCooldowns();
@Getter boolean enabled;
private int
timer, //Cooldown timer
lockedAfter; //Rtp's before being locked
public void load() {
- configfile = new File(BetterRTP.getInstance().getDataFolder(), "data/cooldowns.yml");
+ database.load();
+ //configfile = new File(BetterRTP.getInstance().getDataFolder(), "data/cooldowns.yml");
cooldowns.clear();
- if (locked != null)
- locked.clear();
+ if (uses != null)
+ uses.clear();
FileBasics.FILETYPE config = FileBasics.FILETYPE.CONFIG;
enabled = config.getBoolean("Settings.Cooldown.Enabled");
if (enabled) {
timer = config.getInt("Settings.Cooldown.Time");
lockedAfter = config.getInt("Settings.Cooldown.LockAfter");
if (lockedAfter > 0)
- locked = new HashMap<>();
+ uses = new HashMap<>();
}
}
@@ -39,11 +43,11 @@ public class RTPCooldown {
if (!enabled) return;
cooldowns.put(id, System.currentTimeMillis());
if (lockedAfter > 0) {
- if (locked.containsKey(id))
- locked.put(id, locked.get(id) + 1);
+ if (uses.containsKey(id))
+ uses.put(id, uses.get(id) + 1);
else
- locked.put(id, 1);
- savePlayer(id, true, cooldowns.get(id), locked.get(id));
+ uses.put(id, 1);
+ savePlayer(id, true, cooldowns.get(id), uses.get(id));
} else
savePlayer(id, true, cooldowns.get(id), 0);
}
@@ -58,19 +62,19 @@ public class RTPCooldown {
}
public boolean locked(UUID id) {
- if (locked != null && locked.containsKey(id))
- return locked.get(id) >= lockedAfter;
+ if (uses != null && uses.containsKey(id))
+ return uses.get(id) >= lockedAfter;
return false;
}
public void removeCooldown(UUID id) {
if (!enabled) return;
if (lockedAfter > 0) {
- locked.put(id, locked.getOrDefault(id, 1) - 1);
- if (locked.get(id) <= 0) { //Remove from file as well
+ uses.put(id, uses.getOrDefault(id, 1) - 1);
+ if (uses.get(id) <= 0) { //Remove from file as well
savePlayer(id, false, 0L, 0);
} else { //Keep the player cached
- savePlayer(id, false, cooldowns.get(id), locked.get(id));
+ savePlayer(id, false, cooldowns.get(id), uses.get(id));
}
cooldowns.remove(id);
} else { //Remove completely
@@ -79,8 +83,13 @@ public class RTPCooldown {
}
}
- private void savePlayer(UUID id, boolean adding, long time, int attempts) {
- YamlConfiguration config = getFile();
+ private void savePlayer(UUID uuid, boolean adding, long time, int attempts) {
+ if (adding) {
+ database.setCooldown(uuid, time, attempts);
+ } else {
+ database.removePlayer(uuid);
+ }
+ /*YamlConfiguration config = getFile();
if (config == null) {
BetterRTP.getInstance().getLogger().severe("Unabled to save cooldown for the players UUID " + id
+ ". Cooldown file might have been compromised!");
@@ -97,12 +106,12 @@ public class RTPCooldown {
config.save(configfile);
} catch (IOException e) {
e.printStackTrace();
- }
+ }*/
}
- private File configfile;
+ /*private File configfile;
- private YamlConfiguration getFile() {
+ /*private YamlConfiguration getFile() {
if (!configfile.exists()) {
try {
configfile.getParentFile().mkdir();
@@ -119,11 +128,16 @@ public class RTPCooldown {
e.printStackTrace();
}
return null;
- }
+ }*/
public void loadPlayer(UUID uuid) {
if (isEnabled()) {
- String id = uuid.toString();
+ List