Posted June 19, 20169 yr Hello. I am trying to use wuppy's tutorial book on modding mc 1.8 with eclipse and forge. Everything in the file and both item classes is fine compared to what is in the book, it follows it to the letter; but yet I receive this message when trying to run minecraft through the eclipse: AL lib: (EE) alc_cleanup: 1 device not closed Here is the crash report: ---- Minecraft Crash Report ---- // This is a token for 1 free hug. Redeem at your nearest Mojangsta: [~~HUG~~] Time: 6/19/16 1:08 PM Description: Initializing game java.lang.ClassCastException: com.nathantestmod.ItemSamGeneric cannot be cast to com.nathantestmod.ItemKey at com.nathantestmod.NathanTestMod.PostInit(NathanTestMod.java:104) 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 net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:553) 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:212) at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:190) 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:119) at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:736) at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:316) at net.minecraft.client.Minecraft.startGame(Minecraft.java:528) at net.minecraft.client.Minecraft.run(Minecraft.java:356) at net.minecraft.client.main.Main.main(Main.java:117) 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 net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) 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 net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at com.nathantestmod.NathanTestMod.PostInit(NathanTestMod.java:104) 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 net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:553) 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:212) at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:190) 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:119) at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:736) at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:316) at net.minecraft.client.Minecraft.startGame(Minecraft.java:528) -- Initialization -- Details: Stacktrace: at net.minecraft.client.Minecraft.run(Minecraft.java:356) at net.minecraft.client.main.Main.main(Main.java:117) 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 net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) 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 net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) -- System Details -- Details: Minecraft Version: 1.8 Operating System: Windows 8.1 (amd64) version 6.3 Java Version: 1.8.0_92, Oracle Corporation Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 908069384 bytes (866 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.10 FML v8.0.99.99 Minecraft Forge 11.14.4.1563 5 mods loaded, 5 mods active States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored UCHIJ mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) UCHIJ FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.8-11.14.4.1563.jar) UCHIJ Forge{11.14.4.1563} [Minecraft Forge] (forgeSrc-1.8-11.14.4.1563.jar) UCHIJ examplemod{1.0} [Example Mod] (bin) UCHIE nathantestmod{1.0} [nathantestmod] (bin) Loaded coremods (and transformers): GL info: ' Vendor: 'Intel' Version: '4.2.0 - Build 10.18.10.3308' Renderer: 'Intel® HD Graphics 4600' Launched Version: 1.8 LWJGL: 2.9.1 OpenGL: Intel® HD Graphics 4600 GL version 4.2.0 - Build 10.18.10.3308, Intel GL Caps: Using GL 1.3 multitexturing. Using GL 1.3 texture combiners. Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported. Shaders are available because OpenGL 2.1 is supported. VBOs are available because OpenGL 1.5 is supported. Using VBOs: No Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Packs: [] Current Language: English (US) Profiler Position: N/A (disabled) ~ Do not go where the path may lead, go instead where there is no path and leave a trail. --Ralph Waldo Emerson
June 19, 20169 yr Author Would this be fixed by changing the code lines public String getUnlocalizedName(ItemStack par1ItemStack) { return super.getUnlocalizedName() + "." + metaNames[par1ItemStack.getItemDamage()]; } to "par2ItemStack"? ~ Do not go where the path may lead, go instead where there is no path and leave a trail. --Ralph Waldo Emerson
June 19, 20169 yr Author Here is my item class code. Can someone please tell me what to change? I just want to set metadata to the two items: samdust and samingot, within the class SamItemGeneric: 1 package com.nathantestmod; 2 3 import net.minecraft.item.Item; 4 import net.minecraft.item.ItemStack; 5 6 import java.util.List; 7 8 import net.minecraft.client.resources.model.ModelBakery; 9 import net.minecraft.creativetab.CreativeTabs; 10 import net.minecraftforge.fml.common.registry.GameRegistry; 11 import net.minecraftforge.fml.relauncher.Side; 12 import net.minecraftforge.fml.relauncher.SideOnly; 13 14 public class ItemSamGeneric extends Item 15 { 16 private static String name = "sam"; 17 private static String[] metaNames = { "dust", "ingot" }; 18 19 public ItemSamGeneric() 20 { 21 GameRegistry.registerItem(this, name); 22 setUnlocalizedName(NathanTestMod.MODID + "_" + name); 23 setCreativeTab(CreativeTabs.tabMisc); 24 setHasSubtypes(true); 25 } 26 27 public String getName() 28 { 29 return name; 30 } 31 32 @Override 33 public String getUnlocalizedName(ItemStack par1ItemStack) 34 { 35 return super.getUnlocalizedName() + "." + metaNames[par1ItemStack.getItemDamage()]; 36 } 37 public static String getNameFromDamage(int damage) 38 { 39 return name + metaNames[damage]; 40 } 41 public static void registerVariants() 42 { 43 String[] variantNames = new String[metaNames.length]; 44 for (int i = 0; i < metaNames.length; i++) 45 { 46 variantNames = NathanTestMod.MODID + ":" + getNameFromDamage(i); 47 } 48 ModelBakery.addVariantName(NathanTestMod.sam, variantNames); 49 } 50 @SideOnly(Side.CLIENT) 51 @Override 52 public void getSubItems(Item itemIn, CreativeTabs tab, List subItems) 53 { 54 for (int i = 0; i < metaNames.length; ++i) 55 { 56 subItems.add(new ItemStack(itemIn, 1, i)); 57 } 58 } 59 60 } ~ Do not go where the path may lead, go instead where there is no path and leave a trail. --Ralph Waldo Emerson
June 19, 20169 yr Author Ok I'm sorry. Here's the first method, right between the imports and the recipes in the Init Method. public class NathanTestMod { public static final String MODID = "nathantestmod"; public static final String VERSION = "1.0"; public static Item key; public static Item sam; @EventHandler public void PreInit(FMLPreInitializationEvent event) { key = new ItemKey(); sam = new ItemSamGeneric(); if(event.getSide() == Side.CLIENT) { ItemKey.registerVariants(); } and here's the postInit method: @EventHandler public void PostInit(FMLPostInitializationEvent event) { if(event.getSide() == Side.CLIENT) { RenderItem renderItem = Minecraft.getMinecraft().getRenderItem(); renderItem.getItemModelMesher().register(key, 0, new ModelResourceLocation(MODID + ":" + ((ItemKey) key).getNameFromDamage(0), "inventory")); renderItem.getItemModelMesher().register(key, 1, new ModelResourceLocation(MODID + ":" + ((ItemKey) key).getNameFromDamage(1), "inventory")); renderItem.getItemModelMesher().register(sam, 0, new ModelResourceLocation(MODID + ":" + ((ItemKey) sam).getNameFromDamage(0), "inventory")); renderItem.getItemModelMesher().register(sam, 1, new ModelResourceLocation(MODID + ":" + ((ItemKey) sam).getNameFromDamage(1), "inventory")); } } The weird thing is, eclipse showed no errors in any of the classes. ~ Do not go where the path may lead, go instead where there is no path and leave a trail. --Ralph Waldo Emerson
June 19, 20169 yr Author Ohhhh... I figured it out. LOL Thanks anyway. ~ Do not go where the path may lead, go instead where there is no path and leave a trail. --Ralph Waldo Emerson
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.