quilt-mappings icon indicating copy to clipboard operation
quilt-mappings copied to clipboard

move QM onto a mojmap base

Open ix0rai opened this issue 1 year ago • 2 comments

description and motivation

as previously suggested by @LambdAurora, we will be moving QM onto a mojmap base to improve the mappings and compensate for the small size of our team. this means that all entries in QM will be mojmap unless they are manually mapped by our team. this will have a couple benefits:

  • will help us maintain faster and higher completion
  • will reduce the divergence between QM and mojmap, as we will always see the mojmap version before mapping an item
    • this will make QM better for devs who are used to mojang names, and keep us more in line with mojang intent (permanently resolve the BedrockBlock problem)
  • will resolve #396 by obseleting layering with moj

we will also be enforcing mojang's package structure on QM, which has the benefit:

  • access remapping will no longer be needed with QM, simplifying usage on neoforge

implementation

this implementation will come in three parts:

  • [ ] downloading mojmap in this repository to be passed into https://github.com/QuiltMC/quilt-enigma-plugin for name proposal. i will be implementing this after #645 is merged
  • [ ] package name proposal. we will create a name proposal service that proposes a name that is a combination of the mojang package and the QM class name. eventually, we will make sure that the directory structure of this repository matches mojang's packages, but the implementation details of this are not yet decided.
  • [ ] base name proposal. a name proposal service will be created that proposes mojang names for all fields, classes, and methods. it will have the lowest priority of any proposer

ix0rai avatar Oct 27 '24 02:10 ix0rai

why not just use https://github.com/LambdAurora/yalmm?

sylv256 avatar Oct 31 '24 00:10 sylv256

simple! we want to focus on our own names, while her project is aimed at fixing problematic mojmap names.

ix0rai avatar Oct 31 '24 03:10 ix0rai

one more unsolved tech consideration here: ideally, the package names would be saved in the main mappings, unlike all other proposers. this would keep the file structure of the repo matching the package structure for the mappings. my idea for this is simply to add a false-by-default boolean in the service for whether to ignore writeProposedNames in MappingSaveParameters

ix0rai avatar Nov 09 '24 00:11 ix0rai

one more unsolved tech consideration here: [...]

after putting some thought into this, I've decided the best method is simply to add a bypassChecks boolean to allow setting the token type of proposed mappings to deobf. i've implemented this in https://github.com/QuiltMC/enigma/pull/240, and made sure to include javadoc telling you to under no circumstances use it.

ix0rai avatar Nov 09 '24 22:11 ix0rai

not planned because minecraft is removing obfuscaation

supersaiyansubtlety avatar Nov 07 '25 04:11 supersaiyansubtlety