Posted March 7, 201510 yr Hello all! I've updated a mod of mine from 1.7.10 to 1.8, everything builds properly, but on run, Forge doesn't see my mod at all. I feel like there should be something biting me in the ass by now, but it seems I've done everything right. Feel free to ask for other snippets too Main Class: package robosphinx.mods.quartz; /** * @author robosphinx */ import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.Instance; 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.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.item.Item; import robosphinx.mods.quartz.handler.ConfigHandler; import robosphinx.mods.quartz.handler.RecipeHandler; import robosphinx.mods.quartz.init.QuartzPlusBlocks; import robosphinx.mods.quartz.init.QuartzPlusItems; import robosphinx.mods.quartz.item.*; import robosphinx.mods.quartz.block.*; import robosphinx.mods.quartz.reference.Reference; import robosphinx.mods.quartz.world.Generation; /* * What is our mod? */ @Mod (modid = Reference.MOD_ID, name = Reference.NAME, version = Reference.VERSION/*, guiFactory = Reference.GUI_FACTORY_CLASS*/) public class Quartz { /* * Makes this class accessible from other mods (makes addons and integration possible). */ @Instance (value = Reference.MOD_ID) public static Quartz instance; private ConfigHandler config; private RecipeHandler recipes; private QuartzPlusBlocks blocks; private QuartzPlusItems items; /* * Forge pre-initialization call, most of our loading stuff is here. */ @Mod.EventHandler public void preInit (FMLPreInitializationEvent event) { // Gets the config file: if none exists, one is created. config.init(event.getSuggestedConfigurationFile()); // Register World Gen GameRegistry.registerWorldGenerator(new Generation(), 0); } /* * Forge initialization call, adds smelting to the registry. */ @Mod.EventHandler public void init (FMLInitializationEvent event) { if (event.getSide() == Side.CLIENT) { RenderItem render = Minecraft.getMinecraft().getRenderItem(); // Blocks render.getItemModelMesher().register(Item.getItemFromBlock(blocks.quartz_slab), 0, new ModelResourceLocation("quartz:" + ((QuartzHalfSlab) blocks.quartz_slab).getUnlocalizedName(), "inventory")); render.getItemModelMesher().register(Item.getItemFromBlock(blocks.double_quartz_slab), 0, new ModelResourceLocation("quartz:" + ((QuartzDoubleSlab) blocks.double_quartz_slab).getUnlocalizedName(), "inventory")); render.getItemModelMesher().register(Item.getItemFromBlock(blocks.white_quartz_ore), 0, new ModelResourceLocation("quartz:" + ((QuartzOre) blocks.white_quartz_ore).getUnlocalizedName(), "inventory")); render.getItemModelMesher().register(Item.getItemFromBlock(blocks.rose_quartz_ore), 0, new ModelResourceLocation("quartz:" + ((RoseQuartzOre) blocks.rose_quartz_ore).getUnlocalizedName(), "inventory")); render.getItemModelMesher().register(Item.getItemFromBlock(blocks.smoky_quartz_ore), 0, new ModelResourceLocation("quartz:" + ((SmokyQuartzOre) blocks.smoky_quartz_ore).getUnlocalizedName(), "inventory")); render.getItemModelMesher().register(Item.getItemFromBlock(blocks.rose_quartz_block), 0, new ModelResourceLocation("quartz:" + ((RoseQuartzBlock) blocks.rose_quartz_block).getUnlocalizedName(), "inventory")); render.getItemModelMesher().register(Item.getItemFromBlock(blocks.smoky_quartz_block), 0, new ModelResourceLocation("quartz:" + ((SmokyQuartzBlock) blocks.smoky_quartz_block).getUnlocalizedName(), "inventory")); // Items render.getItemModelMesher().register(items.smoky_quartz, 0, new ModelResourceLocation("quartz:" + ((SmokyQuartz) items.smoky_quartz).getName(), "inventory")); render.getItemModelMesher().register(items.rose_quartz, 0, new ModelResourceLocation("quartz:" + ((RoseQuartz) items.rose_quartz).getName(), "inventory")); render.getItemModelMesher().register(items.quartz_shovel, 0, new ModelResourceLocation("quartz:" + ((QuartzSpade) items.quartz_shovel).getName(), "inventory")); render.getItemModelMesher().register(items.quartz_pickaxe, 0, new ModelResourceLocation("quartz:" + ((QuartzPickaxe) items.quartz_pickaxe).getName(), "inventory")); render.getItemModelMesher().register(items.quartz_sword, 0, new ModelResourceLocation("quartz:" + ((QuartzSword) items.quartz_sword).getName(), "inventory")); render.getItemModelMesher().register(items.quartz_axe, 0, new ModelResourceLocation("quartz:" + ((QuartzAxe) items.quartz_axe).getName(), "inventory")); render.getItemModelMesher().register(items.quartz_hoe, 0, new ModelResourceLocation("quartz:" + ((QuartzHoe) items.quartz_hoe).getName(), "inventory")); } recipes.initRecipes(); recipes.initSmelting(); } @Mod.EventHandler public void postInit (FMLPostInitializationEvent event) { // Stub method at this point - Here if we need it. } } The further a society drifts from the truth, the more it hates those who speak it.
March 7, 201510 yr Well to start off that should crash. Because there are imports that don't exist. So yeah. There is the first problem.
March 7, 201510 yr Guy above is right. All cpw. packages are now in mcforge. Also - why @Mod.EventHandler? Use simple @EventHandler. Other than that - redesign your main class please and use proxy. Side.X is NOT reliable in all cases, and certainly shouldnt be used when you have neat proxy system right under your hand. 1.7.10 is no longer supported by forge, you are on your own.
March 7, 201510 yr Author Interesting... My userdev still has all cpw.* packages in it –as well as– net.minecraftforge.fml.* in it. Thanks for pointing that out. Additionally, I haven't had the need to do sided things in forever so I just used quick hackery - I'll clean that up in a separate proxy later The further a society drifts from the truth, the more it hates those who speak it.
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.