API Design - MaxPixelStudios/MinecraftDecompiler GitHub Wiki
IMPORTANT: If some places are annotated with @NotNull, the place shouldn't have null values. If you still try to put null values there, you do so AT YOUR OWN RISK.
This page briefly describes the API design. You can find more information in the Javadocs.
Mapping System
The mapping system contains three parts: Reader/Processor, Structure, Writer/Generator
MappingType
MappingType is used to distinguish different mapping types like SRG, CSRG, TSRGv1, etc.
Please be aware that MappingTypes only exist when reading/writing mappings. In the Stucture part there are no MappingTypes, and the term "mapping type" would instead refer to subclasses of Mapping like PairedMapping and NamespacedMapping.