Mekanism

Mekanism

111M Downloads

McMultipart issue on server

Lazarix opened this issue ยท 14 comments

commented

Getting a crash server side that doesn't seem to happen client side:

Description: Exception in server tick loop
java.lang.NoClassDefFoundError: mekanism/common/multipart/ItemPartTransmitter
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
at java.lang.Class.privateGetPublicFields(Class.java:2614)
at java.lang.Class.getFields(Class.java:1557)
at
net.minecraftforge.fml.common.registry.ObjectHolderRegistry.scanClassForFields(ObjectHolderRegistry.java:114)
at net.minecraftforge.fml.common.registry.ObjectHolderRegistry.scanTarget(ObjectHolderRegistry.java:84)
at net.minecraftforge.fml.common.registry.ObjectHolderRegistry.findObjectHolders(ObjectHolderRegistry.java:42)
at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:584)
at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:93)
at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:320)
at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:118)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:429)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: mekanism.common.multipart.ItemPartTransmitter
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)
... 13 more
Caused by: java.lang.NoClassDefFoundError: mcmultipart/item/ItemMultiPart
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182)
... 15 more
Caused by: java.lang.ClassNotFoundException: mcmultipart.item.ItemMultiPart
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:101)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 19 more

Is mcmultipart required as a mod dependency? the mod API doesn't seem to be included in the codebase right now

commented

Yeah, I've done practically no server testing, I'm probably accessing client-only in the reported class. Thanks for the report

commented

By the way, how is the port in your testing so far? Are things working nicely?

commented

Client side everything is good except for the multipart right now.
Multipart construction causes a hard crash and doesn't form the multi block.

commented

The crash for that is:

`Ticking block entity

java.lang.NullPointerException: Ticking block entity
at mekanism.common.tile.TileEntityThermalEvaporationController.addSolarPanel(TileEntityThermalEvaporationController.java:537)
at mekanism.common.tile.TileEntityThermalEvaporationController.scanTopLayer(TileEntityThermalEvaporationController.java:403)
at mekanism.common.tile.TileEntityThermalEvaporationController.buildStructure(TileEntityThermalEvaporationController.java:360)
at mekanism.common.tile.TileEntityThermalEvaporationController.refresh(TileEntityThermalEvaporationController.java:195)
at mekanism.common.tile.TileEntityThermalEvaporationController.onUpdate(TileEntityThermalEvaporationController.java:103)
at mekanism.common.tile.TileEntityBasicBlock.func_73660_a(TileEntityBasicBlock.java:82)
at mekanism.common.tile.TileEntityContainerBlock.func_73660_a(TileEntityContainerBlock.java:47)
at net.minecraft.world.World.func_72939_s(World.java:1797)
at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:618)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:707)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:611)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:148)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:469)
at java.lang.Thread.run(Unknown Source)
`

commented

Where can I get the 1.9.4 version? I'd like to help with the testing.

commented

you only get access to beta version, if you donate money, fill out the template on the mekanism site and got invited to it

commented

@Xiaminou compile it

commented

How do I do that without gradlew.bat?

commented

By installing gradle.

commented

got 6 errors, did you successfully build it?

commented

The 1.9.4 source will successfully build but it doesn't currently work server-side. it causes a hard crash.
It works in single player though so that can be tested.
1.9.4 binaries are not currently available on the dev build server

commented

To the crash:
At if(addSolarPanel(pointer.getTileEntity(worldObj), corner))
it can be replaced with pointerTile.
Also if all solar panels were placed and the TileEntity was null the scan was done before the TileEntity was finished spawning or somehow the wrong Block Position was used.
Either way a null Check on pointerTile should fix the second crash :)

commented

Fixed in development.