[1.16.1] Method public void on Forge-32.0.97
johnvilsack opened this issue ยท 5 comments
Game will not load due to Method public void issue.
Forge 32.0.97
IE 0.16-109
No other mods needed to recreate issue
Log pastebin: https://pastebin.com/H96PJ6v0
Can confirm, I have the same issue on Forge 32.0.97 and ImmersiveEngineering 0.16-109. See
here in latest.log
The issue isn't "method public void", the issue is
Method public void blusunrize.immersiveengineering.common.world.IEWorldGen.chunkDataSave(net.minecraftforge.event.world.ChunkDataEvent$Save) has @SubscribeEvent annotation, but takes an argument that is not a subtype of the base type interface net.minecraftforge.fml.event.lifecycle.IModBusEvent: class net.minecraftforge.event.world.ChunkDataEvent$Save
Broken down, it's saying that the method chunkDataSave
(which is declared as public
accessibility and void
return type in the class blusunrize.immersiveengineering.common.world.IEWorldGen
) is annotated with @SubscribeEvent
but the argument it takes (type net.minecraftforge.event.world.ChunkDataEvent$Save
) doesn't extend the right interface (net.minecraftforge.fml.event.lifecycle.IModBusEvent
) so Forge is throwing an exception.
A better, more descriptive (and accurate) title for this issue would be something like "event subscription throwing exception on argument type" maybe. I thought "method public void" was something about a bad accessibility or return type keyword, possibly relating to ASM transformation, but it's actually about a bad annotation / method argument.
The issue isn't "method public void", the issue is
Method public void blusunrize.immersiveengineering.common.world.IEWorldGen.chunkDataSave(net.minecraftforge.event.world.ChunkDataEvent$Save) has @SubscribeEvent annotation, but takes an argument that is not a subtype of the base type interface net.minecraftforge.fml.event.lifecycle.IModBusEvent: class net.minecraftforge.event.world.ChunkDataEvent$Save
Broken down, it's saying that the method
chunkDataSave
(which is declared aspublic
accessibility andvoid
return type in the classblusunrize.immersiveengineering.common.world.IEWorldGen
) is annotated with@SubscribeEvent
but the argument it takes (typenet.minecraftforge.event.world.ChunkDataEvent$Save
) doesn't extend the right interface (net.minecraftforge.fml.event.lifecycle.IModBusEvent
) so Forge is throwing an exception.A better, more descriptive (and accurate) title for this issue would be something like "event subscription throwing exception on argument type" maybe. I thought "method public void" was something about a bad accessibility or return type keyword, possibly relating to ASM transformation, but it's actually about a bad annotation / method argument.
I'm sure this is more helpful for the devs, but I'm only quoting what the game interface told me: https://imgur.com/a/8ZXcpAp
...interesting. It looks like Forge messed up their UI a little. At a guess, they're limiting it to one line of detail, and for whatever reason it won't just fill up that line with what it can... maybe it's internally trying to do line wrapping but only rendering the first.
Either way, that's also probably not of much interest to you, but I can't fault you for reporting what was shown to you!
Duplicate of #4143