diff --git a/BetterRTPAddons/pom.xml b/BetterRTPAddons/pom.xml
index 46ed013..988eea6 100644
--- a/BetterRTPAddons/pom.xml
+++ b/BetterRTPAddons/pom.xml
@@ -87,7 +87,7 @@
me.SuperRonanCraft
BetterRTP
- 2.14.5
+ LATEST
provided
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Addon.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Addon.java
index f89e81d..91de6f5 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Addon.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Addon.java
@@ -15,4 +15,9 @@ public interface Addon {
//Unload the addon if enabled
void unload();
+ //Ability to grab a file
+ default Files.FILETYPE getFile(Files.FILETYPE filetype) {
+ return Main.getInstance().getFiles().getType(filetype);
+ }
+
}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsHandler.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsHandler.java
index 703572b..8adeb6b 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsHandler.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/AddonsHandler.java
@@ -1,13 +1,10 @@
package me.SuperRonanCraft.BetterRTPAddons;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
-import me.SuperRonanCraft.BetterRTPAddons.flashback.AddonFlashback;
-import me.SuperRonanCraft.BetterRTPAddons.interfaces.AddonInterface;
-import me.SuperRonanCraft.BetterRTPAddons.logger.AddonLogger;
-import me.SuperRonanCraft.BetterRTPAddons.portals.AddonPortals;
-import org.bukkit.Bukkit;
-import org.bukkit.event.HandlerList;
-import org.bukkit.event.Listener;
+import me.SuperRonanCraft.BetterRTPAddons.addons.flashback.AddonFlashback;
+import me.SuperRonanCraft.BetterRTPAddons.addons.interfaces.AddonInterface;
+import me.SuperRonanCraft.BetterRTPAddons.addons.logger.AddonLogger;
+import me.SuperRonanCraft.BetterRTPAddons.addons.portals.AddonPortals;
import java.util.ArrayList;
import java.util.List;
@@ -19,10 +16,7 @@ public class AddonsHandler {
AddonsCommand cmd = new AddonsCommand();
public void load() {
- for (Addons addon : addons) {
- addon.disable();
- }
- addons.clear();
+ unload();
for (Addons addon : Addons.values())
if (addon.isEnabled()) {
addon.load();
@@ -33,11 +27,18 @@ public class AddonsHandler {
BetterRTP.getInstance().getCmd().registerCommand(cmd, false);
}
+ public void unload() {
+ for (Addons addon : addons)
+ addon.disable();
+ addons.clear();
+ }
+
enum Addons {
+ LOGGER(new AddonLogger()),
FLASH_BACK(new AddonFlashback()),
PORTALS(new AddonPortals()),
- INTERFACES(new AddonInterface()),
- LOGGER(new AddonLogger());
+ INTERFACES(new AddonInterface())
+ ;
Addon addon;
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Files.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Files.java
index 3a0d32b..dcbb4b9 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Files.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Files.java
@@ -1,6 +1,5 @@
package me.SuperRonanCraft.BetterRTPAddons;
-import me.SuperRonanCraft.BetterRTP.BetterRTP;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.YamlConfiguration;
@@ -12,7 +11,11 @@ import java.util.List;
import java.util.Map;
public class Files {
- List types = new ArrayList<>();
+ private List types = new ArrayList<>();
+
+ public FILETYPE getType(FILETYPE type) {
+ return types.get(types.indexOf(type));
+ }
void load() {
types.clear();
@@ -28,6 +31,7 @@ public class Files {
private final String fileName;
private final YamlConfiguration config = new YamlConfiguration();
private final File file;
+ boolean loaded = false;
FILETYPE(String str) {
this.fileName = str + ".yml";
@@ -85,6 +89,7 @@ public class Files {
//PROCCESSING
private void load() {
+ loaded = true;
if (!file.exists()) {
Main.getInstance().saveResource(fileName, false);
try {
@@ -95,7 +100,7 @@ public class Files {
} else {
try {
config.load(file);
- final InputStream in = BetterRTP.getInstance().getResource(fileName);
+ final InputStream in = Main.getInstance().getResource(fileName);
if (in != null) {
config.setDefaults(YamlConfiguration.loadConfiguration(new InputStreamReader(in)));
config.options().copyDefaults(true);
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Main.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Main.java
index daf2eb5..883ed8a 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Main.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/Main.java
@@ -15,11 +15,20 @@ public class Main extends JavaPlugin {
load();
}
+ @Override
+ public void onDisable() {
+ addonsHandler.unload();
+ }
+
void load() {
files.load();
addonsHandler.load();
}
+ public Files getFiles() {
+ return files;
+ }
+
public AddonsHandler getAddonsHandler() {
return addonsHandler;
}
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/ReloadListener.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/ReloadListener.java
index ec022e5..ccb2683 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/ReloadListener.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/ReloadListener.java
@@ -1,6 +1,5 @@
package me.SuperRonanCraft.BetterRTPAddons;
-import me.SuperRonanCraft.BetterRTP.player.commands.RTPCommandType;
import me.SuperRonanCraft.BetterRTP.player.commands.types.CmdReload;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CommandEvent;
import org.bukkit.Bukkit;
diff --git a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/flashback/AddonFlashback.java b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/flashback/AddonFlashback.java
similarity index 54%
rename from BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/flashback/AddonFlashback.java
rename to BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/flashback/AddonFlashback.java
index ca58f29..c48d1e3 100644
--- a/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/flashback/AddonFlashback.java
+++ b/BetterRTPAddons/src/main/java/me/SuperRonanCraft/BetterRTPAddons/addons/flashback/AddonFlashback.java
@@ -1,4 +1,4 @@
-package me.SuperRonanCraft.BetterRTPAddons.flashback;
+package me.SuperRonanCraft.BetterRTPAddons.addons.flashback;
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
import me.SuperRonanCraft.BetterRTPAddons.Addon;
@@ -10,7 +10,10 @@ import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import java.util.logging.Level;
//When rtp'ing, a player will be teleported back to old location after a set amount of time
public class AddonFlashback implements Addon, Listener {
@@ -19,17 +22,37 @@ public class AddonFlashback implements Addon, Listener {
public final FlashbackMessages msgs = new FlashbackMessages();
public final FlashbackDatabase database = new FlashbackDatabase();
List players = new ArrayList<>();
+ HashMap warnings = new HashMap<>();
public boolean isEnabled() {
- return Files.FILETYPE.FLASHBACK.getBoolean("Enabled");
+ return getFile(Files.FILETYPE.FLASHBACK).getBoolean("Enabled");
}
@Override
public void load() {
- Files.FILETYPE file = Files.FILETYPE.FLASHBACK;
+ Files.FILETYPE file = getFile(Files.FILETYPE.FLASHBACK);
this.time = file.getConfig().getLong("Time");
this.database.load(FlashbackDatabase.Columns.values());
+
+ warnings.clear();
Bukkit.getPluginManager().registerEvents(this, Main.getInstance());
+ List