Simply Conveyors & More

Simply Conveyors & More

1M Downloads

[1.10] Crash on server startup

gdude2002 opened this issue ยท 19 comments

commented

SimplyConveyors: 1.4.0
Forge: 12.18.3.2202

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Simply Conveyors (simplyconveyors)
Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/renderer/color/IBlockColor
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at net.minecraftforge.fml.common.FMLModContainer.constructMod(FMLModContainer.java:505)
	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.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:243)
	at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:221)
	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.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:145)
	at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:549)
	at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:97)
	at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:328)
	at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:121)
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:431)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.renderer.color.IBlockColor
	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)
	... 29 more
Caused by: java.lang.NullPointerException
	at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182)
	... 31 more
commented

I would suggest moving registerColored to a sided proxy class as IBlockColor cannot be imported on the server; simply checking that you're on the client before calling it isn't enough.

commented

Will do after school. Sorry about that.

commented

I'm actually writing up a PR now. Shouldn't take long!

commented

It shouldn't have compiled for you, though, and it clearly did.

Just something to think about.

EDIT: Thanks for the merge!

commented

Alright, maybe not. I can't get my development environment to pick up all the dependencies, and I'm getting a bunch of missing references. Perhaps add some info on how to set up a dev env in the README?

(Note, I did do all the usual Forge stuff)

commented

Simply Conveyors doesn't have any dependencies. You should be able to just set up a normal forge environment.

commented

I've got references to mcjtylib and a furniture mod of yours.

Additionally, there are some references to things that don't exist in the decomp workspace (apparently), such as ItemStack.EMPTY

commented

I do use an updated mappings however. Just set mappings to snapshot_20161111 in your build.gradle. That's odd. I shouldn't be referencing either anymore. In fact I shouldn't have been referencing the furniture mod at any point in time. Feel free to remove any unused imports.

commented

I'm using your build.gradle, which already has that set up.

commented

It should be snapshot_20161227. I haven't updated the build.gradle on GitHub recently. Sincerely sorry for all the issues you're having. I'll have all of this fixed by the time I get home from school, along with a readme on setting up the dev environment. I wish I was capable of fixing it sooner :/

commented

Alrighty, I'll try that.

Don't worry too much, feel free to just not respond; I'm reporting the steps I'm taking. Which is what tickets are for. :P

commented

Yep, that fixed most of it, just need to stick dependencies in the libs folder.

commented

Are you sure you aren't referring to both of these mods?

I can't find a deobf version of mcjtylib or your furniture mod, by the way.

Maybe when you get home, check your libs/ dir or see what you've installed to your local maven repo?


C:\Users\-gdude2002\IdeaProjects\Simply-Conveyors\build\sources\main\java\com\momnop\simplyconveyors\SimplyConveyorsCreativeTab.java:11: error: package com.momnop.aquastuff.blocks does not exist
import com.momnop.aquastuff.blocks.AquaStuffBlocks;
                                  ^
C:\Users\-gdude2002\IdeaProjects\Simply-Conveyors\build\sources\main\java\com\momnop\simplyconveyors\blocks\conveyors\special\BlockMovingBackwardsDropperPath.java:3: error: package mcjty.lib.tools does not exist
import mcjty.lib.tools.ItemStackTools;
                      ^
C:\Users\-gdude2002\IdeaProjects\Simply-Conveyors\build\sources\main\java\com\momnop\simplyconveyors\blocks\conveyors\special\BlockMovingDropperPath.java:3: error: package mcjty.lib.tools does not exist
import mcjty.lib.tools.ItemStackTools;
                      ^
C:\Users\-gdude2002\IdeaProjects\Simply-Conveyors\build\sources\main\java\com\momnop\simplyconveyors\blocks\conveyors\special\BlockMovingTransporterPath.java:3: error: package mcjty.lib.tools does not exist
import mcjty.lib.tools.ItemStackTools;
                      ^
C:\Users\-gdude2002\IdeaProjects\Simply-Conveyors\build\sources\main\java\com\momnop\simplyconveyors\helpers\ConveyorHelper.java:5: error: package mcjty.lib.tools does not exist
import mcjty.lib.tools.ItemStackTools;
commented

OK, making progress.

So, you're using mcjty's cross-version compat lib. I managed to track down a maven repo containing it, and added that to the build.gradle.

aquastuff seems like it hasn't been supported since 1.7 - is it safe to remove it?

commented

Yep, looks like I just need deobf versions of your aquastuff mod and your furniture mod.

commented

Actually, no, removing these imports seems fine since you don't actually have anything referring to them.

commented

Yeah I knew I wasn't using them

commented

Just grabbed latest from Curse and I can confirm this is fixed.

Thanks for your time \o/

commented

No problem :D. Thank you for yours!