No description
Find a file
Thomas Kain 7a8427d130
Implement support for NeoForge (#13)
* Fix compilation on Java versions other than 8

* Add basic support for NeoForge

This uses Forge's built-in fml.forgeGroup flag to distinguish Forge and NeoForge's package names. Consequently, this flag's value needs to be passed to most installer-related functions.

* Update Javadocs with Forge group parameter

* Add Forge group support for manual installs

* Assume we're using NeoForge if `--fml.forgeGroup` isn't specified

I was hoping not to hardcode any package names here, but this is the only way to unbreak manual installs without unintuitively asking users to add the flag themselves.
2023-08-05 22:46:57 +08:00
.github/workflows Re-add the legacy part. 2021-12-11 14:35:56 +08:00
common Fix defining duplicated modules. 2021-08-13 22:48:17 +08:00
converter Implement support for NeoForge (#13) 2023-08-05 22:46:57 +08:00
gradle/wrapper Use a better way to determine the installer version. 2021-12-22 22:28:35 +08:00
jigsaw Remove the legacy part due to all forge installers are upgraded. 2021-11-17 22:10:46 +08:00
legacy Implement support for NeoForge (#13) 2023-08-05 22:46:57 +08:00
src/main Implement support for NeoForge (#13) 2023-08-05 22:46:57 +08:00
.gitignore Full support the installation of forge-1.16.5-36.1.66+ and partial support forge-1.17.1 2021-07-24 19:10:41 +08:00
build.gradle Re-add the legacy part. 2021-12-11 14:35:56 +08:00
gradle.properties Use a better way to determine the installer version. 2021-12-22 22:28:35 +08:00
gradlew Re-add the legacy part. 2021-12-11 14:35:56 +08:00
gradlew.bat Fix crash on launch with forge-1.16.5-36.1.66. 2021-07-23 01:39:13 +08:00
LICENSE first commit 2019-12-28 03:23:07 +08:00
README.md Fix defining duplicated modules. 2021-08-13 22:48:17 +08:00
settings.gradle Re-add the legacy part. 2021-12-11 14:35:56 +08:00

ForgeWrapper

Allow MultiMC to launch Minecraft 1.13+ with Forge.

ForgeWrapper has been adopted by MultiMC, you do not need to perform the following steps manually. (2020-03-29)

For other launchers

  1. ForgeWrapper provides some java properties since 1.4.2:

    • forgewrapper.librariesDir : a path to libraries folder (e.g. -Dforgewrapper.librariesDir=/home/xxx/.minecraft/libraries)
    • forgewrapper.installer : a path to forge installer (e.g. -Dforgewrapper.installer=/home/xxx/forge-1.14.4-28.2.0-installer.jar)
    • forgewrapper.minecraft : a path to the vanilla minecraft jar (e.g. -Dforgewrapper.minecraft=/home/xxx/.minecraft/versions/1.14.4/1.14.4.jar)
  2. ForgeWrapper also provides an interface IFileDetector, you can implement it and custom your own detecting rules. To load it, you should make another jar which contains META-INF/services/io.github.zekerzhayard.forgewrapper.installer.detector.IFileDetector within the full implementation class name and add the jar to class path.

How to use (Outdated)

  1. Download Forge installer for Minecraft 1.13+ here.

  2. Download ForgeWrapper jar file at the release page.

  3. Since ForgeWrapper 1.5.1, it no longer includes the json converter, so you need to build it by yourself:

    • Download ForgeWrapper sources.
    • Extract the zip and open terminal in the extracted folder.
    • Run ./gradlew converter:build command in terminal and get the jar from ./converter/build/libs
  4. Run the below command in terminal:

    java -jar <ForgeWrapper.jar> --installer=<forge-installer.jar> [--instance=<instance-path>]
    

    Notice: If you don't specify a MultiMC instance path, ForgeWrapper will create the instance folder in current working space.

  5. If the instance folder which just created is not in MultiMC/instances folder, you just need to move to the MultiMC/instances folder.

  6. Run MultiMC, and you will see a new instance named forge-<mcVersion>-<forgeVersion>.