diff --git a/parabotv2/src/org/parabot/Landing.java b/parabotv2/src/org/parabot/Landing.java index 0f98f77..257378f 100644 --- a/parabotv2/src/org/parabot/Landing.java +++ b/parabotv2/src/org/parabot/Landing.java @@ -8,6 +8,8 @@ import org.parabot.core.ui.ServerSelector; import org.parabot.core.ui.utils.UILog; import javax.swing.*; + +import java.io.File; import java.io.IOException; /** @@ -89,6 +91,12 @@ public final class Landing { case "-dump": Core.setDump(true); break; + case "-scriptsbin": + Directories.setScriptCompiledDirectory(new File(args[++i])); + break; + case "-serversbin": + Directories.setServerCompiledDirectory(new File(args[++i])); + break; } } diff --git a/parabotv2/src/org/parabot/core/Directories.java b/parabotv2/src/org/parabot/core/Directories.java index e895dac..8afaf74 100644 --- a/parabotv2/src/org/parabot/core/Directories.java +++ b/parabotv2/src/org/parabot/core/Directories.java @@ -16,7 +16,7 @@ public class Directories { private static Map cached; static { - cached = new HashMap(); + cached = new HashMap(); switch (OperatingSystem.getOS()) { case WINDOWS: cached.put("Root", new JFileChooser().getFileSystemView().getDefaultDirectory()); @@ -36,6 +36,30 @@ public class Directories { cached.put("Cache", new File(cached.get("Root"), "/Parabot/cache/")); Core.verbose("Directories cached."); } + + /** + * Set script bin folder + * @param f + */ + public static void setScriptCompiledDirectory(File f) { + if(!f.isDirectory()) { + throw new IllegalArgumentException(f + "is not a directory."); + } + cached.put("Compiled", f); + } + + /** + * Set server bin folder + * @param f + */ + public static void setServerCompiledDirectory(File f) { + if(!f.isDirectory()) { + throw new IllegalArgumentException(f + "is not a directory."); + } + cached.put("Servers", f); + } + + /** * Returns the root directory outside of the main Parabot folder.