A toolchain for Minecraft: Java Edition that builds a workspace to interact with the game using the official mappings provided to the public by Mojang Studios.
While SpongeVanilla has the luxury of not requiring output remapping, most other platforms do not compile directly to official names.
VG core would support remapping to obfuscated names, with the ability for extension plugins to register additional mapping formats (SRG, etc).
Dependencies may come in from different mappings formats as well -- those would need to be remapped (either via artifact transforms, or the same sort of beforeResolve/eachDependency hook we use for MC itself).
The specific mappings used should be published as part of the Gradle module metadata, as an attribute on the outgoing configurations, so we can eventually provide easier detection of which mappings mods use.
Once there's a system for declaring additional mappings formats, we will support remapping Minecraft itself to different mappings (for yarn, or on older versions MCP) since it's necessary to provide an accurate classpath when remapping mods. This might be exposed to end-users who want to use alternate mappings in their dev environment, but that is not a primary goal of this project.
While SpongeVanilla has the luxury of not requiring output remapping, most other platforms do not compile directly to official names.
VG core would support remapping to obfuscated names, with the ability for extension plugins to register additional mapping formats (SRG, etc).
Dependencies may come in from different mappings formats as well -- those would need to be remapped (either via artifact transforms, or the same sort of
beforeResolve
/eachDependency
hook we use for MC itself).The specific mappings used should be published as part of the Gradle module metadata, as an attribute on the outgoing configurations, so we can eventually provide easier detection of which mappings mods use.
Once there's a system for declaring additional mappings formats, we will support remapping Minecraft itself to different mappings (for yarn, or on older versions MCP) since it's necessary to provide an accurate classpath when remapping mods. This might be exposed to end-users who want to use alternate mappings in their dev environment, but that is not a primary goal of this project.