Are MCreator mods Server-compatible?

Started by Eonaut on

Topic category: Troubleshooting, bugs, and solutions

Joined Apr 2016
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
Are MCreator mods Server-compatible?

I have a guy trying to install my Hodge-Podge Mod II on a server, but it is not working. I do not know whether or not it is even possible to run a MCreator mod on a server, and I do not have the capability to test this myself.

Does anyone know a solution to this? Here is the guy's error log:

---- Minecraft Crash Report ----

WARNING: coremods are present:
NWRTweak (redstonepaste-mc1.11.2-1.7.4.jar)
Do not report to Forge! Remove FoamFixAPI (or replace with FoamFixAPI-Lawful) and try again. (foamfix-0.6.3-anarchy.jar)
LoadingPlugin (Quark-r1.2-92.jar)
ForgelinPlugin (Forgelin-1.4.2.jar)
Plugin (NotEnoughIDs-1.5.4.jar)
llibrary (llibrary-1.7.6-1.11.2.jar)
ChiselCorePlugin (Chisel-MC1.11.2-0.0.10.14.jar)
CXLibraryCore (cxlibrary-1.11.2-1.4.0.jar)
IvToolkit (IvToolkit-1.3.3.jar)
BookshelfLoadingPlugin (Bookshelf-1.11.2-1.5.0.371.jar)
IC2core (industrialcraft-2-2.7.33-ex111.jar)
BCModPlugin (zz-backpacks 1.11.2 - 3.1.9.jar)
DynamicSurroundingsCore (DynamicSurroundings-1.11.2-3.3.3.1.jar)
Contact their authors BEFORE contacting forge

// I feel sad now :(

Time: 6/12/17 6:12 PM
Description: Exception in server tick loop

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from HodgePodgeII (hodgepodgeii)
Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/entity/EntityPlayerSP
at mod.mcreator.mcreator_glowingObsidian.<clinit>(mcreator_glowingObsidian.java:73)
at mod.mcreator.hodgepodgeii.<init>(hodgepodgeii.java:39)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.minecraftforge.fml.common.ILanguageAdapter$JavaAdapter.getNewInstance(ILanguageAdapter.java:193)
at net.minecraftforge.fml.common.FMLModContainer.constructMod(FMLModContainer.java:612)
at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
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:252)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:230)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
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.loadMods(Loader.java:582)
at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:99)
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:442)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.entity.EntityPlayerSP
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 35 more
Caused by: net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerException: Exception in class transformer net.minecraftforge.fml.common.asm.transformers.SideTransformer@555cf22 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)
... 37 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:62)
at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:253)
... 39 more

Joined Aug 2013
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
Well, MCreator is +- server
Tue, 06/13/2017 - 20:55

Well, MCreator is +- server compatible - unless you start using events. Their code was not fixed at all. Simply what the error says it that you are trying access client-side class from server-side code. If I am right, MCreator does this mistake especially at a thing like a block interaction. Fixing it is quite easy. You make the code that calls the class just client-side (if it is something related to rendering, particles,...) or you must use some server/both sides alternative to the specific class.

Joined Apr 2016
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
RE:Well, MCreator is +- server
Wed, 06/14/2017 - 20:57

@#1 Could I get an example of each?

1-make the code that calls the class just client-side (if it is something related to rendering, particles,...)

2- you must use some server/both sides alternative to the specific class.

Joined Aug 2013
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
For stuff that is supposed to
Wed, 06/14/2017 - 21:23

For stuff that is supposed to be called just from client put @SideOnly(Side.CLIENT) annotation right before the method, class,...
In case that the code actually is supposed to be called by both/just server it is a bit complicated and depends on your actual code - simply,there are some classes that usses the annonation that I mentioned above. These are ussualy relicts from ages , when minecraft was complytly client/server divided. There you need use a class (or if the annonation applies jsut for a method) that does nto have it. So you want use instead of EntityPlayerSP a EntityPlayer or EntityPlayerMP.

Joined Feb 2018
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
I am getting a very similar…
Mon, 05/28/2018 - 05:02

I am getting a very similar problem but i do not know where to start to fix these problems. Where do i specify whether its client side or server side or both?

Joined Jun 2014
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
I know this is an old thread…
Wed, 07/04/2018 - 13:15

I know this is an old thread, but I'm going to have to ask "where???" as well.  Here's the relevant line in my crash report:

 

Caused by: java.lang.NoClassDefFoundError: net/minecraft/client/entity/EntityPlayerSP
	at mod.mcreator.mcreator_uraniumOre.<clinit>(mcreator_uraniumOre.java:66)

 

OK, I got it, EntityPlayerSP is deprecated and should be changed.  So, I go into the code at line 66 and this is what I find:

 

block = (BlockUraniumOre) (new BlockUraniumOre().setHardness(2.0F).setResistance(10.0F).setLightLevel(0.0F).setUnlocalizedName("uraniumore").setLightOpacity(0).setCreativeTab(CreativeTabs.BUILDING_BLOCKS));

 

????? O.o  Nowhere on line 66 in mcreator_uraniumOre is "EntityPlayerSP" mentioned.  It's not even in the mod element at all.  I'm guessing it's somehow getting called through a different method, but damned if I can figure out which one.

I have a theory as to what could be going on, though, since you mentioned that "EntityPlayerSP" is a throwback to the old days as to how Minecraft handled the differences between being a client and a server.  For sh*ts and giggles, I re-created this mod element in a brand-new mod (since *this* mod element is part of an older mod that I got from an imported .mcr file from a previous version of MCreator).  Running *that* brand-new mod from a brand-new workspace in a server environment resulted in *no* crashes.

So, I'm wondering if there's something, somewhere, in the workspace or another mod element or *something* that's causing the crash for EntityPlayerSP, but *only* for workspaces that have been imported from a previous version of MCreator.  I'm probably wrong, I'm sure I'll get the same crash as I fiddle around with the new workspace...but if I'm *right*, then I'm still confused as to where "EntityPlayerSP" is hiding.  But, at least, while we wait for the MCreator dev team to fix this problem in a later version, people can just simply re-build their mod in a clean workspace.  I know that sucks for those of us with *huge* mods (myself included), but it's better than nothing.  

Joined Jun 2014
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
Oh, nevermind, I just…
Wed, 07/04/2018 - 17:18

Oh, nevermind, I just figured it out and what/where you meant.  Duh.

 

Thanks!