AppleCore

AppleCore

56M Downloads

Botania: Reflection crashes on the server when trying to call AppleCore fertilize method

Avarice opened this issue ยท 9 comments

commented

Server crashes are happening with these two mods installed, any event that applies bonemeal on buried petals including Hoe of Growth. Botania is using blockBuriedPetals, We requested support on vazkii/Botania for net.minecraft.block.IGrowable but issue will not be fixed in 1.7.10.
VazkiiMods/Botania#1820

Still looking to find a solution Botania-sided to implement AppleCore compatibility.

commented

this is botania's fault, it's a reflection problem

commented

Seems like any method reflection of that Botania class will throw an exception on the server. I could catch NoClassDefFoundExceptions and swallow them as a band-aid on my side.

commented

Same with PneumaticCraft plants:
java.lang.NoClassDefFoundError: net/minecraft/client/renderer/texture/IIconRegister at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.privateGetMethodRecursive(Unknown Source) at java.lang.Class.getMethod0(Unknown Source) at java.lang.Class.privateGetMethodRecursive(Unknown Source) at java.lang.Class.getMethod0(Unknown Source) at java.lang.Class.getMethod(Unknown Source) at squeek.applecore.asm.Hooks.fireAppleCoreFertilizeEvent(Hooks.java:205) at pneumaticCraft.common.block.pneumaticPlants.BlockPneumaticPlantBase.func_149853_b(BlockPneumaticPlantBase.java) at net.minecraft.item.ItemDye.applyBonemeal(ItemDye.java:169) at net.minecraft.item.ItemDye.func_77648_a(ItemDye.java:67) at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:530) at net.minecraft.item.ItemStack.func_77943_a(ItemStack.java:152) at net.minecraft.server.management.ItemInWorldManager.func_73078_a(ItemInWorldManager.java:495) at net.minecraft.network.NetHandlerPlayServer.func_147346_a(NetHandlerPlayServer.java:853) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.func_148833_a(SourceFile:60) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.func_148833_a(SourceFile:9) at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:245) at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:173) at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:991) at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:431) at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:809) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:669) at java.lang.Thread.run(Unknown Source)
When there is an update?

commented

this is a known sideonly reflection bug, I believe.

commented

Also having this issue. Not sure if there is a planned fix soon I don't think I actually use Applecore for anything other then that saturation levels so I might remove applecore for now.

What my logs look like:
http://pastebin.com/3aHGxaLs

commented

Also having the issue with Silent's Gems Issue for Ref: SilentChaos512/SilentGems#18

commented

I suspect it is because client-side methods are not normally explicitly marked @SideOnly when the parent method is, as that is normally redundant. I also recommend swallowing the NoClassDefFound.

commented

Solved?

commented

@Eufranio, not solved yet. Would like to get it fixed before I release a new version.