Sfoglia il codice sorgente

v1.4.1 - Forge 1.12.2 (4/10) + requires absolute: prefix.

Daniel Scalzi 7 anni fa
parent
commit
d2982ca387
3 ha cambiato i file con 42 aggiunte e 16 eliminazioni
  1. 27 1
      app/assets/js/processbuilder.js
  2. 13 13
      package-lock.json
  3. 2 2
      package.json

+ 27 - 1
app/assets/js/processbuilder.js

@@ -174,6 +174,32 @@ class ProcessBuilder {
         }
     }
 
+    /**
+     * Test to see if this version of forge requires the absolute: prefix
+     * on the modListFile repository field.
+     */
+    _requiresAbsolute(){
+        try {
+            const ver = this.forgeData.id.split('-')[2]
+            const pts = ver.split('.')
+            const min = [14, 23, 3, 2655]
+            for(let i=0; i<pts.length; i++){
+                const parsed = Number.parseInt(pts[i])
+                if(parsed < min[i]){
+                    return false
+                } else if(parsed > min[i]){
+                    return true
+                }
+            }
+        } catch (err) {
+            // We know old forge versions follow this format.
+            // Error must be caused by newer version.
+        }
+        
+        // Equal or errored
+        return true
+    }
+
     /**
      * Construct a mod list json object.
      * 
@@ -183,7 +209,7 @@ class ProcessBuilder {
      */
     constructModList(type, mods, save = false){
         const modList = {
-            repositoryRoot: path.join(this.commonDir, 'modstore')
+            repositoryRoot: ((type === 'forge' && this._requiresAbsolute()) ? 'absolute:' : '') + path.join(this.commonDir, 'modstore')
         }
 
         const ids = []

+ 13 - 13
package-lock.json

@@ -1,6 +1,6 @@
 {
   "name": "westeroscraftlauncher",
-  "version": "1.4.0",
+  "version": "1.4.1",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
@@ -1069,9 +1069,9 @@
       "dev": true
     },
     "eslint": {
-      "version": "5.10.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.10.0.tgz",
-      "integrity": "sha512-HpqzC+BHULKlnPwWae9MaVZ5AXJKpkxCVXQHrFaRw3hbDj26V/9ArYM4Rr/SQ8pi6qUPLXSSXC4RBJlyq2Z2OQ==",
+      "version": "5.11.1",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.11.1.tgz",
+      "integrity": "sha512-gOKhM8JwlFOc2acbOrkYR05NW8M6DCMSvfcJiBB5NDxRE1gv8kbvxKaC9u69e6ZGEMWXcswA/7eKR229cEIpvg==",
       "dev": true,
       "requires": {
         "@babel/code-frame": "^7.0.0",
@@ -1114,9 +1114,9 @@
       },
       "dependencies": {
         "ajv": {
-          "version": "6.6.1",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz",
-          "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==",
+          "version": "6.6.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz",
+          "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^2.0.1",
@@ -1145,9 +1145,9 @@
           }
         },
         "debug": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
-          "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
           "dev": true,
           "requires": {
             "ms": "^2.1.1"
@@ -3046,9 +3046,9 @@
       },
       "dependencies": {
         "ajv": {
-          "version": "6.6.1",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz",
-          "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==",
+          "version": "6.6.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz",
+          "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^2.0.1",

+ 2 - 2
package.json

@@ -1,6 +1,6 @@
 {
   "name": "westeroscraftlauncher",
-  "version": "1.4.0",
+  "version": "1.4.1",
   "productName": "WesterosCraft Launcher",
   "description": "Modded Minecraft Launcher",
   "author": "Daniel Scalzi (https://github.com/dscalzi/)",
@@ -43,7 +43,7 @@
     "cross-env": "^5.2.0",
     "electron": "^4.0.0",
     "electron-builder": "^20.38.4",
-    "eslint": "^5.10.0"
+    "eslint": "^5.11.1"
   },
   "repository": {
     "type": "git",