This repository contains the match information between different versions of Minecraft created by the LegacyFabric project, as well as the "intermediary" mappings we use, that is an intermediary naming form which tries to keep names the same across versions and mapping changes.
- mappings/.tiny: Intermediary mappings in the Tiny mapping format.
- matches/releases/gameversion/*.matches: Matches between Minecraft versions, created by the LegacyFabric project with the aid of Matcher.
In general, you're going to want to use the following tools:
- Matcher by sfPlayer1 can be used to create a match file between two JARs. In addition, it can load Enigma-format mappings, which can be used as an aid in figuring out changes.
- Stitch is a toolset for generating mappings based on match files. "generateIntermediary" is used to start a fresh chain of intermediary mappings, while "updateIntermediary" is used to add a new entry to the chain based on the previous entry and a matches file.
As with the named mappings, we provide the intermediary mappings under the Creative Commons Zero license, so all can benefit.
- Clone legacy fabric matcher
- generate a config using the config generator i made (because it's simple. may not work on macos/linux as its untested)
- Auto match all
- match as much as you can definitley confirm is the same class
- if the match is less than ~70% on classes, then keep matching
- save the matches to the repository
- invert matches somehow (i wrote a program for it. i recommend you do the same)
- run stitch's updateIntermediary task
- clone yarn and create a new branch
- change yarn's version to the version you created intermediaries for and run
gradlew yarn
- if there are conflicts, go through and fix those (delete lines with the conflicts. this seams to be the best option)
- if yarn runs, then you updated intermediaries Successfully! your next job is to follow https://fabricmc.net/wiki/tutorial:updating_yarn#updating_yarn