Jump to content

[SOLVED] How to specify absolute path in mod_list.json?


SuperGeniusZeb

Recommended Posts

I've placed all my mods in a central location, and I'm trying to load them using a mod_list.json in ".minecraft/mods/1.10.2". I'm not sure how to specify an absolute path, though. I tried doing what the Github page said, and my .json looks like:

 

{
  "repositoryRoot": "absolute:C:/Users/[MY-USERNAME]/Documents/Minecraft/Mods/1.10.2",
  "modRef": [
    //lots of mods here
  ],
  "parentList": ""
}

 

When I start up the game, however, none of the mods load. The launcher logs say:

 

11:21:26 PM FML Failed to read modList json file .

11:21:26 PM FML Failed to find the specified repository root absolute:C:/Users/[MY-USERNAME]/Documents/Minecraft/Mods/1.10.2

11:21:26 PM FML Failed to read modList json file .

11:21:26 PM FML Failed to find the specified repository root absolute:C:/Users/[MY-USERNAME]/Documents/Minecraft/Mods/1.10.2

 

Possibly relevant: I'm using the latest version of the new beta native Minecraft launcher, using the latest version of Forge for 1.10.2, and I'm running Windows 10 64-bit.

 

Do you have to type the absolute path differently? Or is the mod_list.json thing just broken with the new launcher?

Colore - The mod that adds monochrome blocks in every color of the rainbow!

http://www.minecraftforge.net/forum/index.php?topic=35149

 

If you're looking to learn how to make mods for 1.9.4, I wrote a helpful article with links to a lot of useful resources for learning Minecraft 1.9.4 modding!

 

http://supergeniuszeb.com/mods/a-helpful-list-of-minecraft-1-9-4-modding-resources/

Link to comment
Share on other sites

The

absolute:

prefix is only used for list file paths, i.e. the

--modListFile

command-line argument and the

"parentList"

property in the list file.

 

The

"repositoryRoot"

property is absolute by default, but you can use

.

for the Minecraft directory or

..

for the parent directory (like regular filesystem paths).

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

I've already read that. That's how I knew how to format the mod_list.json in the first place. But thanks anyway. :)

The

absolute:

prefix is only used for list file paths, i.e. the

--modListFile

command-line argument and the

"parentList"

property in the list file.

 

The

"repositoryRoot"

property is absolute by default, but you can use

.

for the Minecraft directory or

..

for the parent directory (like regular filesystem paths).

Ok, I changed the mod_list.json, and here is what it looks like, complete with all the mods I have listed:

 

{
  "repositoryRoot": "C:/Users/[uSERNAME]/Documents/Minecraft/Mods/1.10.2",
  "modRef": [
    "ActuallyAdditions-1.10.2-r69",
    "Baubles-1.10.2-1.3.2",
    "BetterAchievements-1.10.2-0.3.1.34",
    "BiomesOPlenty-1.10.2-5.0.0.2091-universal",
    "Botania r1.9-337",
    "buildersguides-1.10.2-1.0.2",
    "chameleoncreepers-1.4.1-1.10.2",
    "Chisel-MC1.10.2-0.0.7.3",
    "chiselsandbits-12.7",
    "Colore-mc1.10-1.2",
    "ColossalChests-1.9.4-1.4.0",
    "ComputerCraft1.80pr0",
    "CookingForBlockheads_1.10.2-4.2.26",
    "CraftingTweaks_1.10.2-6.1.16",
    "CreeperAwareness-2.0.2-1.10.2",
    "DarkUtilities-1.10.2-1.1.5.95",
    "deepresonance-1.10-1.2.9",
    "EnderIO-1.10.2-3.0.1.125_beta",
    "extrautils2-1.10.2-alpha-1.2.1",
    "flatcoloredblocks-mc1.10-v4.3",
    "forestry_1.10.2-5.2.16.314",
    "gearswap-1.9.4-1.2.6",
    "grapplemod-1.10-v8",
    "hopperducts-mc1.9.4-1.4.8",
    "immcraft-1.10-1.1.8",
    "InventoryTweaks-1.62-dev-66",
    "inventory_x-1.10-1.0.1",
    "ironchest-1.10.2-7.0.11.797",
    "ItemPhysic Lite 1.3.2 mc1.10.2",
    "jei_1.10.2-3.13.2.354",
    "JustEnoughResources-1.10.2-0.5.4.67",
    "MouseTweaks-2.6.4-mc1.10.2",
    "OpenComputers-MC1.10.2-1.6.0.3-rc.1",
    "OptiFine_1.10.2_HD_U_D2",
    "Pam's HarvestCraft 1.9.4-1.10.2h",
    "Psi-r1.0-41",
    "Quark-r1.0-57",
    "redstonepaste-mc1.9.4-1.7.4",
    "refinedstorage-1.2",
    "rftools-1.10-5.58",
    "StorageDrawers-1.9-3.1.8",
    "SuperCircuitMaker-1.0.1",
    "TechReborn-1.10.2-1.4.8.81-universal",
    "theoneprobe-1.10-1.2.1",
    "SpiceOfLife-mc1.9.4-1.3.6",
    "TConstruct-1.10.2-2.5.6b",
    "VisibleArmorSlots[1.10.2]-2.0",
    "lib:AppleCore-mc1.10.2-2.0.1",
    "lib:AutoRegLib-1.0-2",
    "lib:Bookshelf-1.10.2-1.4.2.334",
    "lib:Chameleon-1.9-2.1.4",
    "lib:CyclopsCore-1.9.4-0.8.0",
    "lib:ElecCore-1.10.2-1.6.328",
    "lib:EnderCore-1.10.2-0.4.1.58-beta",
    "lib:Excore-1.6.2-1.10.2",
    "lib:Mantle-1.10.2-1.1.1",
    "lib:mcjtylib-1.10-2.2.0",
    "lib:RebornCore-1.10.2-2.8.0.61-universal"
  ],
  "parentList": ""
}

 

 

