From 5687dc92c444c78645c42ea3490006cf20546cfb Mon Sep 17 00:00:00 2001 From: BuildTools Date: Mon, 5 Dec 2016 01:47:13 -0500 Subject: [PATCH] tidying up --- src/iieLoadSaveEntireWorld/ConfigProcess.java | 20 ++--- src/iieLoadSaveEntireWorld/LoadProcess.java | 3 - src/iieLoadSaveEntireWorld/Main.java | 2 +- src/iieLoadSaveEntireWorld/TaskManager.java | 82 +++++++++++-------- src/iieLoadSaveEntireWorld/WorldObj.java | 19 +++-- 5 files changed, 70 insertions(+), 56 deletions(-) diff --git a/src/iieLoadSaveEntireWorld/ConfigProcess.java b/src/iieLoadSaveEntireWorld/ConfigProcess.java index f89ebf2..d4d981f 100644 --- a/src/iieLoadSaveEntireWorld/ConfigProcess.java +++ b/src/iieLoadSaveEntireWorld/ConfigProcess.java @@ -58,10 +58,6 @@ public class ConfigProcess implements Runnable { { this.name = name; config.set("@ CRASH RESUME", name); - } - ConfigProcess(boolean b) - { - name = config.getString("@ CRASH RESUME"); } public final void run() { @@ -82,13 +78,6 @@ public class ConfigProcess implements Runnable { + "]" ); } - final void finish() - { - config.set("@ FINISHED WORLDS", name); - config.set("@ CRASH RESUME", null); - config.set(name, null); - plugin.saveConfig(); - } final void stop() { run(); @@ -97,4 +86,13 @@ public class ConfigProcess implements Runnable { Bukkit.getLogger() .info("...stopping world-load"); } + final void finish() + { + config.set("@ FINISHED WORLDS", name); + config.set("@ CRASH RESUME", null); + config.set(name, null); + plugin.saveConfig(); + Bukkit.getLogger() + .info("...finished!"); + } } diff --git a/src/iieLoadSaveEntireWorld/LoadProcess.java b/src/iieLoadSaveEntireWorld/LoadProcess.java index 5f960e0..e0eb847 100644 --- a/src/iieLoadSaveEntireWorld/LoadProcess.java +++ b/src/iieLoadSaveEntireWorld/LoadProcess.java @@ -1,8 +1,5 @@ package iieLoadSaveEntireWorld; -import java.util.HashMap; -import java.util.Map; - import org.bukkit.Bukkit; import org.bukkit.World; diff --git a/src/iieLoadSaveEntireWorld/Main.java b/src/iieLoadSaveEntireWorld/Main.java index 20536d4..fb5addd 100644 --- a/src/iieLoadSaveEntireWorld/Main.java +++ b/src/iieLoadSaveEntireWorld/Main.java @@ -24,7 +24,7 @@ public class Main extends JavaPlugin { public final void run() { Bukkit.getLogger().info("...resuming from crash"); - TaskManager.start(null, ConfigProcess.getCrashResume()); + TaskManager.resume(ConfigProcess.getCrashResume()); } } } diff --git a/src/iieLoadSaveEntireWorld/TaskManager.java b/src/iieLoadSaveEntireWorld/TaskManager.java index b91bc90..edefa35 100644 --- a/src/iieLoadSaveEntireWorld/TaskManager.java +++ b/src/iieLoadSaveEntireWorld/TaskManager.java @@ -17,15 +17,29 @@ public class TaskManager { private static BukkitTask configTask; - //===================================CONTROLS================================== + //=====================================UTIL==================================== private static final void schedule() { - loadTask = Bukkit.getScheduler().runTaskTimer(ConfigProcess.plugin, loadProcess, 0, 200); - configTask = Bukkit.getScheduler().runTaskTimer(ConfigProcess.plugin, configProcess, 0, 400); + loadTask = Bukkit.getScheduler().runTaskTimer(ConfigProcess.plugin, loadProcess, 0, 200); + configTask = Bukkit.getScheduler().runTaskTimer(ConfigProcess.plugin, configProcess, 100, 200); } - //----------------------------------------------------------------------------- - static final boolean start(String[] args, String name) + private static final void closedown() + { + loadTask.cancel(); + configTask.cancel(); + + loadProcess = null; + configProcess = null; + loadTask = null; + configTask = null; + + inProgress = false; + } + + //===================================CONTROLS================================== + + private static final boolean start_or_resume(String[] args, String name) { boolean isNew; if (isNew = ConfigProcess.isNew(name)) @@ -40,36 +54,30 @@ public class TaskManager { schedule(); return isNew; } - private static final void stop_or_finish() + static final void resume(String name) { - loadTask.cancel(); - configTask.cancel(); - - loadProcess = null; - configProcess = null; - loadTask = null; - configTask = null; - - inProgress = false; + loadProcess = new LoadProcess(name); + configProcess = new ConfigProcess(name); + schedule(); + } + private static final boolean stop_or_finish() + { + boolean isFin; + if (isFin = loadProcess.n == loadProcess.totalRegions) + { + configProcess.finish(); + } + else + { + configProcess.stop(); + } + closedown(); + return isFin; } static final void finish() { configProcess.finish(); - stop_or_finish(); - } - private static final boolean stop() - { - if (inProgress) - { - if (loadProcess.n == loadProcess.totalRegions) finish(); - else - { - configProcess.stop(); - stop_or_finish(); - } - return true; - } - return false; + closedown(); } //===================================COMMANDS=================================== @@ -78,12 +86,16 @@ public class TaskManager { { public final boolean onCommand(CommandSender sender, Command label, String command, String[] args) { - if (stop()) + if (inProgress) { - sender.sendMessage("stopped."); + sender.sendMessage + ( + stop_or_finish() ? + "it just finished!" : + "stopping..." + ); return true; } - sender.sendMessage("nothing to stop."); return false; } } @@ -93,13 +105,13 @@ public class TaskManager { { if (inProgress) { - sender.sendMessage("a process is already running (" + configProcess.name + "). /StopLoadSave to stop."); + sender.sendMessage("already loading " + configProcess.name + ". /StopFullMapLoad to stop."); return false; } inProgress = true; sender.sendMessage ( - start(args,((Player)sender).getWorld().getName()) ? + start_or_resume(args,((Player)sender).getWorld().getName()) ? "starting..." : "resuming..." ); diff --git a/src/iieLoadSaveEntireWorld/WorldObj.java b/src/iieLoadSaveEntireWorld/WorldObj.java index 9addac6..2451cff 100644 --- a/src/iieLoadSaveEntireWorld/WorldObj.java +++ b/src/iieLoadSaveEntireWorld/WorldObj.java @@ -2,6 +2,9 @@ package iieLoadSaveEntireWorld; public class WorldObj { + private static final int dWidth = 44; //default + private static final int dTotal = dWidth * dWidth; + final int total; int[] current; int n; @@ -12,7 +15,7 @@ public class WorldObj { WorldObj() { - total = 1936;//(44*44) + total = dTotal; current = new int[] { -1, -1 }; } WorldObj(int total, int[] center) @@ -64,8 +67,8 @@ public class WorldObj { //============================================================================== private static final class ParsedArgs { - private static final int defaultRadius = 11264; - private static final int[] defaultCenter = new int[]{0,0}; + private static final int dRadius = dWidth/2 * 512 - 512; + private static final int[] dCenter = new int[]{0,0}; final int radius; final int[] center; @@ -77,7 +80,7 @@ public class WorldObj { } else { - radius = defaultRadius; + radius = dRadius; } if (args.length > 2 && isInt(args[1]) && isInt(args[2])) { @@ -86,7 +89,7 @@ public class WorldObj { } else { - center = defaultCenter; + center = dCenter; } } private static final boolean isInt(String arg) @@ -117,7 +120,11 @@ public class WorldObj { Math.floorDiv( a.center[1] - a.radius, 512 ), Math.floorDiv( a.center[1] + a.radius, 512 ) }; - //add margins--------------------------------------------------------------- + + //-------------------------------------------------------------------------- + //ADD MARGINS: + //-------------------------------------------------------------------------- + final int[] edges = new int[4]; final int[] radii = new int[4]; final boolean[] margin = new boolean[4];