ForgeGradle icon indicating copy to clipboard operation
ForgeGradle copied to clipboard

Generated methods CSV doesn't support record method names

Open Su5eD opened this issue 1 year ago • 5 comments

Currently, the generator for method and field CSV files, OfficialChannelProvider, distinguishes methods and fields by their prefix, which is func_ / m_ for methods and field_ / f_ for fields. However, in records, the names of accessor methods are the same as the field they're accessing. As an example, see NoiseGeneratorSettings.surfaceRule.

https://github.com/MinecraftForge/ForgeGradle/blob/651e43fd7c68068c835548583c5eb924e13d9251/src/mcp/java/net/minecraftforge/gradle/mcp/OfficialChannelProvider.java#L99-L108

This leads to all record method names being filtered out as fields by the generator.
When the mappings are later used at runtime by modlauncher for remapping class member names, record methods will never be remapped due to this issue.

Su5eD avatar Jun 17 '23 10:06 Su5eD