OfflineSkins

OfflineSkins

528k Downloads

Forge 14.23.4 removes the ability for one jar to "extract" others at startup

vico93 opened this issue ยท 1 comments

commented

For a long time Forge has supported the ability to have multiple jar files extracted at startup from mods. Allowing modders to distribute required dependencies in a single download for end user convince. However, this feature has not been used often. After getting some modder feedback I have re-written the majority of this system. We need volunteers to write full documentation for this feature, however here is a quick rundown.

Mods will now be extracted to a central maven style libraries directory. Forge will attempt to find this using the normal launcher layout, however the path can be overridden using "-Dforge.lib_folder={LibraryFolder}"

Mods CAN be automatically moved to this libraies folder by Forge, however this is disabled by default due to people thinking it'll be confusing to users. Enable it using "-Dforge.enable_auto_mod_movement=true"

To define a contained dependency modders must add the "ContainedDeps" entry to their MANIFEST file. This is a space separated list of files in the mod jar to be extracted. The files can be located under the jar root, or META-INF/libraries/.

Libraries can specify a maven style artifact identifier in their MANIFEST file, and it will be extracted to the correct library folder. Example: Maven-Artifact: net.minecraftforge:forge:1.12.2-14.23.4.2703

If two mods contain a dependency on the same maven artifact, the highest version will be loaded. This fixes issues where two mods ship a API, and one crashes because the older version was used.

For 3rd party dependancies that do not have the Maven-Artifact manifest entry, you may specify a custom MANIFEST by adding a {FullJarNameIncluding.jar}.meta file next the original file.

More information and examples should be forthcoming as modders start working with this feature. So don't be afraid to ask.

Extracted from this post.

Since OfflineSkins extract the core mod at startup i think this could be a very red light for subsequent 1.12.x developement and beyond (1.13). So i decided to report for you @zlainsama to be informed.

commented

Actually, OfflineSkins is already using this method.
Please report back if it breaks in the future.