And now Forge just crashes when I try to start the game. Here's what the launcher logs say:

 

8:33:22 AM FML Forge Mod Loader version 12.18.2.2121 for Minecraft 1.10.2 loading

8:33:22 AM FML Java is Java HotSpot 64-Bit Server VM, version 1.8.0_51, running on Windows 8.1:amd64:6.3, installed at C:\Program Files (Portable)\minecraft_test_launcher\runtime\jre-x64\1.8.0_51

8:33:22 AM FML Failed to read modList json file .

8:33:22 AM STDERR [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: java.lang.ArrayIndexOutOfBoundsException: 1

8:33:22 AM STDERR [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.relauncher.ModListHelper.parseListFile(ModListHelper.java:138)

8:33:22 AM STDERR [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.relauncher.ModListHelper.parseModList(ModListHelper.java:75)

8:33:22 AM STDERR [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.relauncher.CoreModManager.discoverCoreMods(CoreModManager.java:259)

8:33:22 AM STDERR [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.relauncher.CoreModManager.handleLaunch(CoreModManager.java:253)

8:33:22 AM STDERR [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.relauncher.FMLLaunchHandler.setupHome(FMLLaunchHandler.java:102)

8:33:22 AM STDERR [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.relauncher.FMLLaunchHandler.setupClient(FMLLaunchHandler.java:79)

8:33:22 AM STDERR [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.relauncher.FMLLaunchHandler.configureForClientLaunch(FMLLaunchHandler.java:41)

8:33:22 AM STDERR [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraftforge.fml.common.launcher.FMLTweaker.injectIntoClassLoader(FMLTweaker.java:138)

8:33:22 AM STDERR [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:115)

8:33:22 AM STDERR [net.minecraftforge.fml.relauncher.FMLLaunchHandler:setupHome:106]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

8:33:22 AM FML An error occurred trying to configure the minecraft home at C:\Users\[uSERNAME]\Dropbox\Documents\MinecraftCloud\.minecraft for Forge Mod Loader

8:33:22 AM LaunchWrapper Unable to launch

3:33:22 AM game Exception in thread "main"  <log4j:Event logger="STDERR" timestamp="1478352802364" level="INFO" thread="main">

    <log4j:Message><![CDATA[[java.lang.ThreadGroup:uncaughtException:1052]: net.minecraftforge.fml.relauncher.FMLSecurityManager$ExitTrappedException]]></log4j:Message>

  </log4j:Event>

3:33:22 AM monitor expected <

8:33:22 AM STDERR [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraftforge.fml.relauncher.FMLSecurityManager.checkPermission(FMLSecurityManager.java:49)

8:33:22 AM STDERR [java.lang.ThreadGroup:uncaughtException:1052]: at java.lang.SecurityManager.checkExit(SecurityManager.java:761)

8:33:22 AM STDERR [java.lang.ThreadGroup:uncaughtException:1052]: at java.lang.Runtime.exit(Runtime.java:107)

8:33:22 AM STDERR [java.lang.ThreadGroup:uncaughtException:1052]: at java.lang.System.exit(System.java:971)

8:33:22 AM STDERR [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:138)

8:33:22 AM STDERR [java.lang.ThreadGroup:uncaughtException:1052]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

8:33:22 AM launcher Process closed with exit code 1

 

 

I'm not sure why it seems to think I'm running Windows 8.1. (Is it just a minor bug with Forge, the new launcher, or what?) Also, in case you're wondering what's up with the .minecraft folder, I actually have a symbolic link in the normal location where the .minecraft folder would be. The symlink links to the actual location of my .minecraft folder, which is in my Dropbox, so I can use the same Minecraft installation on other computers or on my Ubuntu partition. (Also in case my laptop dies, so I don't have to worry about losing my worlds.) I'm not sure if I'm doing something wrong, if it is a bug with Forge, or if it is a problem with the new launcher & Forge. Also, no, my username is not literally [uSERNAME].

Colore - The mod that adds monochrome blocks in every color of the rainbow!

http://www.minecraftforge.net/forum/index.php?topic=35149

 

If you're looking to learn how to make mods for 1.9.4, I wrote a helpful article with links to a lot of useful resources for learning Minecraft 1.9.4 modding!

 

http://supergeniuszeb.com/mods/a-helpful-list-of-minecraft-1-9-4-modding-resources/

Link to comment
Share on other sites

Each string in the

"modRef"

array must be a Maven-style locator composed of three or four parts separated by colons (

:

). None of the entries in your mod list use this format.

 

The wiki page explains how these locators are mapped to file paths:

{
  "repositoryRoot": "/a/path/to/a/directory",
  "modRef": [
    "cpw.mods.ironchest:ironchest:1.7.2-6.1.10:universal",
    "appeng:appliedenergistics2:rv1-stable-1"
  ],
  "parentList": "/a/path/to/a/parent/json/of/the/same/format"
}

 

This will attempt to load files "cpw/mods/ironchest/ironchest/1.7.10-6.1.10/ironchest-6.1.10-universal.jar" and "appeng/appliedenergistics2/rv1-stable-1/appliedenergistics2-rv1-stable-1.jar" from under the repository root directory.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

I was able to get it working and have a rough idea of how to do it now, but I still don't quite understand. (I have no prior experience with Maven.) Should I organize all the mods into folders based off of their actual repository formats or can I make up my own organization? In the example, how does it know that "universal" refers to the "ironchest-6.1.10-universal.jar" file? How exactly does a Maven-style locator work? I'm also curious as to why the mod_list.json uses this format and what the advantages are.

 

Basically, I've got it working, but I don't know why or how it works. :P

Colore - The mod that adds monochrome blocks in every color of the rainbow!

http://www.minecraftforge.net/forum/index.php?topic=35149

 

If you're looking to learn how to make mods for 1.9.4, I wrote a helpful article with links to a lot of useful resources for learning Minecraft 1.9.4 modding!

 

http://supergeniuszeb.com/mods/a-helpful-list-of-minecraft-1-9-4-modding-resources/

Link to comment
Share on other sites

Maven coordinates (which the wiki page calls locators) are explained here.

 

The mod list format requires you to specify the groupIdartifactId and version fields, with classifier as an optional extra. The packaging field isn't supported because it's always jar for Minecraft mods.

 

For consistency you should try to use a proper Maven structure, but there's nothing stopping you from making up the groupIds completely.

 

I don't know exactly why the mod list format uses a Maven structure, but it's probably because it's a pre-existing structure that's very popular in the Java community and is used by many mod developers to host their mods in a way that lets other mods can depend on them.

Edited by Choonster
Fixed formatting errors caused by forum migration

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

Thanks for the helpful link and explanation, Choonster! I understand the format a whole lot better now. :D

Colore - The mod that adds monochrome blocks in every color of the rainbow!

http://www.minecraftforge.net/forum/index.php?topic=35149

 

If you're looking to learn how to make mods for 1.9.4, I wrote a helpful article with links to a lot of useful resources for learning Minecraft 1.9.4 modding!

 

http://supergeniuszeb.com/mods/a-helpful-list-of-minecraft-1-9-4-modding-resources/

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.