Open LambdAurora opened 2 weeks ago
Another case worth looking at is laying an empty tiny ontop of Mojamps, as reproduced here: https://github.com/embeddedt/fabric-mappings-repro-project
See: https://discord.com/channels/507304429255393322/842691768175951942/1305164539251130502
The Problem
Since loom 1.7 layered mappings cannot be used to combine Mojang mappings with any kind of mappings that remap only a base method or a base class and not the bridge variants or the sub-classes.
So far this creates several issues:
Reproduction
Reproduction is rather simple: create a standard loom-based project, add layered mappings with first the Mojang mappings layer, add on top either Yarn or YALMM.
To complete further the reproduction, add as middle layer Parchment, we would then end up with:
Hacky Solution
To avoid being stuck in my own projects I've pioneered a temporary and hacky solution, which consists in having my own Mojang mappings layer to exclude the bridge variants of methods:
MojangMappingsSpec
MojangMappingsLayer
This is not a suitable solution for production though: Parchment cannot be used with it as Parchment still include bridge variants of the methods, thus still creating conflicts because then the remapper doesn't understand anymore that Parchment is not trying to rename, only to provide arguments names and javadocs.
More Information
Various information I've gathered from discussions on Discord: