diff --git a/src/com/massivecraft/mcore/MCore.java b/src/com/massivecraft/mcore/MCore.java index 8539653c..91abe582 100644 --- a/src/com/massivecraft/mcore/MCore.java +++ b/src/com/massivecraft/mcore/MCore.java @@ -191,6 +191,10 @@ public class MCore extends MPlugin test("1months2ms"); */ + // Delete Files (at once and additionally after all plugins loaded) + TaskDeleteFiles.get().run(); + Bukkit.getScheduler().scheduleSyncDelayedTask(this, TaskDeleteFiles.get()); + this.postEnable(); } @@ -232,6 +236,7 @@ public class MCore extends MPlugin { super.onDisable(); ExamineThread.get().interrupt(); + TaskDeleteFiles.get().run(); } } diff --git a/src/com/massivecraft/mcore/MCoreConf.java b/src/com/massivecraft/mcore/MCoreConf.java index d638a10e..14765ffa 100644 --- a/src/com/massivecraft/mcore/MCoreConf.java +++ b/src/com/massivecraft/mcore/MCoreConf.java @@ -1,5 +1,6 @@ package com.massivecraft.mcore; +import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -56,6 +57,10 @@ public class MCoreConf extends Entity public Map getPermissionToTpdelay() { return this.permissionToTpdelay == null ? new LinkedHashMap() : new LinkedHashMap(this.permissionToTpdelay); } public void setPermissionToTpdelay(Map permissionToTpdelay) { this.permissionToTpdelay = permissionToTpdelay == null ? new LinkedHashMap() : new LinkedHashMap(permissionToTpdelay); this.changed(); } + private List deleteFiles = new ArrayList(); + public List getDeleteFiles() { return this.deleteFiles == null ? new ArrayList() : new ArrayList(this.deleteFiles); } + public void setDeleteFiles(List deleteFiles) { this.deleteFiles = deleteFiles == null ? new ArrayList() : new ArrayList(deleteFiles); this.changed(); } + // -------------------------------------------- // // HELP ACCESS // -------------------------------------------- // diff --git a/src/com/massivecraft/mcore/TaskDeleteFiles.java b/src/com/massivecraft/mcore/TaskDeleteFiles.java new file mode 100644 index 00000000..abf3bf41 --- /dev/null +++ b/src/com/massivecraft/mcore/TaskDeleteFiles.java @@ -0,0 +1,28 @@ +package com.massivecraft.mcore; + +import java.io.File; + +public class TaskDeleteFiles implements Runnable +{ + // -------------------------------------------- // + // INSTANCE & CONSTRUCT + // -------------------------------------------- // + + private static TaskDeleteFiles i = new TaskDeleteFiles(); + public static TaskDeleteFiles get() { return i; } + + // -------------------------------------------- // + // OVERRIDE + // -------------------------------------------- // + + @Override + public void run() + { + for (String deleteFile : MCoreConf.get().getDeleteFiles()) + { + File file = new File(deleteFile); + file.delete(); + } + } + +} \ No newline at end of file