diff --git a/app/assets/css/nav.css b/app/assets/css/nav.css
deleted file mode 100755
index 6feed54..0000000
--- a/app/assets/css/nav.css
+++ /dev/null
@@ -1,48 +0,0 @@
-ul {
- list-style-type: none;
- margin: 0;
- padding: 0;
-}
-
-li {
- float: left;
- display: block;
- padding: 12px;
- padding-top: 5px;
- text-align: center;
-}
-
-
-li:hover {
- background-color: #a02d2a;
-}
-
-a{
- font-size: 20px;
- font-family: 'ringbearer';
-}
-.player_icon{
- margin-top: 120px;
- margin-left: -15px;
- width: 100%;
-}
-
-
-.input_text{
- font-size: 20px;
- font-family: 'bitter', italic;
- color: black;
- text-align: center;
- padding-top: 40px;
-}
-
-.input{
- width: 100%;
- margin: 0 auto;
- border: none;
- border-bottom: 3px solid #bdc3c7;
- outline: none;
- font-size: 20px;
-
-}
-
diff --git a/app/assets/css/styles.css b/app/assets/css/styles.css
index b1db4f1..10a79e5 100644
--- a/app/assets/css/styles.css
+++ b/app/assets/css/styles.css
@@ -86,15 +86,69 @@ html {
margin-right: 5px;
}
+/*******************************************************************************
+ * *
+ * Toggle Buttons *
+ * *
+ ******************************************************************************/
+
+.toggle-btn {
+ color: #000000;
+ font-size: 15px;
+ font-family: 'ringbearer';
+ user-select: none;
+ background-color: transparent;
+ display: inline-flex;
+ cursor: pointer;
+ width: 90px;
+ height: 35px;
+}
+
+.toggle-btn-grp .toggle-btn {
+ border-radius: 0;
+ align-items: center;
+ justify-content: center;
+}
+
+.toggle-btn:not(.success):hover {
+ box-shadow: inset 0 -4.5px 0 0 #000000;
+}
+
+.toggle-btn.success {
+ background: #a02d2a;
+ color: #ffffff;
+ cursor: default;
+}
+
+.visuallyhidden {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}
+
+.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
+ clip: auto;
+ height: auto;
+ margin: 0;
+ overflow: visible;
+ position: static;
+ width: auto;
+}
+
/*******************************************************************************
* *
* Left Body Container *
* *
******************************************************************************/
-#body_left_container {
- width: 25%;
- display: inline-block;
+#left_pane {
+ float: left;
+ width: 30%;
}
/*******************************************************************************
@@ -103,19 +157,14 @@ html {
* *
******************************************************************************/
-#body_right_container {
- width: 75%;
- display: inline-block;
+#right_pane {
+ float: right;
+ width: 70%;
}
-.mtoggle_button {
- text-align:centre;
- margin:5px 2px;
- padding:0.4em 3em;
- color:#000;
- background-color:#FFF;
- border-radius:10px;
- display:inline-block;
- border:solid 1px #CCC;
- cursor:pointer;
+#content_container {
+ border: 3px solid #a02d2a;
+ height: 98%;
+ width: 98%;
+ min-height: 325px;
}
\ No newline at end of file
diff --git a/app/assets/js/assetguard.js b/app/assets/js/assetguard.js
index aa502aa..f6b2a4e 100644
--- a/app/assets/js/assetguard.js
+++ b/app/assets/js/assetguard.js
@@ -146,6 +146,7 @@ class AssetGuard extends EventEmitter{
this.assets = new DLTracker([], 0)
this.libraries = new DLTracker([], 0)
this.files = new DLTracker([], 0)
+ this.forge = new DLTracker([], 0)
}
}
@@ -548,6 +549,16 @@ function validateLogConfig(versionData, basePath){
})
}
+function validateForge(){
+
+}
+
+function _validateForgeAssets(forgePath){
+
+}
+
+
+
/**
* This function will initiate the download processed for the specified identifiers. If no argument is
* given, all identifiers will be initiated. Note that in order for files to be processed you need to run
diff --git a/app/assets/js/script.js b/app/assets/js/script.js
index c2c7f1f..df978df 100644
--- a/app/assets/js/script.js
+++ b/app/assets/js/script.js
@@ -3,6 +3,17 @@ const remote = require('electron').remote
const shell = require('electron').shell
const path = require('path')
+$(document).on('ready', function(){
+ $(".toggle-btn input[type=radio]").addClass("visuallyhidden");
+ $(".toggle-btn input[type=radio]").change(function() {
+ if($(this).attr("name")) {
+ $(this).parent().addClass("success").siblings().removeClass("success")
+ } else {
+ $(this).parent().toggleClass("success")
+ }
+ })
+})
+
/* Open web links in the user's default browser. */
$(document).on('click', 'a[href^="http"]', function(event) {
event.preventDefault();
diff --git a/app/assets/westeroscraft.json b/app/assets/westeroscraft.json
new file mode 100644
index 0000000..19a4f7a
--- /dev/null
+++ b/app/assets/westeroscraft.json
@@ -0,0 +1,281 @@
+{
+ "version": "1.0",
+ "servers": [
+ {
+ "id": "WesterosCraft-1.11.2",
+ "name": "WesterosCraft Production Client",
+ "news-feed": "http://www.westeroscraft.com/api/rss.php?preset_id=12700544",
+ "icon-url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/server-prod.png",
+ "revision": "0.0.1",
+ "server-ip": "mc.westeroscraft.com:4444",
+ "mc-version": "1.11.2",
+ "autoconnect": true,
+ "modules": [
+ {
+ "id": "MODNAME",
+ "name": "Mod Name version 1.11.2",
+ "type": "forgemod",
+ "required": {
+ "value": false,
+ "def": false
+ },
+ "artifact": {
+ "size": 1234,
+ "MD5": "e71e88c744588fdad48d3b3beb4935fc",
+ "path": "forgemod path is appended to {basepath}/mods",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/somemod.jar"
+ }
+ },
+ {
+ "id": "net.minecraftforge.forge.forge-universal:1.11.2-13.20.0.2282",
+ "name": "Minecraft Forge 1.11.2-13.20.0.2282",
+ "type": "forge-hosted",
+ "artifact": {
+ "size": 4123353,
+ "MD5": "1d0f1b383ec122a993e374771c954be2",
+ "path": "net/minecraftforge/forge/1.11.2-13.20.0.2282/forge-1.11.2-13.20.0.2282-universal.jar",
+ "url": "http://files.minecraftforge.net/maven/net/minecraftforge/forge/1.11.2-13.20.0.2282/forge-1.11.2-13.20.0.2282-universal.jar"
+ },
+ "sub-modules": [
+ {
+ "id": "net.minecraft:launchwrapper:1.12",
+ "name": "Mojang (LaunchWrapper)",
+ "type": "library",
+ "artifact": {
+ "size": 32999,
+ "MD5": "934b2d91c7c5be4a49577c9e6b40e8da",
+ "path": "net/minecraft/launchwrapper/1.12/launchwrapper-1.12.jar",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/launchwrapper-1.12.jar"
+ }
+ },
+ {
+ "id": "org.ow2.asm:asm-all:5.0.3",
+ "name": "Mojang (ASM)",
+ "type": "library",
+ "artifact": {
+ "size": 241639,
+ "MD5": "c5cc4613bbdfba3ccf5f0ab85390d0b8",
+ "path": "org/ow2/asm/asm-all/5.0.3/asm-all-5.0.3.jar",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/asm-all-5.0.3.jar"
+ }
+ },
+ {
+ "id": "org.scala-lang:scala-library:2.11.1",
+ "name": "Minecraft Forge (scala-library)",
+ "type": "library",
+ "artifact": {
+ "size": 5612286,
+ "MD5": "f2d0c1ce6ab76531bbd48acbcd3d4ff1",
+ "path": "org/scala-lang/scala-library/2.11.1/scala-library-2.11.1.jar",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/scala-library-2.11.1.jar.pack.xz"
+ }
+ },
+ {
+ "id": "",
+ "name": "Minecraft Forge (scala-compiler)",
+ "type": "",
+ "artifact": {
+ "size": 0,
+ "MD5": "9c88616e35796955e0ff1235b11f1475",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/scala-compiler-2.11.1.jar.pack.xz"
+ }
+ },
+ {
+ "id": "",
+ "name": "Minecraft Forge (scala-actors-migration)",
+ "type": "",
+ "artifact": {
+ "size": 0,
+ "MD5": "55e0dc48a2a122353628a463b9499cf0",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/scala-actors-migration_2.11-1.1.0.jar.pack.xz"
+ }
+ },
+ {
+ "id": "",
+ "name": "Minecraft Forge (scala-continuations-library)",
+ "type": "",
+ "artifact": {
+ "size": 0,
+ "MD5": "820008ee6df308dafa0a6c478270aa19",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/scala-continuations-library_2.11-1.0.2.jar.pack.xz"
+ }
+ },
+ {
+ "id": "",
+ "name": "Minecraft Forge (scala-continuations-plugin)",
+ "type": "",
+ "artifact": {
+ "size": 0,
+ "MD5": "657a7ad23928bf4bee68202c7d7e1d56",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/scala-continuations-plugin_2.11.1-1.0.2.jar.pack.xz"
+ }
+ },
+ {
+ "id": "",
+ "name": "Minecraft Forge (scala-parser-combinators)",
+ "type": "",
+ "artifact": {
+ "size": 0,
+ "MD5": "de496467c91610e55e6e711b6bdbf10c",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/scala-parser-combinators_2.11-1.0.1.jar.pack.xz"
+ }
+ },
+ {
+ "id": "",
+ "name": "Minecraft Forge (scala-reflect)",
+ "type": "",
+ "artifact": {
+ "size": 0,
+ "MD5": "abbdaf710e856f6e65376706c9505952",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/scala-reflect-2.11.1.jar.pack.xz"
+ }
+ },
+ {
+ "id": "",
+ "name": "Minecraft Forge (scala-swing)",
+ "type": "",
+ "artifact": {
+ "size": 0,
+ "MD5": "1d360289e697022a3f57abaad344b28f",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/scala-swing_2.11-1.0.1.jar"
+ }
+ },
+ {
+ "id": "",
+ "name": "Minecraft Forge (scala-xml)",
+ "type": "",
+ "artifact": {
+ "size": 0,
+ "MD5": "1c5a20efca1474626e0e0123f9cdd8ce",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/scala-xml_2.11-1.0.2.jar.pack.xz"
+ }
+ },
+ {
+ "id": "",
+ "name": "Minecraft Forge (akka-actor)",
+ "type": "",
+ "artifact": {
+ "size": 0,
+ "MD5": "469367f3308e571b1bdf2192d7779807",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/akka-actor_2.11-2.3.3.jar.pack.xz"
+ }
+ },
+ {
+ "id": "",
+ "name": "Minecraft Forge (typesafe-config)",
+ "type": "",
+ "artifact": {
+ "size": 0,
+ "MD5": "f24b281c40daef1280d5ef26b11caa63",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/config-1.2.1.jar.pack.xz"
+ }
+ },
+ {
+ "id": "",
+ "name": "Mojang (LZMA)",
+ "type": "",
+ "artifact": {
+ "size": 0,
+ "MD5": "a3e3c3186e41c4a1a3027ba2bb23cdc6",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/lzma-0.0.1.jar"
+ }
+ },
+ {
+ "id": "",
+ "name": "Trove4J 3.0.3",
+ "type": "",
+ "artifact": {
+ "size": 0,
+ "MD5": "8fc4d4e0129244f9fd39650c5f30feb2",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/trove4j-3.0.3.jar"
+ }
+ },
+ {
+ "id": "",
+ "name": "Vecmath 1.5.2",
+ "type": "",
+ "artifact": {
+ "size": 0,
+ "MD5": "e5d2b7f46c4800a32f62ce75676a5710",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/vecmath-1.5.2.jar"
+ }
+ },
+ {
+ "id": "",
+ "name": "Jopt-simple 4.6",
+ "type": "",
+ "artifact": {
+ "size": 0,
+ "MD5": "13560a58a79b46b82057686543e8d727",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/jopt-simple-4.6.jar"
+ }
+ },
+ {
+ "id": "",
+ "name": "MercuriusUpdater 1.11.2",
+ "type": "library",
+ "artifact": {
+ "size": 0,
+ "MD5": "13560a58a79b46b82057686543e8d727",
+ "path": "",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/MercuriusUpdater-1.11.2.jar"
+ }
+ }
+ ]
+ },
+ {
+ "id": "net.optifine.optifine:1.11.2_HD_U_B8",
+ "name": "Optifine 1.11.2 HD U B8",
+ "type": "library",
+ "artifact": {
+ "size": 2050307,
+ "MD5": "c18c80f8bfa2a440cc5af4ab8816bc4b",
+ "path": "optifine/OptiFine/1.11.2_HD_U_B8/OptiFine-1.11.2_HD_U_B8.jar",
+ "url": "http://optifine.net/download.php?f=OptiFine_1.11.2_HD_U_B8.jar"
+ }
+ },
+ {
+ "id": "chatbubbles",
+ "name": "Chat Bubbles 1.11.2",
+ "type": "litemod",
+ "required": {
+ "value": false
+ },
+ "artifact": {
+ "size": 37838,
+ "MD5": "0497a93e5429b43082282e9d9119fcba",
+ "path": "litemod path is appended to {basepath}/mods/{mc-version}",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/mod_chatBubbles-1.0.1_for_1.11.2.litemod"
+ },
+ "sub-modules": [
+ {
+ "id": "customRegexes",
+ "name": "Custom Regexes for Chat Bubbles",
+ "type": "file",
+ "artifact": {
+ "size": 331,
+ "MD5": "f21b4b325f09238a3d6b2103d54351ef",
+ "path": "file path is appended to {basepath}",
+ "url": "http://mc.westeroscraft.com/WesterosCraftLauncher/files/1.11.2/customRegexes.txt"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/app/assets/westeroscraft.xml b/app/assets/westeroscraft.xml
new file mode 100644
index 0000000..417dcdf
--- /dev/null
+++ b/app/assets/westeroscraft.xml
@@ -0,0 +1,151 @@
+
+