Immersiveengineering: [1.16.1] Method public void on Forge-32.0.97

Created on 29 Jul 2020  路  5Comments  路  Source: BluSunrize/ImmersiveEngineering

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

Most helpful comment

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.

All 5 comments

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 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.

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

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sosenka1 picture sosenka1  路  5Comments

Darcoon picture Darcoon  路  4Comments

HappyPineapple picture HappyPineapple  路  5Comments

MalkContent picture MalkContent  路  5Comments

Voxel-Friend picture Voxel-Friend  路  5Comments