ParchmentMC/Parchment

Mapping error on a few of the methods in AbstractFurnaceBlockEntity

pupnewfster opened this issue · 2 comments

Minecraft version: 1.20.4 (but I am using mappings for 1.20.3)
Mappings version: 2023.12.31

The parameters for AbstractFurnaceBlockEntity#canBurn and AbstractFurnaceBlockEntity#burn seem to be shifted left by one:

boolean canBurn(RegistryAccess pRecipe, @Nullable RecipeHolder<?> pInventory, NonNullList<ItemStack> pMaxStackSize, int p_155008_)
boolean burn(RegistryAccess pRecipe, @Nullable RecipeHolder<?> pInventory, NonNullList<ItemStack> pMaxStackSize, int p_267157_)

It seems like it should be registryAccess for the first parameters and then all the other names are basically fine if you shift them to the right by one.

NeoForge patches those methods to make them instance methods instead of static methods, which means that LVTs get right-shifted by one as the local this variable is placed at index 0. The mapping is correct, and right now there's nothing we can do to fix it.