Posted February 25, 20178 yr I'm receiving this error when trying to host a server with a built version of my mod (quickconsume): ---- Minecraft Crash Report ---- WARNING: coremods are present: FMLPlugin (InventoryTweaks-1.62-dev-77.jar) LoadingPlugin (Quark-r1.2-81.jar) AppleCore (AppleCore-mc1.11.2-2.1.1.jar) IvToolkit (IvToolkit-1.3.2.1.jar) Contact their authors BEFORE contacting forge // I'm sorry, Dave. Time: 2/25/17 1:27 PM Description: Exception in server tick loop net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Quick Consume (quickconsume) Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/entity/EntityPlayerSP at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) at java.lang.Class.getConstructor0(Class.java:3075) at java.lang.Class.newInstance(Class.java:412) at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.instantiate(SimpleNetworkWrapper.java:171) at net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper.registerMessage(SimpleNetworkWrapper.java:164) at com.kain.quickconsume.proxy.CommonProxy.init(CommonProxy.java:28) at com.kain.quickconsume.QuickConsume.preInit(QuickConsume.java:30) 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:497) at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:641) at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:246) at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:224) 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:497) at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:147) at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:628) at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:100) at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:331) at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:121) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:442) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: net.minecraft.client.entity.EntityPlayerSP at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 39 more Caused by: net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerException: Exception in class transformer net.minecraftforge.fml.common.asm.transformers.SideTransformer@3ecd267f from coremod FMLCorePlugin at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:257) at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ... 41 more Caused by: java.lang.RuntimeException: Attempted to load class bps for invalid side SERVER at net.minecraftforge.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:56) at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:253) ... 43 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details: Minecraft Version: 1.11.2 Operating System: Windows 10 (amd64) version 10.0 Java Version: 1.8.0_65, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 113158624 bytes (107 MB) / 284000256 bytes (270 MB) up to 2112618496 bytes (2014 MB) JVM Flags: 2 total; -Xincgc -Xmx2G IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP 9.38 Powered by Forge 13.20.0.2228 30 mods loaded, 30 mods active States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored UCH minecraft{1.11.2} [Minecraft] (minecraft.jar) UCH mcp{9.19} [Minecraft Coder Pack] (minecraft.jar) UCH FML{8.0.99.99} [Forge Mod Loader] (forge-1.11.2-13.20.0.2228-universal.jar) UCH forge{13.20.0.2228} [Minecraft Forge] (forge-1.11.2-13.20.0.2228-universal.jar) UCH ivtoolkit{1.3.2.1} [IvToolkit] (minecraft.jar) UCH actuallyadditions{1.11.2-r102} [Actually Additions] (ActuallyAdditions-1.11.2-r102.jar) UCH applecore{2.1.1} [AppleCore] (AppleCore-mc1.11.2-2.1.1.jar) UCH quark{r1.2-81} [Quark] (Quark-r1.2-81.jar) UCH autoreglib{1.1-4} [AutoRegLib] (AutoRegLib-1.1-4.jar) UCH betterachievements{0.4.3.12} [Better Achievements] (BetterAchievements-1.11.2-0.4.3.12.jar) UCH cfm{4.1.2} [MrCrayfish's Furniture Mod] (cfm-4.1.2-mc1.11.2.jar) UCH chiselsandbits{13.10} [Chisels & Bits] (chiselsandbits-13.10.jar) UCH cookingforblockheads{5.2.6} [Cooking for Blockheads] (CookingForBlockheads_1.11.2-5.2.6.jar) UCH dldungeonsjdg{1.9.0} [Doomlike Dungeons] (DoomlikeDungeons-1.9.1-MC1.11.2.jar) UCH enderthing{0.7.3} [Enderthing] (enderthing-1.11.0-0.7.3.jar) UCH gravestone{1.7.2} [Gravestone] (GraveStone Mod 1.7.2.jar) UCH inventorytweaks{1.62-dev-77-7812cce} [Inventory Tweaks] (InventoryTweaks-1.62-dev-77.jar) UCH jei{4.2.7.240} [Just Enough Items] (jei_1.11.2-4.2.7.240.jar) UCH journeymap{1.11.2-5.4.6} [JourneyMap] (journeymap-1.11.2-5.4.6.jar) UCE quickconsume{1.1} [Quick Consume] (modid-1.0.jar) UCH harvestcraft{1.11.2d} [Pam's HarvestCraft] (Pam's HarvestCraft 1.11.2d.jar) UCH persistentbits{1.0.6} [Persistent Bits] (PersistentBits-1.11-1.0.6.jar) UCH reccomplex{1.2.9.1} [Recurrent Complex] (RecurrentComplex-1.2.9.1.jar) UCH refinedstorage{1.4.1} [Refined Storage] (refinedstorage-1.4.1.jar) UCH xreliquary{1.11.2-1.3.3.635} [Reliquary] (Reliquary-1.11.2-1.3.3.635.jar) UCH roguelike{1.6.3} [Roguelike Dungeons] (RoguelikeDungeons-1.11.2-1.6.3.jar) UCH lteleporters{1.11.2-2.0.2} [Simple Teleporters] (SimpleTeleporters-1.11.2-2.0.2.jar) UCH simplyconveyors{2.1.0} [Simply Conveyors] (SimplyConveyors-2.1.2.jar) UCH soulshardstow{1.11-2.6.6-47} [Soul Shards - The Old Ways] (SoulShards-TOW-1.11-2.6.6-47.jar) UCH usefulnullifiers{1.3.4} [Useful Nullifiers] (usefulnullifiers-1.3.4.jar) Loaded coremods (and transformers): FMLPlugin (InventoryTweaks-1.62-dev-77.jar) invtweaks.forge.asm.ContainerTransformer LoadingPlugin (Quark-r1.2-81.jar) vazkii.quark.base.asm.ClassTransformer AppleCore (AppleCore-mc1.11.2-2.1.1.jar) squeek.applecore.asm.TransformerModuleHandler IvToolkit (IvToolkit-1.3.2.1.jar) Profiler Position: N/A (disabled) Is Modded: Definitely; Server brand changed to 'fml,forge' Type: Dedicated Server (map_server.txt) Here's the class in question: http://pastebin.com/hqGR6Cjm The purpose of the MessageSyncClient class is to be sent from the server to the client, so it has to be registered on the server side. I'm not sure why it's referencing EntityPlayerSP too. Edited February 25, 20178 yr by TLHPoE Kain
February 25, 20178 yr I think you call a client method in your "onMessage" method in the handler class. Can you post the code of you "MessageSyncClientHandler" class?
February 25, 20178 yr Author 13 minutes ago, Lhykos said: I think you call a client method in your "onMessage" method in the handler class. Can you post the code of you "MessageSyncClientHandler" class? http://pastebin.com/0FXgPP5C I'm not sure how I would accomplish this without referencing the player. I was thinking about having a static class that would just hold the items in a field so that it won't have to reference any piece of Minecraft at all, but that seems hacky. Kain
February 25, 20178 yr You need to call your actions on the main thread. From the Forge Documentation: Quote As of Minecraft 1.8 packets are by default handled on the network thread. That means that your IMessageHandler can not interact with most game objects directly. The example above for example would not be correct. Minecraft provides a convenient way to make your code execute on the main thread instead using IThreadListener.addScheduledTask. The way to obtain an IThreadListener is using either the Minecraft instance (client side) or a WorldServer instance (server side).
February 25, 20178 yr 48 minutes ago, TLHPoE said: http://pastebin.com/0FXgPP5C I'm not sure how I would accomplish this without referencing the player. I was thinking about having a static class that would just hold the items in a field so that it won't have to reference any piece of Minecraft at all, but that seems hacky. The Minecraft class doesn't exist on the server (it's @SideOnly(Side.Client)). To reference it, you need to make methods in your proxies which return the objects you need (i.e. the player) in the client proxy, and throw an exception in the server proxy (because they should never be called from there). I just had (and solved) this problem today - link!
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.