Fixes several bugs in IndustrialCraft2 using binary patches.
Note that you may NOT distribute any decompiled code generated by this tool. For more information, see IC2's license.
You can find lists of patches for each supported IC2 Version [here]().
setup
gradle task found in env setup
.IC2-Base
and IC2-Patched
projects, which contain clean and patched code respectively.After making changes to the code, run the generatePatches
task of the IC2-Patched
project to generate the patches for currently set IC2 version. This has to be done manually every time you make changes.
To add support for a new version of IC2:
gradle.properties
file. Create a new Folder in root of project 'IC2-Base' and 'IC2-Patched' with name in the following format:
patches[minVersion,maxVersion]
where:
Example: patches[2.8.164, 2.8.165]
-> Folder for patches for IC2 version 2.8.164-exp112
It's recommended to copy over patches from the closest supported version and resolve issues from there.
setup
gradle task found in env setup
.
IC2-Base
project fails to compile, resolve all issues generated by Compiler and run the generatePatches
gradle task found in IC2-Base
project.
This will generate patches that will be applied after IC2-Base de-compilation step.IC2-Patched
project fails to compile, remove patches that aren't getting applied properly, and if relevant, port them to the currently used IC2 version.generatePatches
task of the IC2-Patched
project to generate the patches.
generateBinPatches
task of the IC2-Patched project for each version you have done changes to.
gradlew build
to build the patcher.
The resulting jar will be located in the build/libs
folder.jar
task will NOT work outside the dev environment.All code is licensed under The Unlicense, except for mods.su5ed.ic2patcher.asm.BinPatchManager
, which is a modified version
of MinecraftForge's ClassPatchManager class, and is licensed under the GNU Lesser General Public License version 2.1