Historicized Medicine

Historicized Medicine

30.5k Downloads

Server crashes with SpongeForge

Rutes opened this issue · 7 comments

commented

Sorry to resurrect an old issue (#16),
but I am still getting a crash despite prefixing my SpongeForge jar with "aaa".

Is there any way to fix from your mod's end, or is this something I should bug the Sponge folks with?

Description: Exception in server tick loop

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Historicized Medicine (historicizedmedicine)
Caused by: java.lang.NoClassDefFoundError: seraphaestus/historicizedmedicine/Item/ItemBase
	at seraphaestus.historicizedmedicine.Item.RegistryHandler.setupItems(RegistryHandler.java:30)
	at seraphaestus.historicizedmedicine.Item.RegistryHandler.preInitCommon(RegistryHandler.java:76)
	at seraphaestus.historicizedmedicine.CommonProxy.preInit(CommonProxy.java:54)
	at seraphaestus.historicizedmedicine.ServerProxy.preInit(ServerProxy.java:13)
	at seraphaestus.historicizedmedicine.HMedicineMod.preInit(HMedicineMod.java:38)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:637)
	at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
	at com.google.common.eventbus.EventBus.post(EventBus.java:217)
	at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219)
	at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
	at com.google.common.eventbus.EventBus.post(EventBus.java:217)
	at net.minecraftforge.fml.common.LoadController.redirect$zza000$forgeImpl$PostEvent(LoadController.java:568)
	at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136)
	at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:627)
	at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:99)
	at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:333)
	at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:125)
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: seraphaestus.historicizedmedicine.Item.ItemBase
	at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
	... 41 more
Caused by: java.lang.VerifyError: class seraphaestus.historicizedmedicine.Item.ItemBase overrides final method getId.()Ljava/lang/String;
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:757)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182)
	... 43 more
commented

have exactly that bug, help wanted "class seraphaestus.historicizedmedicine.Item.ItemBase overrides final method getId.()Ljava/lang/String;"

I've found information about it, but never worked with mixins - https://github.com/SpongePowered/Mixin/wiki/Introduction-to-Mixins---Overwriting-Methods

commented

I've tried to resolve this error, in "IItemBaseData" I changed "getId" to "getTheId", and fixed small errors caused by that respelling in "ItemBase" and "ItemMask", and it is working now on spongeserver, but official fix would be better, I don't think I made everything ok, due to dependencies
Somehow I could work with code, (changed build.gradle) but couldn't work in IDE client, had to manually move compiled mod to MC folder
spongeserver+medicine

commented

I haven’t worked on this in a long time. Feel free to have a go at it.

commented

It's an issue on my end. However, you might have to wait a bit, as I have been busy with at least three other mods.

commented

You could also send over a PR, if you want to fix it yourself.

commented

Might want to contact sponge. I haven't looked at this codebase in a while, but after doing so, I see nothing using mixins here.

commented

It's definitely something on this end as well, but I haven't toyed with this mod in a long while.