Posted July 8, 201510 yr I may just be doing something dumb and have tunnel vision coding. This is the error ---- Minecraft Crash Report ---- // Daisy, daisy... Time: 7/8/15 6:42 PM Description: Exception in server tick loop java.lang.NoClassDefFoundError: net/minecraft/client/entity/EntityPlayerSP at com.sirniloc.sirocelot.SirOcelot.<clinit>(SirOcelot.java:35) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at net.minecraftforge.fml.common.FMLModContainer.constructMod(FMLModContainer.java:443) 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.sendEventToModContainer(LoadController.java:208) at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:187) 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:118) at net.minecraftforge.fml.common.Loader.loadMods(Loader.java:493) at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:87) at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:355) at net.minecraft.server.dedicated.DedicatedServer.startServer(DedicatedServer.java:120) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:500) 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) ... 31 more Caused by: net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerException: Exception in class transformer net.minecraftforge.fml.common.asm.transformers.SideTransformer@e056f20 from coremod FMLCorePlugin at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:234) at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ... 33 more Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/entity/EntityPlayerSP for invalid side SERVER at net.minecraftforge.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:49) at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:230) ... 35 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details: Minecraft Version: 1.8 Operating System: Windows 8.1 (amd64) version 6.3 Java Version: 1.8.0_45, Oracle Corporation Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 926214080 bytes (883 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.10 FML v8.0.76.1375 Minecraft Forge 11.14.1.1375 4 mods loaded, 4 mods active mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed FML{8.0.76.1375} [Forge Mod Loader] (forgeSrc-1.8-11.14.1.1375.jar) Unloaded->Constructed Forge{11.14.1.1375} [Minecraft Forge] (forgeSrc-1.8-11.14.1.1375.jar) Unloaded->Constructed sirocelot{0.0} [sirOcelot] (bin) Unloaded Loaded coremods (and transformers): Profiler Position: N/A (disabled) Is Modded: Definitely; Server brand changed to 'fml,forge' Type: Dedicated Server (map_server.txt) package com.sirniloc.sirocelot; import java.util.EnumMap; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.network.FMLEmbeddedChannel; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import _indev.inprogress.SirOcelotEventHandler; import _indev.inprogress.SirOcelotPlayer; import com.sirniloc.sirocelot.input.KeyBindingHandler; import com.sirniloc.sirocelot.network.ChannelHandler; import com.sirniloc.sirocelot.network.CommonProxy; @Mod(modid = SirOcelot.MODID, name = SirOcelot.NAME, version = SirOcelot.VERSION) public class SirOcelot { public static final String NAME = "SirOcelot"; public static final String MODID = "sirocelot"; public static final String VERSION = "0.0"; @SidedProxy(clientSide = "com.sirniloc.sirocelot.network.ClientProxy", serverSide = "com.sirniloc.sirocelot.network.CommonProxy") public static CommonProxy proxy; 35. static EnumMap<Side, FMLEmbeddedChannel> channels = NetworkRegistry.INSTANCE.newChannel(MODID, new ChannelHandler()); public static final boolean DEVMODE = true; public static SirOcelotPlayer clientPlayer; @Instance("sirocelot") public SirOcelot instance; @EventHandler public void preInit(FMLInitializationEvent event){ System.out.println("PREINIT SirOcelot started"); preInitKeys(); System.out.println("PREINIT SirOcelot finished"); } @EventHandler public void init(FMLInitializationEvent event){ System.out.println("INTIT SirOcelot started"); System.out.println("INTIT SirOcelot finished"); } @EventHandler public void postInit(FMLInitializationEvent event){ System.out.println("POST SirOcelot started"); initEvents(); System.out.println("POST SirOcelot finished"); } private void preInitKeys() { if(FMLCommonHandler.instance().getEffectiveSide().isClient()){ FMLCommonHandler.instance().bus().register(new KeyBindingHandler()); KeyBindingHandler.preInit(); } } private void initEvents(){ MinecraftForge.EVENT_BUS.register(new SirOcelotEventHandler()); } public static EnumMap<Side, FMLEmbeddedChannel> getChannels(){ return channels; } public static SirOcelotPlayer getClientPlayer(){ return clientPlayer; } }
July 8, 201510 yr if(FMLCommonHandler.instance().getEffectiveSide().isClient()){ FMLCommonHandler.instance().bus().register(new KeyBindingHandler()); KeyBindingHandler.preInit(); } Dont do this. use ur proxy for deciding if ur on server or client side.
July 9, 201510 yr Author Here is my player class package _indev.inprogress; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import com.sirniloc.sirocelot.SirOcelot; import com.sirniloc.sirocelot.entity.SirOcelotLivingBase; import com.sirniloc.sirocelot.network.CommonProxy; import com.sirniloc.sirocelot.network.packets.Packet_001_Skill; import com.sirniloc.sirocelot.network.packets.SendPacket; import com.sirniloc.sirocelot.skills.SkillHandler; public class SirOcelotPlayer extends SirOcelotLivingBase { public final static String EXT_PROP_NAME = SirOcelot.MODID+"Player"; private final EntityPlayer player; public SirOcelotPlayer(EntityPlayer player) { super(player); this.player = player; } public static final void register(EntityPlayer player) { player.registerExtendedProperties(SirOcelotPlayer.EXT_PROP_NAME, new SirOcelotPlayer(player)); } @Override public void init(Entity entity, World world) { } /* public int getDamage(int amount) { //int con = this.player.getDataWatcher().getWatchableObjectInt(CONSTITUTION_WATCHER); int damage = 0; // These two lines are the same as before con -= amount; if(con < 0){ damage = con*-1; con = 0; } // Update the data watcher object with the new value //this.player.getDataWatcher().updateObject(CONSTITUTION_WATCHER, con); // note that we no longer need to call 'sync()' to update the client return damage; } public void fillCon() { //this.player.getDataWatcher().updateObject(CONSTITUTION_WATCHER, this.maxConstitution); } // Simple change public final int getCurrentConstitution() { return this.player.getDataWatcher().getWatchableObjectInt(CONSTITUTION_WATCHER); } public final void setCurrentConstitution(int amount) { this.player.getDataWatcher().updateObject(CONSTITUTION_WATCHER, (amount < this.maxConstitution ? amount : this.maxConstitution)); } /** * Makes it look nicer in the methods save/loadProxyData */ public static void saveProxyData(EntityPlayer player) { SirOcelotPlayer playerData = (SirOcelotPlayer) SirOcelotPlayer.get(player); NBTTagCompound savedData = new NBTTagCompound(); playerData.saveNBTData(savedData); CommonProxy.storeEntityData(getSaveKey(player), savedData); } public static void loadProxyData(EntityPlayer player) { SirOcelotPlayer playerData = (SirOcelotPlayer) SirOcelotPlayer.get(player); NBTTagCompound savedData = CommonProxy.getEntityData(getSaveKey(player)); if(savedData != null) { playerData.loadNBTData(savedData); } } public final void sync() { for(int j = 1; j <= SkillHandler.SKILL_COUNT; j++){ int id = j; int level = skills.getSkillLevel(j); SendPacket.sendServerToClient(SirOcelot.getChannels(), new Packet_001_Skill(id,level), player); } } }[\code]
July 9, 201510 yr You can't reference a client class in the server jar, so if your 'clientPlayer' reference in your main class extends EntityPlayerSP, right there is your problem - you have to put that kind of stuff in your ClientProxy and NEVER reference it directly unless you are in an @SideOnly(Side.CLIENT) class already. http://i.imgur.com/NdrFdld.png[/img]
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.