Posted July 4, 201312 yr Hello everyoneI have a problemI made a mod but if i install it on a server it crash...But if i install it in normal minecraft it just works.This is the error i get:---- Minecraft Crash Report ----// I blame Dinnerbone.Time: 7/4/13 6:11 PMDescription: Exception in server tick loopjava.lang.NoClassDefFoundError: net/minecraft/client/renderer/entity/Renderat java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Unknown Source)at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:425)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.EventHandler.handleEvent(EventHandler.java:74)at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)at com.google.common.eventbus.EventBus.post(EventBus.java:267)at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:165)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.EventHandler.handleEvent(EventHandler.java:74)at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)at com.google.common.eventbus.EventBus.post(EventBus.java:267)at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:98)at cpw.mods.fml.common.Loader.loadMods(Loader.java:503)at cpw.mods.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:85)at cpw.mods.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:350)at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:69)at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:430)at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:573)Caused by: java.lang.ClassNotFoundException: net.minecraft.client.renderer.entity.Renderat cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:238)at java.lang.ClassLoader.loadClass(Unknown Source)at java.lang.ClassLoader.loadClass(Unknown Source)... 29 moreCaused by: java.lang.NullPointerExceptionat cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:227)... 31 moreA detailed walkthrough of the error, its code path and all known details is as follows:----------------------------------------------------------------------------------------- System Details --Details:Minecraft Version: 1.5.2Operating System: Windows XP (x86) version 5.1Java Version: 1.7.0_21, Oracle CorporationJava VM Version: Java HotSpot Client VM (mixed mode, sharing), Oracle CorporationMemory: 22076368 bytes (21 MB) / 46731264 bytes (44 MB) up to 259522560 bytes (247 MB)JVM Flags: 0 total;AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) usedSuspicious classes: FML and Forge are installedIntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0FML: MCP v7.51 FML v5.2.2.684 Minecraft Forge 7.8.0.684 4 mods loaded, 4 mods activemcp{7.44} [Minecraft Coder Pack] (minecraft.jar) Unloaded->ConstructedFML{5.2.2.684} [Forge Mod Loader] (coremods) Unloaded->ConstructedForge{7.8.0.684} [Minecraft Forge] (coremods) Unloaded->ConstructedOpticalItems{1.0} [Optical Items] (Optical_Items_v1.0.zip) UnloadedProfiler Position: N/A (disabled)Is Modded: Definitely; Server brand changed to 'fml,forge'Type: Dedicated Server (map_server.txt)And here is my standard needed forge stuff:package Optical.Items; //Package directory/** Basic importing*/import java.io.File;import net.minecraft.block.Block;import net.minecraft.block.BlockFurnace;import net.minecraft.creativetab.CreativeTabs;import net.minecraft.entity.EnumCreatureType;import net.minecraft.item.EnumToolMaterial;import net.minecraft.item.Item;import net.minecraft.item.ItemFood;import net.minecraft.item.ItemStack;import net.minecraft.item.crafting.FurnaceRecipes;import net.minecraft.world.biome.BiomeGenBase;import net.minecraftforge.common.EnumHelper;import cpw.mods.fml.client.registry.RenderingRegistry;import cpw.mods.fml.common.Mod;import cpw.mods.fml.common.Mod.Init;import cpw.mods.fml.common.event.FMLInitializationEvent;import cpw.mods.fml.common.network.NetworkMod;import cpw.mods.fml.common.network.NetworkRegistry;import cpw.mods.fml.common.registry.EntityRegistry;import cpw.mods.fml.common.registry.GameRegistry;import cpw.mods.fml.common.registry.LanguageRegistry;import cpw.mods.fml.common.registry.GameRegistry;import cpw.mods.fml.common.Mod.Init;import cpw.mods.fml.common.Mod.Instance;import cpw.mods.fml.common.Mod.PostInit;import cpw.mods.fml.common.Mod.PreInit;import cpw.mods.fml.common.SidedProxy;import cpw.mods.fml.common.event.FMLInitializationEvent;import cpw.mods.fml.common.event.FMLPostInitializationEvent;import cpw.mods.fml.common.event.FMLPreInitializationEvent;import cpw.mods.fml.common.network.NetworkMod;/** Basic needed forge stuff*/@Mod(modid="OpticalItems",name="Optical Items",version="1.0",acceptedMinecraftVersions="1.5.2")@NetworkMod(clientSideRequired=true,serverSideRequired= false)public class MainClass { Please help me ( There is more code but this is the standard code what forge needs )
July 4, 201312 yr 1) please use insert code when you do that (it do it easyer to read) 2) what i can see is that it can't find a class, if you look at the start Exception in server tick loopjava.lang.NoClassDefFoundError: net/minecraft/client/renderer/entity/Renderat if your are using 1 class like my for tick handling for server and client you do remember to but the @SideOnly(Side.CLIENT)?
July 5, 201312 yr if your are using 1 class like my for tick handling for server and client you do remember to but the @SideOnly(Side.CLIENT)? As a modder you should never use @SideOnly. It screws things up badly. @Op: Post your crash report properly. Also do NOT post the Minecraft crash report but the ForgeModLoader log file. You are probably trying to register your renderers on the server, too, which won't work. You need a proper proxy system (before you ask: go to the wiki, there are tutorials.) you do now that @SideOnly only so the code it's over will be that you set it to only ex with armor do the server not need the textures the @SideOnly tuch one code and leave the rest do client and server @Override @SideOnly(Side.CLIENT) public String getArmorTextureFile(ItemStack itemstack) { if (itemstack.itemID == ModArmor.StoneHelmet.itemID || itemstack.itemID == ModArmor.StoneChestPlate.itemID || itemstack.itemID == ModArmor.StoneBoots.itemID){ return "/assets/itempack/textures/armor/stone_1.png"; } else if (itemstack.itemID == ModArmor.StoneLegs.itemID){ return "/assets/itempack/textures/armor/stone_2.png"; } else return null; } and sometimes you will need to else will minecraft crash and i have tryed that
July 7, 201312 yr Author First a little bit cleaner view of everything: Crash Report: [iNFO] Starting minecraft server version 1.5.2 [sEVERE] Encountered an unexpected exception NoClassDefFoundError java.lang.NoClassDefFoundError: net/minecraft/client/renderer/entity/Render at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:425) 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.EventHandler.handleEvent(EventHandler.java:74) at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) at com.google.common.eventbus.EventBus.post(EventBus.java:267) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:165) 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.EventHandler.handleEvent(EventHandler.java:74) at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) at com.google.common.eventbus.EventBus.post(EventBus.java:267) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:98) at cpw.mods.fml.common.Loader.loadMods(Loader.java:503) at cpw.mods.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:85) at cpw.mods.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:350) at net.minecraft.server.dedicated.DedicatedServer.startServer(DedicatedServer.java:69) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:430) at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16) Caused by: java.lang.ClassNotFoundException: net.minecraft.client.renderer.entity.Render at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:238) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 29 more Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/renderer/entity/Render for invalid side SERVER at cpw.mods.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:50) at cpw.mods.fml.relauncher.RelaunchClassLoader.runTransformers(RelaunchClassLoader.java:352) at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:225) ... 31 more [sEVERE] This crash report has been saved to: C:\Users\5772\Desktop\Coder Map\mcp\jars\.\crash-reports\crash-2013-07-07_19.41.55-server.txt And again a little bit of my code: package Optical.Items; //Package directory /* * Basic importing */ import java.io.File; import net.minecraft.block.Block; import net.minecraft.block.BlockFurnace; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EnumCreatureType; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.EnumHelper; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.Mod.PostInit; import cpw.mods.fml.common.Mod.PreInit; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; /* * Basic needed forge stuff */ @Mod(modid="OpticalItems",name="Optical Items",version="1.0",acceptedMinecraftVersions="1.5.2") @NetworkMod(clientSideRequired=true,serverSideRequired= false) So what do i need to change? I dont understand what i need to do with the @SideOnly right now Because everyone says something else. So if i under stand i have the code: /* * Basic needed forge stuff */ @Mod(modid="OpticalItems",name="Optical Items",version="1.0",acceptedMinecraftVersions="1.5.2") @NetworkMod(clientSideRequired=true,serverSideRequired= false) I have to add @Override and @SideOnly(Side.CLIENT) So like this? /* * Basic needed forge stuff */ @Mod(modid="OpticalItems",name="Optical Items",version="1.0",acceptedMinecraftVersions="1.5.2") @NetworkMod(clientSideRequired=true,serverSideRequired= false) @Override @SideOnly(Side.CLIENT) But i dont understand this code: @Override @SideOnly(Side.CLIENT) public String getArmorTextureFile(ItemStack itemstack) { if (itemstack.itemID == ModArmor.StoneHelmet.itemID || itemstack.itemID == ModArmor.StoneChestPlate.itemID || itemstack.itemID == ModArmor.StoneBoots.itemID){ return "/assets/itempack/textures/armor/stone_1.png"; } else if (itemstack.itemID == ModArmor.StoneLegs.itemID){ return "/assets/itempack/textures/armor/stone_2.png"; } else return null; } What do i have to edit? Because i have one mob in the mod so probably is that the problem. My mod works only in single player. So what do i have to edit in that code for my mob entity?
July 7, 201312 yr diesieben07 is correct @SideOnly should only be used if the original method has it, everything else needs to go through your proxy. poonkje112 on your mod files that are not client only look at your imports, delete any that start "net.minecraft.client" anything that errors needs to go through your proxy. This should help http://www.minecraftforge.net/wiki/Basic_Modding#Proxy_Classes
July 7, 201312 yr Author Yes but i have 2 classes that need that import.... Like: My Model for my Mob package Optical.Items; [glow=red,2,300]import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer;[/glow] import net.minecraft.entity.Entity; public class ModelSalamander extends ModelBase { //fields ModelRenderer Body; ModelRenderer FootLeftB; ModelRenderer FootLeftF; ModelRenderer FootRightF; ModelRenderer FootRightB; ModelRenderer Head; ModelRenderer Shape1; public ModelSalamander() And the render for my mob package Optical.Items; [glow=red,2,300]import net.minecraft.client.model.ModelBase; import net.minecraft.client.renderer.entity.RenderLiving;[/glow] import net.minecraft.entity.EntityLiving; public class RenderSalamander extends RenderLiving{ protected ModelSalamander model; And i allready set up the proxy.
July 7, 201312 yr models and rendering is client only those classes are fine with net.minecraft.client imports because a server will not load them. the model is called from the renderer and the renderer is called by the renderhandler and thats only called on the client.
July 7, 201312 yr Author So there is nothing i have to change everything runs through my proxy. So now i dont understand what the problem is. Do i have to add @SidedProxy(clientSide = "Optical.Items.ClientProxy", serverSide = "Optical.Items.CommonProxy") public static CommonProxy proxy; In all classes? Because the server problem is still not fixed.
July 7, 201312 yr nope only in the main class can you show me all your code, if you don't want it public link it to me in a message
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.