Last updated 2020-05-20 by 2Xsaiko.
gradlew mergeJars downloadMcLibs
. This will create A-merged.jar and .gradle/minecraft/libraries. You will need these for Matcher.gradlew mergeJars downloadMcLibs
again. This will create B-merged.jar and grab new libraries (if there is any)View -> Sort by Matched Status
.Auto Match All
to perform the initial matches.You can use mojang's offical mappings, or official → named yarn mappings as an input for side A (and B if using mojang mappings) to aid with the matching process. To generate these yarn mappings clone yarn, and run `gradlew.bat exportMappingsOfficial`
Matching is a process that cannot be easily described. Essentially, there are three states:
Your goal is to make as many red entries yellow or green as possible. Matcher will generally get most things auto-matched, but occasional false positives (in the single digit) can happen.
The way asie did it is as follows, roughly:
Auto Match All
again.Some advice:
To not have to read obfuscated names, you can follow the initial parts of the “Updating Yarn” phase - that is, loading A Yarn mappings into Matcher - early.
matches/A-B.match
in the Intermediary repository.java -Dstitch.counter=counter.txt -jar <path to stitch jar> updateIntermediary <path to A-merged.jar> <path to B-merged.jar> mappings/A.tiny mappings/B.tiny matches/A-B.match
. This will use the match information to update the intermediary mappings, preserving mod call compatibility where possible, and will use the global counter so when two versions branching off the same version won't have intermediary conflicts (e.g. 20w14infinite and 20w14a)mappings_official
, with Type: Names, Target: A (left) and “Replace” checked.mappings_official
.gradlew importMappingsOfficial
to import the mappings from mappings_official
to mappings
gradlew yarn
. If Enigma works correctly, save the mappings in Enigma, then close Enigma.Essentially, instead of stitch's updateIntermediary command, use generateIntermediary.