Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Glistre

Members
  • Joined

  • Last visited

Everything posted by Glistre

  1. I added a method .smiteaspect onUpdate enchantment to my custom sword. Oddly the text "Smiteaspect 22 " repeats and shows itself over and over and over when hovering over the hotbar Any ideas? @Override /** Makes your Item Enchanted on startup */ public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) { stack.addEnchantment(Enchantment.smite, 22); super.onUpdate(stack, worldIn, entityIn, itemSlot, isSelected); } // Replace the "." after "Enchantment" to see options // The number is the Enchantment Level
  2. I am confused about the preinitialization, initialization , and post initialization and how to organize the mod best, I think I am probably missing the big picture: 1)why would it be that my custom egg and other classes only work if declared BEFORE preinitialization? I have seen other people have that after preinit but before init and their mods work fine; 2) what is the best way to organize mod ? 3)do recipes always go in the init section? In 1.7.10 I have my world which only works in post init, and my creative tab only works in post init...versus 1.6.4 totally different Here is my 1.6.4 package mymod; import java.awt.Color; import mymod.armor.MyArmor; import mymod.biome.MyBiome; import mymod.blocks.MyBlock; import mymod.blocks.MyBlockGen; import mymod.entity.tobo.MyEntityTobo; import mymod.entity.tobo.MyModelTobo; import mymod.entity.tobo.MyRenderTobo; import mymod.entity.wolf.MyEntityWolf; import mymod.entity.wolf.MyModelWolf; import mymod.entity.wolf.MyRenderWolf; import mymod.handlers.MyCraftingHandler; import mymod.handlers.MyPickupHandler; import mymod.items.GlistreDust; import mymod.items.GlistreIngot; import mymod.items.CustomSpawner; import mymod.items.GlistreSword; import mymod.items.MyFood; import mymod.items.MyItem; import mymod.items.MyPickaxe; import mymod.items.MySword; import mymod.proxies.CommonProxy; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityEggInfo; import net.minecraft.entity.EntityList; import net.minecraft.entity.EnumCreatureType; import net.minecraft.item.EnumArmorMaterial; import net.minecraft.item.EnumToolMaterial; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.src.ModLoader; import net.minecraft.stats.Achievement; import net.minecraft.stats.AchievementList; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.EnumHelper; import net.minecraftforge.common.MinecraftForge; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; 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; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; /* MOD INFO */ @Mod( modid = "mymod", name = "Glistre Mod", version = "1.0") @NetworkMod(clientSideRequired=true, serverSideRequired=false) public class Main { /* PROXY INFO */ @SidedProxy(clientSide = "mymod.proxies.ClientProxy", serverSide = "mymod.proxies.CommonProxy") public static CommonProxy proxy; /** * DECLARATION SECTION * *********************************************************** */ /**Declares The Block/Item */ // DECLARE THE SWORD public static Item MySword_1; // DECLARE THE SWORD public static Item Glistre_Sword; // DECLARE THE PICKAXE public static Item MyPickaxe_1; // DECLARE THE PICKAXE public static Item Glistre_Pickaxe; // DECLARE NEW TOOL MATERIAL public static EnumToolMaterial MyToolMaterial = EnumHelper.addToolMaterial("Silver", 1, 2000, 16.0F, 24.0F, 10); // DECLARE NEW TOOL MATERIAL public static EnumToolMaterial MyToolMaterial_2 = EnumHelper.addToolMaterial("Glistre_Ingot", 2, 2000, 20.0F, 36.0F, 16); // DECLARE THE ITEM public static Item MyItem_1; // DECLARE THE ITEM public static Item Glistre_Dust; // DECLARE THE ITEM public static Item Glistre_Ingot; // DECLARE GLISTERING BREAD public static Item MyFood_1; // DECLARE GLISTERING PIE public static Item MyFood_2; // DECLARE THE BLOCK public static Block MyBlock_1; // DECLARE THE ARMOR public static Item MyHelmet_1; public static Item MyChest_1; public static Item MyLeggings_1; public static Item MyBoots_1; // DECLARE THE ARMOR MATERIAL /** maxDamageFactor, damageReductionAmountArray, enchantability*/ public static EnumArmorMaterial MyArmorMaterial_1 = EnumHelper.addArmorMaterial("Glistre", 28, new int[]{3, 7, 6, 4}, 50); // DECLARE THE BIOME public static BiomeGenBase MyBiome_1; // CUSTOM SPAWNER public static Item CustomSpawner; // DECLARE THE MOB ID static int MyEntityID = 300; // SEARCH FOR UNIQUE ID public static int getUniqueEntityId() { do { MyEntityID++; } while (EntityList.getStringFromID(MyEntityID) != null); return MyEntityID++; } // DECLARE A NEW EGG OLD WAY using global ID's cannot put spawn egg in Creative Tab /* public static void registerEntityEgg(Class <? extends Entity> entity, int primaryColor, int secondaryColor) { int id = getUniqueEntityId(); EntityList.IDtoClassMapping.put(id, entity); EntityList.entityEggs.put(id, new EntityEggInfo(id, primaryColor, secondaryColor)); }*/ // DECLARE THE NEW ACHIEVEMENTS public static Achievement MyAchievement_1; public static Achievement MyAchievement_2; public static Achievement MyAchievement_3; public static Achievement MyAchievement_4; public static Achievement MyAchievement_5; public static Achievement MyAchievement_6; public static Achievement MyAchievement_7; // public static Achievement MyAchievement_8; public static Achievement MyAchievement_9; public static Achievement MyAchievement_10; public static Achievement MyAchievement_11; public static Achievement MyAchievement_12; public static Achievement MyAchievement_13; public static Achievement MyAchievement_14; // DECLARE A NEW CREATIVE TAB public static CreativeTabs MyCreativeTab_1; /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ @EventHandler public void preInit( FMLPreInitializationEvent event ) { /** * LOAD SECTION * *********************************************************** */ /**Loads The Item/Block*/ // LOAD THE CREATIVE TAB MyCreativeTab_1 = new CreativeTabs("MyCreativeTab_1") { public ItemStack getIconItemStack() { return new ItemStack(Glistre_Sword, 1, 0); // Icon, Stack Size, Tab Position } }; // LOAD THE SILVER_SWORD MySword_1 = new MySword(2021, MyToolMaterial, "MySword_1").setCreativeTab(Main.MyCreativeTab_1); GameRegistry.registerItem(MySword_1, "MySword_1"); LanguageRegistry.addName(MySword_1, "Silver Sword"); // LOAD THE SWORD_OF_GLISTRE Glistre_Sword = new GlistreSword(2024, MyToolMaterial_2, "Glistre_Sword").setCreativeTab(MyCreativeTab_1); GameRegistry.registerItem(Glistre_Sword, "Glistre_Sword"); LanguageRegistry.addName(Glistre_Sword, "Sword of Glistre"); // LOAD THE PICKAXE MyPickaxe_1 = new MyPickaxe(2022, MyToolMaterial, "MyPickaxe_1").setCreativeTab(MyCreativeTab_1); GameRegistry.registerItem(MyPickaxe_1, "MyPickaxe_1"); LanguageRegistry.addName(MyPickaxe_1, "Silver Pickaxe"); // LOAD THE SILVER_INGOT MyItem_1 = new MyItem(2030, "MyItem_1").setCreativeTab(MyCreativeTab_1); LanguageRegistry.addName(MyItem_1, "Silver Ingot"); // LOAD THE GLISTRING_DUST Glistre_Dust = new GlistreDust(2032, "Glistre_Dust").setCreativeTab(MyCreativeTab_1).setMaxStackSize(64); GameRegistry.registerItem(Glistre_Dust, "Glistre_Dust"); LanguageRegistry.addName(Glistre_Dust, "Glistre_Dust"); // LOAD THE ITEM Glistre_Ingot = new GlistreIngot(2034, "Glistre_Ingot").setCreativeTab(MyCreativeTab_1).setMaxStackSize(64); GameRegistry.registerItem(Glistre_Ingot, "Glistre_Ingot"); LanguageRegistry.addName(Glistre_Ingot, "Glistre_Ingot"); // LOAD GLISTERING BREAD /** itemID, healAmount, saturationModifier (F), isWolfsFavoriteMeat, Texture Name */ MyFood_1 = new MyFood(2040, 6, 5.0F, true, "MyFood_1").setAlwaysEdible().setCreativeTab(MyCreativeTab_1); GameRegistry.registerItem(MyFood_1, "MyFood_1"); LanguageRegistry.addName(MyFood_1, "Glistering Bread"); // LOAD GLISTERING PIE /** itemID, healAmount, saturationModifier (F), isWolfsFavoriteMeat, Texture Name */ MyFood_2 = new MyFood(2041, 8, 5.5F, true, "MyFood_2").setAlwaysEdible().setCreativeTab(MyCreativeTab_1); GameRegistry.registerItem(MyFood_2, "MyFood_2"); LanguageRegistry.addName(MyFood_2, "Glistre Pie"); // LOAD THE BLOCK MyBlock_1 = new MyBlock(250, Material.rock, "MyBlock_1").setLightValue(1.0F).setResistance(5.0F).setHardness(3.5F) .setStepSound(Block.soundStoneFootstep).setCreativeTab(MyCreativeTab_1); GameRegistry.registerBlock(MyBlock_1, "MyBlock_1"); LanguageRegistry.addName(MyBlock_1, "Silver Ore"); MinecraftForge.setBlockHarvestLevel(MyBlock_1, "pickaxe", 1); // LOAD HELMET MyHelmet_1 = new MyArmor(2060, EnumArmorMaterial.IRON, 0, 0, "myarmor").setCreativeTab(MyCreativeTab_1); GameRegistry.registerItem(MyHelmet_1, "MyHelmet_1"); LanguageRegistry.addName(MyHelmet_1, "Helmet of Glistre"); // LOAD CHESTPLATE MyChest_1 = new MyArmor(2061, EnumArmorMaterial.IRON, 0, 1, "myarmor").setCreativeTab(MyCreativeTab_1); GameRegistry.registerItem(MyChest_1, "MyChest_1"); LanguageRegistry.addName(MyChest_1, "Chestplate of Glistre"); // LOAD LEGGINGS MyLeggings_1 = new MyArmor(2062, EnumArmorMaterial.IRON, 0, 2, "myarmor").setCreativeTab(MyCreativeTab_1); GameRegistry.registerItem(MyLeggings_1, "MyLeggings_1"); LanguageRegistry.addName(MyLeggings_1, "Leggings of Glistre"); // LOAD BOOTS MyBoots_1 = new MyArmor(2063, EnumArmorMaterial.IRON, 0, 3, "myarmor").setCreativeTab(MyCreativeTab_1); GameRegistry.registerItem(MyBoots_1, "MyBoots_1"); LanguageRegistry.addName(MyBoots_1, "Boots of Glistre"); // LOAD BIOME MyBiome_1 = new MyBiome(30); GameRegistry.addBiome(MyBiome_1); // REMOVE OTHER BIOMES GameRegistry.removeBiome(BiomeGenBase.beach); GameRegistry.removeBiome(BiomeGenBase.desert); GameRegistry.removeBiome(BiomeGenBase.desertHills); GameRegistry.removeBiome(BiomeGenBase.desertHills); GameRegistry.removeBiome(BiomeGenBase.extremeHills); GameRegistry.removeBiome(BiomeGenBase.extremeHillsEdge); GameRegistry.removeBiome(BiomeGenBase.forest); GameRegistry.removeBiome(BiomeGenBase.forestHills); GameRegistry.removeBiome(BiomeGenBase.frozenOcean); GameRegistry.removeBiome(BiomeGenBase.frozenRiver); GameRegistry.removeBiome(BiomeGenBase.iceMountains); GameRegistry.removeBiome(BiomeGenBase.icePlains); //GameRegistry.removeBiome(BiomeGenBase.jungle); //GameRegistry.removeBiome(BiomeGenBase.jungleHills); GameRegistry.removeBiome(BiomeGenBase.mushroomIsland); GameRegistry.removeBiome(BiomeGenBase.ocean); GameRegistry.removeBiome(BiomeGenBase.plains); GameRegistry.removeBiome(BiomeGenBase.river); GameRegistry.removeBiome(BiomeGenBase.swampland); GameRegistry.removeBiome(BiomeGenBase.taiga); //GameRegistry.removeBiome(BiomeGenBase.taigaHills); // REGISTER MOB - ENTITY GLISTRE WOLF EntityRegistry.registerGlobalEntityID(MyEntityWolf.class, "GlistreWolf", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 10, EnumCreatureType.monster, BiomeGenBase.jungle); EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 5, EnumCreatureType.monster, BiomeGenBase.jungleHills); EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 10, EnumCreatureType.monster, BiomeGenBase.taiga); EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 5, EnumCreatureType.monster, BiomeGenBase.taigaHills); EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 10, EnumCreatureType.monster, MyBiome_1); // registerEntityEgg(MyEntityWolf.class, (new Color(255, 255, 255)).getRGB(), (new Color(255, 255, 75)).getRGB()); RenderingRegistry.registerEntityRenderingHandler(MyEntityWolf.class, new MyRenderWolf(new MyModelWolf(), 0.3F)); ModLoader.addLocalization("entity.GlistreWolf.name", "Glistre Wolf"); // REGISTER MOB - ENTITY TOBIE EntityRegistry.registerGlobalEntityID(MyEntityTobo.class, "Tobie", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.addSpawn(MyEntityTobo.class, 15, 1, 3, EnumCreatureType.monster, BiomeGenBase.taiga); EntityRegistry.addSpawn(MyEntityTobo.class, 15, 1, 2, EnumCreatureType.monster, BiomeGenBase.taigaHills); EntityRegistry.addSpawn(MyEntityTobo.class, 15, 3, 7, EnumCreatureType.monster, MyBiome_1); // registerEntityEgg(MyEntityTobo.class, (new Color(210, 210, 210)).getRGB(), (new Color(17, 180, 246)).getRGB()); RenderingRegistry.registerEntityRenderingHandler(MyEntityTobo.class, new MyRenderTobo(new MyModelTobo(), 0.3F)); ModLoader.addLocalization("entity.Tobie.name", "Tobie"); // LOAD THE ACHIEVEMENTS MyAchievement_1 = new Achievement(2001, "MyAchievement_1", -3, -1, MyBlock_1, AchievementList.openInventory).registerAchievement(); MyAchievement_2 = new Achievement(2002, "MyAchievement_2", -6, -1, MyItem_1, MyAchievement_1).registerAchievement(); MyAchievement_3 = new Achievement(2003, "MyAchievement_3", -7, -3, Glistre_Dust, MyAchievement_2).registerAchievement(); MyAchievement_4 = new Achievement(2004, "MyAchievement_4", -9, -3, Glistre_Ingot, MyAchievement_3).registerAchievement(); MyAchievement_5 = new Achievement(2005, "MyAchievement_5", -11, -3, Glistre_Sword, MyAchievement_4).registerAchievement(); MyAchievement_6 = new Achievement(2006, "MyAchievement_6", -8, -1, MySword_1, MyAchievement_2).registerAchievement(); MyAchievement_7 = new Achievement(2007, "MyAchievement_7", -6, 1, MyPickaxe_1, MyAchievement_2).registerAchievement(); // MyAchievement_8 = new Achievement(2008, "MyAchievement_8", -9, -5, Glistre_Pickaxe, MyAchievement_4).registerAchievement(); MyAchievement_9 = new Achievement(2009, "MyAchievement_9", -5, -5, MyFood_1, MyAchievement_3).registerAchievement(); MyAchievement_10 = new Achievement(2010, "MyAchievement_10", -4, -3, MyFood_2, MyAchievement_3).registerAchievement(); MyAchievement_11 = new Achievement(2011, "MyAchievement_11", -9, -5, MyHelmet_1, MyAchievement_4).registerAchievement(); MyAchievement_12 = new Achievement(2012, "MyAchievement_12", -9, -6, MyChest_1, MyAchievement_4).registerAchievement(); MyAchievement_13 = new Achievement(2013, "MyAchievement_13", -9, -7, MyLeggings_1, MyAchievement_4).registerAchievement(); MyAchievement_14 = new Achievement(2014, "MyAchievement_14", -9, -8, MyBoots_1, MyAchievement_4).registerAchievement(); // (id, "NameOfAchievement", x, y coordinates on Achievement map, icon, Required Achievement to unlock) // For no Pre-required achievement, use "(Achievement)null" /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ } @EventHandler public static void init( FMLInitializationEvent event ) { /** * RECIPES SECTION * *********************************************************** */ /**Adds A Recipe For The Item/Block */ // SWORD RECIPE GameRegistry.addRecipe(new ItemStack(MySword_1, 1), new Object[] { " X ", " X ", " S ", 'S', Item.stick, 'X', MyItem_1, }); // SWORD RECIPE GameRegistry.addRecipe(new ItemStack(Glistre_Sword, 1), new Object[] { " X ", " X ", " S ", 'S', Item.stick, 'X', Glistre_Ingot, }); // PICKAXE RECIPE GameRegistry.addRecipe(new ItemStack(MyPickaxe_1, 1), new Object[] { "XXX", " X ", " S ", 'S', Item.stick, 'X', MyItem_1, }); // GLISTRE DUST RECIPE ItemStack GlistreDust = new ItemStack(Main.Glistre_Dust); ItemStack SilverIngot = new ItemStack(Main.MyItem_1); ItemStack GoldIngot = new ItemStack(Item.ingotGold); GameRegistry.addShapelessRecipe(GlistreDust, MyItem_1, GoldIngot); // SMELTING GLISTRE ORE RECIPE ItemStack GlistreIngot = new ItemStack(Main.Glistre_Ingot); GameRegistry.addSmelting(Main.Glistre_Dust.itemID, GlistreIngot, 12.0F); // SMELTING RECIPE GameRegistry.addSmelting(MyBlock_1.blockID, (new ItemStack(MyItem_1, 1)), 12); // GLISTERING BREAD RECIPE GameRegistry.addRecipe(new ItemStack(MyFood_1, 1), new Object[] { " ", " X ", " S ", 'S', Item.bread, 'X', Main.Glistre_Dust, }); // GLISTERING PIE RECIPE GameRegistry.addRecipe(new ItemStack(MyFood_2, 1), new Object[] { " S ", " Z ", " ", 'Z', Item.sugar, 'S', Main.MyFood_1, }); // HELMET RECIPE GameRegistry.addRecipe(new ItemStack(MyHelmet_1, 1), new Object[] { "XXX", "X X", 'X', MyItem_1, }); // CHESTPLATE RECIPE GameRegistry.addRecipe(new ItemStack(MyChest_1, 1), new Object[] { "X X", "XXX", "XXX", 'X', MyItem_1, }); // LEGGINGS RECIPE GameRegistry.addRecipe(new ItemStack(MyLeggings_1, 1), new Object[] { "XXX", "X X", "X X", 'X', MyItem_1, }); // BOOTS RECIPE GameRegistry.addRecipe(new ItemStack(MyBoots_1, 1), new Object[] { "X X", "X X", 'X', MyItem_1, }); /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ /** * EXTRA METHODS SECTION * *********************************************************** */ // REGISTER THE ORE GENERATION GameRegistry.registerWorldGenerator(new MyBlockGen()); // CHANGE THE TEXT OF THE ACHIEVEMENTS LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_1", "en_US", "Silver Ore"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_1.desc", "en_US", "Mine Silver Ore"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_2", "en_US", "Silver Ingot"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_2.desc", "en_US", "Smelt Silver Ore"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_3", "en_US", "Glistre Dust"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_3.desc", "en_US", "Craft Glistre Dust"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_4", "en_US", "Glistre Ingot"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_4.desc", "en_US", "Smelt Glistre Ingot"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_5", "en_US", "Glistre Sword"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_5.desc", "en_US", "Craft Sword of Glistre"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_6", "en_US", "Silver Sword"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_.desc", "en_US", "Craft Silver Sword"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_7", "en_US", "Silver Pickaxe"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_.desc", "en_US", "Craft Silver Pickaxe"); // LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_8", "en_US", "Glistering Pickaxe"); // LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_.desc", "en_US", "Craft Glistering Pickaxe"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_9", "en_US", "Tasty Glistering Bread"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_.desc", "en_US", "Craft Tasty Glistering Bread"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_10", "en_US", "Yummy Glistre Pie"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_.desc", "en_US", "Craft Yummy Glistre Pie"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_11", "en_US", "Helmet of Glistre"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_.desc", "en_US", "Craft Helmet of Glistre"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_12", "en_US", "Chestplate of Glistre"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_.desc", "en_US", "Craft Chestplate of Glistre"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_13", "en_US", "Leggings of Glistre"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_.desc", "en_US", "Craft Leggings of Glistree"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_14", "en_US", "Boots of Glistre"); LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_.desc", "en_US", "Craft Boots of Glistre"); // REGISTER PICKUP HANDLER MyPickupHandler MyPickupHandler_1 = new MyPickupHandler(); GameRegistry.registerPickupHandler(MyPickupHandler_1); // REGISTER CRAFTING HANDLER MyCraftingHandler MyCraftingHandler_1 = new MyCraftingHandler(); GameRegistry.registerCraftingHandler(MyCraftingHandler_1); // CHANGE TAB NAME LanguageRegistry.instance().addStringLocalization("itemGroup.MyCreativeTab_1", "en_US", "Glistre Stuffs"); // SETTINGS FOR CUSTOM SPAWNER CustomSpawner = new CustomSpawner (1016).setUnlocalizedName ("CustomSpawner").setTextureName("mymod:spawn_egg").setCreativeTab(MyCreativeTab_1); LanguageRegistry.addName(CustomSpawner, "Spawn" + ""); /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ } @EventHandler public static void postInit( FMLPostInitializationEvent event ) { } } My 1.7.10 same mod: package com.glistre.glistremod; import java.awt.Color; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EnumCreatureType; import net.minecraft.entity.passive.EntityTameable; import net.minecraft.entity.passive.EntityWolf; import net.minecraft.entity.projectile.EntityEgg; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.stats.Achievement; import net.minecraft.world.WorldType; import com.glistre.glistremod.WorldTypeGlistre; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.BiomeDictionary.Type; import net.minecraftforge.common.BiomeManager; import net.minecraftforge.common.BiomeManager.BiomeEntry; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.EnumHelper; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import com.glistre.glistremod.BiomeRegistry; import com.glistre.glistremod.GlistreArmor; import com.glistre.glistremod.GlistreDust; import com.glistre.glistremod.GlistreIngot; import com.glistre.glistremod.GlistreSword; import com.glistre.glistremod.CommonProxy; import com.glistre.glistremod.ClientProxy; import com.glistre.glistremod.MyItem; import com.glistre.glistremod.MyPickaxe; import com.glistre.glistremod.MySword; import com.glistre.glistremod.MyFood; import com.glistre.glistremod.MyBlock; //import com.glistre.glistremod.MyArmor; import com.glistre.glistremod.GlistreBiome; //import com.glistre.glistremod.MyBlockGen; import com.glistre.glistremod.EntityGlistreWolf; //import com.glistre.glistremod.MyEntityTobo; /* MOD INFO */ @Mod(modid = GlistreMod.MODID, name = "Glistre Mod", version = "2.0") public class GlistreMod { public static final String MODID = "GlistreMod"; public static final String NAME = "Glistre Mod"; public static final String VERSION = "2.0"; @Instance("GlistreMod") public static GlistreMod instance; /* PROXY INFO */ @SidedProxy(clientSide = ("com.glistre.glistremod.ClientProxy"), serverSide = ("com.glistre.glistremod.CommonProxy")) public static CommonProxy proxy; GlistreEventHandler handler = new GlistreEventHandler(); /** * DECLARATION SECTION * *********************************************************** */ public static ItemArmor GlistreArmor; // DECLARE THE ARMOR public static Item MyHelmet_1; public static Item MyChestplate_1; public static Item MyLeggings_1; public static Item MyBoots_1; //ARMOR ID's public static int MyHelmet_1ID; public static int MyChestplate_1ID; public static int MyLeggings_1ID; public static int MyBoots_1ID; // DECLARE THE ARMOR MATERIAL public static ArmorMaterial Glistre= /** maxDamageFactor, damageReductionAmountArray, enchantability*/ EnumHelper.addArmorMaterial("Glistre", 28, new int[]{3, 7, 6, 4}, 50); //GlistreArmor= EnumHelper.addArmorMaterial("GlistreArmor", 28, new int[]{3, 7, 6, 4}, 50); // DECLARE THE SWORD public static Item MySword_1; // DECLARE THE SWORD public static Item Glistre_Sword; // DECLARE THE PICKAXE public static Item MyPickaxe_1; // DECLARE THE PICKAXE public static Item Glistre_Pickaxe; // DECLARE THE ITEM public static Item MyItem_1; // DECLARE THE ITEM public static Item Glistre_Dust; // DECLARE THE ITEM public static Item Glistre_Ingot; // DECLARE GLISTERING BREAD public static Item MyFood_1; // DECLARE GLISTERING PIE public static Item MyFood_2; // DECLARE THE BLOCK public static Block MyBlock_1; // DECLARE THE BIOME // DECLARE THE MOB ID // DECLARE THE MOB SPAWN EGG // DECLARE THE NEW ACHIEVEMENTS public static Achievement MyAchievement_1; public static Achievement MyAchievement_2; public static Achievement MyAchievement_3; public int modEntityID = 0; /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ @EventHandler public void preInit( FMLPreInitializationEvent event ){ FMLCommonHandler.instance().bus().register(handler); MinecraftForge.EVENT_BUS.register(handler); proxy.registerRendering(); /** * LOAD SECTION * *********************************************************** */ //LOAD THE CREATIVE TAB //LOAD THE ARMOR MyHelmet_1 = new GlistreArmor(Glistre, MyHelmet_1ID, 0).setUnlocalizedName("MyHelmet_1").setCreativeTab(GlistreTab_1).setTextureName(MODID + ":" + "MyHelmet_1"); //MyArmor(2060, EnumArmorMaterial.IRON, 0, 0, "myarmor"); GameRegistry.registerItem(MyHelmet_1, "MyHelmet_1"); MyChestplate_1 = new GlistreArmor(Glistre, MyChestplate_1ID, 1).setUnlocalizedName("MyChestplate_1").setCreativeTab(GlistreTab_1).setTextureName(MODID + ":" + "MyChestplate_1"); GameRegistry.registerItem(MyChestplate_1, "MyChestplate_1"); MyLeggings_1 = new GlistreArmor(Glistre, MyLeggings_1ID, 2).setUnlocalizedName("MyLeggings_1").setCreativeTab(GlistreTab_1).setTextureName(MODID + ":" + "MyLeggings_1"); GameRegistry.registerItem(MyLeggings_1, "MyLeggings_1"); MyBoots_1 = new GlistreArmor(Glistre, MyBoots_1ID, 3).setUnlocalizedName("MyBoots_1").setCreativeTab(GlistreTab_1).setTextureName(MODID + ":" + "MyBoots_1"); GameRegistry.registerItem(MyBoots_1, "MyBoots_1"); // LOAD THE SWORDS MySword_1 = new Item().setUnlocalizedName("MySword_1").setCreativeTab(GlistreTab_1).setTextureName(MODID + ":" + "MySword_1"); // MySword(ToolMaterial Item, EnumToolMaterial, "MySword_1"); GameRegistry.registerItem(MySword_1, MySword_1.getUnlocalizedName()); Glistre_Sword = new Item().setUnlocalizedName("Glistre_Sword").setCreativeTab(GlistreTab_1).setTextureName(MODID + ":" + "Glistre_Sword"); GameRegistry.registerItem(Glistre_Sword, Glistre_Sword.getUnlocalizedName()); // LOAD THE PICKAXE MyPickaxe_1 = new Item().setUnlocalizedName("MyPickaxe_1").setCreativeTab(GlistreTab_1).setTextureName(MODID + ":" + "MyPickaxe_1"); GameRegistry.registerItem(MyPickaxe_1, MyPickaxe_1.getUnlocalizedName()); // LOAD THE ITEMS MyItem_1 = new Item().setUnlocalizedName("MyItem_1").setCreativeTab(GlistreTab_1).setMaxStackSize(64).setTextureName(MODID + ":" + "MyItem_1"); GameRegistry.registerItem(MyItem_1, MyItem_1.getUnlocalizedName()); Glistre_Dust = new Item().setUnlocalizedName("Glistre_Dust").setCreativeTab(GlistreTab_1).setMaxStackSize(64).setTextureName(GlistreMod.MODID + ":" + "Glistre_Dust"); GameRegistry.registerItem(Glistre_Dust, Glistre_Dust.getUnlocalizedName()); Glistre_Ingot = new Item().setUnlocalizedName("Glistre_Ingot").setCreativeTab(GlistreTab_1).setMaxStackSize(64).setTextureName(MODID + ":" + "Glistre_Ingot"); //GlistreOre(2034, "Glistre_Ore").setCreativeTab(CreativeTabs.tabMisc).setMaxStackSize(64); GameRegistry.registerItem(Glistre_Ingot, Glistre_Ingot.getUnlocalizedName()); // GLISTERING BREAD /** itemID, healAmount, saturationModifier (F), isWolfsFavoriteMeat, Texture Name */ MyFood_1 = new ItemFood(6,5.0F,true).setUnlocalizedName("MyFood_1").setCreativeTab(GlistreTab_1).setMaxStackSize(64).setTextureName(MODID + ":" + "MyFood_1"); GameRegistry.registerItem(MyFood_1, MyFood_1.getUnlocalizedName()); // GLISTERING PIE /** itemID, healAmount, saturationModifier (F), isWolfsFavoriteMeat, Texture Name */ MyFood_2 = new ItemFood(8,5.5F, true).setUnlocalizedName("MyFood_2").setCreativeTab(GlistreTab_1).setMaxStackSize(64).setTextureName(MODID + ":" + "MyFood_2"); //MyFood(2041, 8, 5.5F, true, "MyFood_2").setAlwaysEdible().setCreativeTab(CreativeTabs.tabFood); GameRegistry.registerItem(MyFood_2, MyFood_2.getUnlocalizedName()); // LOAD THE BLOCK MyBlock_1 = new MyBlock().setBlockName("MyBlock_1").setCreativeTab(GlistreTab_1).setBlockTextureName(MODID + ":" + "MyBlock_1") .setLightLevel(1.0F).setResistance(5.0F).setHardness(3.5F).setStepSound(Block.soundTypeStone); GameRegistry.registerBlock(MyBlock_1, MyBlock_1.getUnlocalizedName()); //MinecraftForge.setBlockHarvestLevel(MyBlock_1, "pickaxe", 1); // LOAD BIOME BiomeRegistry.GlisterMod(); // REGISTER YOUR ENTITY // old way of registering Entity EntityRegistry.registerGlobalEntityID(EntityGlistreWolf.class, "Glistre_Wolf", EntityGlistreWolfID); // new way int modEntityID = 0; // EntityRegistry.registerModEntity(EntityGlistreWolf.class, "Glistre_Wolf", ++modEntityID, <name of your mod's main class>.instance, 80, 3, false); EntityRegistry.registerModEntity(EntityGlistreWolf.class, "Glistre Wolf", ++modEntityID, GlistreMod.instance, 80, 3, false); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeRegistry.biomeGlistre); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeRegistry.biomeGlistre); EntityRegistry.addSpawn(EntityGlistreWolf.class, 2, 3, 7, EnumCreatureType.creature, BiomeGenBase.desert); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.jungle); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.jungleEdge); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.taiga); EntityRegistry.addSpawn(EntityGlistreWolf.class, 100, 3, 7, EnumCreatureType.creature, BiomeGenBase.forest); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.roofedForest); EntityRegistry.addSpawn(EntityGlistreWolf.class, 100, 3, 7, EnumCreatureType.creature, BiomeGenBase.savanna); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.coldTaiga); EntityRegistry.addSpawn(EntityGlistreWolf.class, 20, 3, 7, EnumCreatureType.creature, BiomeGenBase.plains); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.swampland); EntityRegistry.addSpawn(EntityGlistreWolf.class, 100, 3, 7, EnumCreatureType.creature, BiomeGenBase.birchForest); // REGISTER GLISTREWOLF SPAWNEGGS Item itemSpawnEgg = new GlistreEntityMonsterPlacer("Glistre Wolf", 0xFFFFFF, 0xFFFF5D) .setUnlocalizedName ("spawn_egg") .setTextureName("glistremod:spawn_egg"); GameRegistry.registerItem(itemSpawnEgg, "spawn_egg"); // LOAD THE ACHIEVEMENTS //MyAchievement_1 = new Achievement(2001, "MyAchievement_1", -1, -3, MyBlock_1, (Achievement) null).registerAchievement(); //MyAchievement_2 = new Achievement(2002, "MyAchievement_2", -3, -3, MyItem_1, MyAchievement_1.registerAchievement()); //MyAchievement_3 = new Achievement(2003, "MyAchievement_3", -5, -3, Glistre_Dust, AchievementList.buildFurnace); // (id, "NameOfAchievement", x, y coordinates on Achievement map, icon, Required Achievement to unlock) // For no Pre-required achievement, use "(Achievement)null" } /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ @EventHandler public static void init(FMLInitializationEvent event ) { /** * RECIPES SECTION * *********************************************************** */ // SWORD RECIPE GameRegistry.addRecipe(new ItemStack(MySword_1, 1), new Object[] { " X ", " X ", " S ", 'S', Items.stick, 'X', MyItem_1, }); // SWORD RECIPE GameRegistry.addRecipe(new ItemStack(Glistre_Sword, 1), new Object[] { " X ", " X ", " S ", 'S', Items.stick, 'X', Glistre_Ingot, }); // PICKAXE RECIPE GameRegistry.addRecipe(new ItemStack(MyPickaxe_1, 1), new Object[] { "XXX", " X ", " S ", 'S', Items.stick, 'X', MyItem_1, }); // GLISTRE DUST RECIPE ItemStack GlistreDust = new ItemStack(GlistreMod.Glistre_Dust); ItemStack SilverIngot = new ItemStack(GlistreMod.MyItem_1); ItemStack GoldIngot = new ItemStack(Items.gold_ingot); GameRegistry.addShapelessRecipe(GlistreDust, MyItem_1, GoldIngot); // SMELTING GLISTRE ORE RECIPE ItemStack GlistreIngot = new ItemStack(GlistreMod.Glistre_Ingot); GameRegistry.addSmelting(GlistreMod.Glistre_Dust, GlistreIngot, 12.0F); // SMELTING RECIPE GameRegistry.addSmelting(MyBlock_1, (new ItemStack(MyItem_1, 1)), 12); // GLISTERING BREAD RECIPE GameRegistry.addRecipe(new ItemStack(MyFood_1, 1), new Object[] { " ", " X ", " S ", 'S', Items.bread, 'X', GlistreMod.Glistre_Dust, }); // GLISTERING PIE RECIPE GameRegistry.addRecipe(new ItemStack(MyFood_2, 1), new Object[] { " Z ", " S ", " ", 'Z', Items.sugar, 'S', GlistreMod.MyFood_1, }); /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ /** * EXTRA METHODS SECTION * *********************************************************** */ // REGISTER THE ORE GENERATION //GameRegistry.registerWorldGenerator(new MyBlockGen()); // CHANGE THE TEXT OF THE ACHIEVEMENTS //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_1", "en_US", "Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_1.desc", "en_US", "Mine Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_2", "en_US", "Silver Ingot"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_2.desc", "en_US", "Smelt Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_3", "en_US", "Glistre Dust"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_3.desc", "en_US", "Craft Glistre Dust"); /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ } @EventHandler public static void postInit( FMLPostInitializationEvent event ) { WorldType BIOMEGLISTRE = new WorldTypeGlistre(3, "biomeGlistre"); } //DECLARE CREATIVE TAB public static CreativeTabs GlistreTab_1 = new CreativeTabs("GlistreTab_1"){ public Item getTabIconItem(){ return new ItemStack(Glistre_Sword).getItem(); } }; }
  3. Cogitating on this. . .starting to make more sense!
  4. Summon command working when using the " Aka I type /summon GlistreMod.Glistre_Wolf in the command line Only thing left now is making a custom spawn egg texture not sure about the occasional lag I will try the system.out.println and see if anything shows up Thank you Also Jabelar for the tuts keep them coming they are really helpful Could you explain instance? I got it to work for me instead of this but I just copied someone's code and do not understand it Thanks again
  5. Outstanding!! Both spawning Glistre_Wolf and spawnEgg working. Sometimes the spawn egg stops working and I am not able to "summon" Glistre_Wolf. I did not understand how to use .instance so I put <this>...I am still learning Here is my current code main file I am planning to clean it up later today: package com.glistre.glistremod; import java.awt.Color; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EnumCreatureType; import net.minecraft.entity.passive.EntityTameable; import net.minecraft.entity.passive.EntityWolf; import net.minecraft.entity.projectile.EntityEgg; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.stats.Achievement; import net.minecraft.world.WorldType; import com.glistre.glistremod.WorldTypeGlistre; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.BiomeDictionary.Type; import net.minecraftforge.common.BiomeManager; import net.minecraftforge.common.BiomeManager.BiomeEntry; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.util.EnumHelper; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import com.glistre.glistremod.BiomeRegistry; import com.glistre.glistremod.GlistreArmor; import com.glistre.glistremod.GlistreDust; import com.glistre.glistremod.GlistreOre; import com.glistre.glistremod.GlistreSword; import com.glistre.glistremod.CommonProxy; import com.glistre.glistremod.ClientProxy; import com.glistre.glistremod.MyItem; import com.glistre.glistremod.MyPickaxe; import com.glistre.glistremod.MySword; import com.glistre.glistremod.MyFood; import com.glistre.glistremod.MyBlock; //import com.glistre.glistremod.MyArmor; import com.glistre.glistremod.GlistreBiome; //import com.glistre.glistremod.MyBlockGen; import com.glistre.glistremod.EntityGlistreWolf; //import com.glistre.glistremod.MyEntityTobo; /* MOD INFO */ @Mod(modid = GlistreMod.MODID, name = "Glistre Mod", version = "2.0") public class GlistreMod { public static final String MODID = "GlistreMod"; public static final String NAME = "Glistre Mod"; public static final String VERSION = "2.0"; /* PROXY INFO */ @SidedProxy(clientSide = ("com.glistre.glistremod.ClientProxy"), serverSide = ("com.glistre.glistremod.CommonProxy")) public static CommonProxy proxy; GlistreEventHandler handler = new GlistreEventHandler(); private String parSpawnName; /** * DECLARATION SECTION * *********************************************************** */ public static ItemArmor GlistreArmor; // DECLARE THE ARMOR public static Item MyHelmet_1; public static Item MyChestplate_1; public static Item MyLeggings_1; public static Item MyBoots_1; //ARMOR ID's public static int MyHelmet_1ID; public static int MyChestplate_1ID; public static int MyLeggings_1ID; public static int MyBoots_1ID; // DECLARE THE ARMOR MATERIAL public static ArmorMaterial Glistre= /** maxDamageFactor, damageReductionAmountArray, enchantability*/ EnumHelper.addArmorMaterial("Glistre", 28, new int[]{3, 7, 6, 4}, 50); //GlistreArmor= EnumHelper.addArmorMaterial("GlistreArmor", 28, new int[]{3, 7, 6, 4}, 50); // DECLARE THE SWORD public static Item MySword_1; // DECLARE THE SWORD public static Item Glistre_Sword; // DECLARE THE PICKAXE public static Item MyPickaxe_1; // DECLARE THE PICKAXE public static Item Glistre_Pickaxe; // DECLARE THE ITEM public static Item MyItem_1; // DECLARE THE ITEM public static Item Glistre_Dust; // DECLARE THE ITEM public static Item Glistre_Ore; // DECLARE GLISTERING BREAD public static Item MyFood_1; // DECLARE GLISTERING PIE public static Item MyFood_2; // DECLARE THE BLOCK public static Block MyBlock_1; // DECLARE THE BIOME // DECLARE THE MOB ID // DECLARE THE MOB SPAWN EGG // DECLARE THE NEW ACHIEVEMENTS public static Achievement MyAchievement_1; public static Achievement MyAchievement_2; public static Achievement MyAchievement_3; public int modEntityID = 0; /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ @EventHandler public void preInit( FMLPreInitializationEvent event ){ FMLCommonHandler.instance().bus().register(handler); MinecraftForge.EVENT_BUS.register(handler); proxy.registerRendering(); ; /** * LOAD SECTION * *********************************************************** */ //LOAD THE ARMOR MyHelmet_1 = new GlistreArmor(Glistre, MyHelmet_1ID, 0).setUnlocalizedName("MyHelmet_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyHelmet_1"); //MyArmor(2060, EnumArmorMaterial.IRON, 0, 0, "myarmor"); GameRegistry.registerItem(MyHelmet_1, "MyHelmet_1"); MyChestplate_1 = new GlistreArmor(Glistre, MyChestplate_1ID, 1).setUnlocalizedName("MyChestplate_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyChestplate_1"); GameRegistry.registerItem(MyChestplate_1, "MyChestplate_1"); MyLeggings_1 = new GlistreArmor(Glistre, MyLeggings_1ID, 2).setUnlocalizedName("MyLeggings_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyLeggings_1"); GameRegistry.registerItem(MyLeggings_1, "MyLeggings_1"); MyBoots_1 = new GlistreArmor(Glistre, MyBoots_1ID, 3).setUnlocalizedName("MyBoots_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyBoots_1"); GameRegistry.registerItem(MyBoots_1, "MyBoots_1"); // LOAD THE SWORDS MySword_1 = new Item().setUnlocalizedName("MySword_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MySword_1"); // MySword(ToolMaterial Item, EnumToolMaterial, "MySword_1"); GameRegistry.registerItem(MySword_1, MySword_1.getUnlocalizedName()); Glistre_Sword = new Item().setUnlocalizedName("Glistre_Sword").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "Glistre_Sword"); GameRegistry.registerItem(Glistre_Sword, Glistre_Sword.getUnlocalizedName()); // LOAD THE PICKAXE MyPickaxe_1 = new Item().setUnlocalizedName("MyPickaxe_1").setCreativeTab(CreativeTabs.tabTools).setTextureName(MODID + ":" + "MyPickaxe_1"); GameRegistry.registerItem(MyPickaxe_1, MyPickaxe_1.getUnlocalizedName()); // LOAD THE ITEMS MyItem_1 = new Item().setUnlocalizedName("MyItem_1").setCreativeTab(CreativeTabs.tabMisc).setMaxStackSize(64).setTextureName(MODID + ":" + "MyItem_1"); GameRegistry.registerItem(MyItem_1, MyItem_1.getUnlocalizedName()); Glistre_Dust = new Item().setUnlocalizedName("Glistre_Dust").setCreativeTab(CreativeTabs.tabMaterials).setMaxStackSize(64).setTextureName(GlistreMod.MODID + ":" + "Glistre_Dust"); GameRegistry.registerItem(Glistre_Dust, Glistre_Dust.getUnlocalizedName()); Glistre_Ore = new Item().setUnlocalizedName("Glistre_Ore").setCreativeTab(CreativeTabs.tabMisc).setMaxStackSize(64).setTextureName(MODID + ":" + "Glistre_Ore"); //GlistreOre(2034, "Glistre_Ore").setCreativeTab(CreativeTabs.tabMisc).setMaxStackSize(64); GameRegistry.registerItem(Glistre_Ore, Glistre_Ore.getUnlocalizedName()); // GLISTERING BREAD /** itemID, healAmount, saturationModifier (F), isWolfsFavoriteMeat, Texture Name */ MyFood_1 = new ItemFood(6,5.0F,true).setUnlocalizedName("MyFood_1").setCreativeTab(CreativeTabs.tabFood).setMaxStackSize(64).setTextureName(MODID + ":" + "MyFood_1"); GameRegistry.registerItem(MyFood_1, MyFood_1.getUnlocalizedName()); // GLISTERING PIE /** itemID, healAmount, saturationModifier (F), isWolfsFavoriteMeat, Texture Name */ MyFood_2 = new ItemFood(8,5.5F, true).setUnlocalizedName("MyFood_2").setCreativeTab(CreativeTabs.tabFood).setMaxStackSize(64).setTextureName(MODID + ":" + "MyFood_2"); //MyFood(2041, 8, 5.5F, true, "MyFood_2").setAlwaysEdible().setCreativeTab(CreativeTabs.tabFood); GameRegistry.registerItem(MyFood_2, MyFood_2.getUnlocalizedName()); // LOAD THE BLOCK MyBlock_1 = new MyBlock().setBlockName("MyBlock_1").setCreativeTab(CreativeTabs.tabBlock).setBlockTextureName(MODID + ":" + "MyBlock_1") .setLightLevel(1.0F).setResistance(5.0F).setHardness(3.5F).setStepSound(Block.soundTypeStone); GameRegistry.registerBlock(MyBlock_1, MyBlock_1.getUnlocalizedName()); //MinecraftForge.setBlockHarvestLevel(MyBlock_1, "pickaxe", 1); // LOAD BIOME BiomeRegistry.GlisterMod(); // REGISTER YOUR ENTITY // old way of registering Entity EntityRegistry.registerGlobalEntityID(EntityGlistreWolf.class, "Glistre_Wolf", EntityGlistreWolfID); // new way int modEntityID = 0; // EntityRegistry.registerModEntity(EntityGlistreWolf.class, "Glistre_Wolf", ++modEntityID, <name of your mod's main class>.instance, 80, 3, false); EntityRegistry.registerModEntity(EntityGlistreWolf.class, "Glistre_Wolf", ++modEntityID, this, 80, 3, false); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeRegistry.biomeGlistre); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeRegistry.biomeGlistre); EntityRegistry.addSpawn(EntityGlistreWolf.class, 2, 3, 7, EnumCreatureType.creature, BiomeGenBase.desert); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.jungle); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.jungleEdge); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.taiga); EntityRegistry.addSpawn(EntityGlistreWolf.class, 100, 3, 7, EnumCreatureType.creature, BiomeGenBase.forest); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.roofedForest); EntityRegistry.addSpawn(EntityGlistreWolf.class, 100, 3, 7, EnumCreatureType.creature, BiomeGenBase.savanna); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.coldTaiga); EntityRegistry.addSpawn(EntityGlistreWolf.class, 20, 3, 7, EnumCreatureType.creature, BiomeGenBase.plains); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.swampland); EntityRegistry.addSpawn(EntityGlistreWolf.class, 100, 3, 7, EnumCreatureType.creature, BiomeGenBase.birchForest); // EntityGlistreWolf.registerEntityEgg(EntityGlistreWolf.class, 0xE18519, 0x000000); Item itemSpawnEgg = new GlistreEntityMonsterPlacer("Glistre_Wolf", 0x000000, 0xFFFFFF) .setUnlocalizedName ("spawn_egg_") .setTextureName("glistremod.spawn_egg"); GameRegistry.registerItem(itemSpawnEgg, "spawnEgg"); // REGISTER GLISTREWOLF SPAWNEGGS // LOAD THE ACHIEVEMENTS //MyAchievement_1 = new Achievement(2001, "MyAchievement_1", -1, -3, MyBlock_1, (Achievement) null).registerAchievement(); //MyAchievement_2 = new Achievement(2002, "MyAchievement_2", -3, -3, MyItem_1, MyAchievement_1.registerAchievement()); //MyAchievement_3 = new Achievement(2003, "MyAchievement_3", -5, -3, Glistre_Dust, AchievementList.buildFurnace); // (id, "NameOfAchievement", x, y coordinates on Achievement map, icon, Required Achievement to unlock) // For no Pre-required achievement, use "(Achievement)null" /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ } @EventHandler public static void init(FMLInitializationEvent event ) { /** * RECIPES SECTION * *********************************************************** */ // SWORD RECIPE GameRegistry.addRecipe(new ItemStack(MySword_1, 1), new Object[] { " X ", " X ", " S ", 'S', Items.stick, 'X', MyItem_1, }); // SWORD RECIPE GameRegistry.addRecipe(new ItemStack(Glistre_Sword, 1), new Object[] { " X ", " X ", " S ", 'S', Items.stick, 'X', Glistre_Ore, }); // PICKAXE RECIPE GameRegistry.addRecipe(new ItemStack(MyPickaxe_1, 1), new Object[] { "XXX", " X ", " S ", 'S', Items.stick, 'X', MyItem_1, }); // GLISTRE DUST RECIPE ItemStack GlistreDust = new ItemStack(GlistreMod.Glistre_Dust); ItemStack SilverIngot = new ItemStack(GlistreMod.MyItem_1); ItemStack GoldIngot = new ItemStack(Items.gold_ingot); GameRegistry.addShapelessRecipe(GlistreDust, MyItem_1, GoldIngot); // SMELTING GLISTRE ORE RECIPE ItemStack GlistreOre = new ItemStack(GlistreMod.Glistre_Ore); GameRegistry.addSmelting(GlistreMod.Glistre_Dust, GlistreOre, 12.0F); // SMELTING RECIPE GameRegistry.addSmelting(MyBlock_1, (new ItemStack(MyItem_1, 1)), 12); // GLISTERING BREAD RECIPE GameRegistry.addRecipe(new ItemStack(MyFood_1, 1), new Object[] { " ", " X ", " S ", 'S', Items.bread, 'X', GlistreMod.Glistre_Dust, }); // GLISTERING PIE RECIPE GameRegistry.addRecipe(new ItemStack(MyFood_2, 1), new Object[] { " Z ", " S ", " ", 'Z', Items.sugar, 'S', GlistreMod.MyFood_1, }); /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ /** * EXTRA METHODS SECTION * *********************************************************** */ // REGISTER THE ORE GENERATION //GameRegistry.registerWorldGenerator(new MyBlockGen()); // CHANGE THE TEXT OF THE ACHIEVEMENTS //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_1", "en_US", "Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_1.desc", "en_US", "Mine Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_2", "en_US", "Silver Ingot"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_2.desc", "en_US", "Smelt Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_3", "en_US", "Glistre Dust"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_3.desc", "en_US", "Craft Glistre Dust"); /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ } @EventHandler public static void postInit( FMLPostInitializationEvent event ) { WorldType BIOMEGLISTRE = new WorldTypeGlistre(3, "biomeGlistre"); } }
  6. Thanks for your response I had the spawn egg working for a moment after using your code to copy ItemMonsterPlacer class, but then custom mob was not spawning ...I tried to register the mob a different way and now nothing works I am confused now. Here is the code I used in my main class in the preinit method: Item itemSpawnEgg = new GlistreEntityMonsterPlacer("Glistre_Wolf", 0x000000, 0xFFFFFF) .setUnlocalizedName ("spawn_egg_") .setTextureName("glistremod.spawn_egg"); GameRegistry.registerItem(itemSpawnEgg, "spawnEgg"); Here is the code of my ItemMonsterPlacer class: package com.glistre.glistremod; import java.util.List; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockLiquid; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.IEntityLivingData; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemMonsterPlacer; import net.minecraft.item.ItemStack; import net.minecraft.util.Facing; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeCache.Block; public class GlistreEntityMonsterPlacer extends ItemMonsterPlacer { @SideOnly(Side.CLIENT) private IIcon theIcon; protected int colorBase = 0x000000; protected int colorSpots = 0xFFFFFF; protected String entityToSpawnName = "Glistre_Wolf"; protected String entityToSpawnNameFull = "Glistre_Wolf"; protected EntityLiving entityToSpawn = null; public GlistreEntityMonsterPlacer() { super(); } public GlistreEntityMonsterPlacer(String parEntityToSpawnName, int parPrimaryColor, int parSecondaryColor) { setHasSubtypes(false); maxStackSize = 64; setCreativeTab(CreativeTabs.tabMisc); setEntityToSpawnName(parEntityToSpawnName); colorBase = parPrimaryColor; colorSpots = parSecondaryColor; // DEBUG // System.out.println("Spawn egg constructor for "+entityToSpawnName); } /** * Callback for item usage. If the item does something special on right clicking, * he will have one of those. Return * True if something happen and false if it don't. This is for ITEMS, not BLOCKS */ @Override public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { if (par3World.isRemote) { return true; } else { net.minecraft.block.Block block = par3World.getBlock(par4, par5, par6); par4 += Facing.offsetsXForSide[par7]; par5 += Facing.offsetsYForSide[par7]; par6 += Facing.offsetsZForSide[par7]; double d0 = 0.0D; if (par7 == 1 && block.getRenderType() == 11) { d0 = 0.5D; } Entity entity = spawnEntity(par3World, par4 + 0.5D, par5 + d0, par6 + 0.5D); if (entity != null) { if (entity instanceof EntityLivingBase && par1ItemStack.hasDisplayName()) { ((EntityLiving)entity).setCustomNameTag(par1ItemStack.getDisplayName()); } if (!par2EntityPlayer.capabilities.isCreativeMode) { --par1ItemStack.stackSize; } } return true; } } /** * Called whenever this item is equipped and the right mouse button is pressed. *Args: itemStack, world, entityPlayer */ @Override public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { if (par2World.isRemote) { return par1ItemStack; } else { MovingObjectPosition movingobjectposition = getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, true); if (movingobjectposition == null) { return par1ItemStack; } else { if (movingobjectposition.typeOfHit == MovingObjectPosition .MovingObjectType.BLOCK) { int i = movingobjectposition.blockX; int j = movingobjectposition.blockY; int k = movingobjectposition.blockZ; if (!par2World.canMineBlock(par3EntityPlayer, i, j, k)) { return par1ItemStack; } if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition .sideHit, par1ItemStack)) { return par1ItemStack; } if (par2World.getBlock(i, j, k) instanceof BlockLiquid) { Entity entity = spawnEntity(par2World, i, j, k); if (entity != null) { if (entity instanceof EntityLivingBase && par1ItemStack .hasDisplayName()) { ((EntityLiving)entity).setCustomNameTag(par1ItemStack .getDisplayName()); } if (!par3EntityPlayer.capabilities.isCreativeMode) { --par1ItemStack.stackSize; } } } } return par1ItemStack; } } } /** * Spawns the creature specified by the egg's type in the location specified by * the last three parameters. * Parameters: world, entityID, x, y, z. */ public Entity spawnEntity(World parWorld, double parX, double parY, double parZ) { if (!parWorld.isRemote) // never spawn entity on client side { entityToSpawnNameFull = GlistreMod.MODID+"."+entityToSpawnName; if (EntityList.stringToClassMapping.containsKey(entityToSpawnNameFull)) { entityToSpawn = (EntityLiving) EntityList .createEntityByName(entityToSpawnNameFull, parWorld); entityToSpawn.setLocationAndAngles(parX, parY, parZ, MathHelper.wrapAngleTo180_float(parWorld.rand.nextFloat() * 360.0F), 0.0F); parWorld.spawnEntityInWorld(entityToSpawn); entityToSpawn.onSpawnWithEgg((IEntityLivingData)null); entityToSpawn.playLivingSound(); } else { //DEBUG System.out.println("Glistre Wolf not found "+entityToSpawnName); } } return entityToSpawn; } /** * returns a list of items with the same ID, but different meta (eg: dye returns 16 items) */ @Override @SideOnly(Side.CLIENT) public void getSubItems(Item parItem, CreativeTabs parTab, List parList) { parList.add(new ItemStack(parItem, 1, 0)); } @Override @SideOnly(Side.CLIENT) public int getColorFromItemStack(ItemStack par1ItemStack, int parColorType) { return (parColorType == 0) ? colorBase : colorSpots; } @Override @SideOnly(Side.CLIENT) public boolean requiresMultipleRenderPasses() { return true; } @Override // Doing this override means that there is no localization for language // unless you specifically check for localization here and convert public String getItemStackDisplayName(ItemStack par1ItemStack) { return "Spawn "+entityToSpawnName; } @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister par1IconRegister) { super.registerIcons(par1IconRegister); theIcon = par1IconRegister.registerIcon(getIconString() + "_Glistre_Wolf"); } /** * Gets an icon index based on an item's damage value and the given render pass */ @Override @SideOnly(Side.CLIENT) public IIcon getIconFromDamageForRenderPass(int parDamageVal, int parRenderPass) { return parRenderPass > 0 ? theIcon : super.getIconFromDamageForRenderPass(parDamageVal, parRenderPass); } public void setColors(int parColorBase, int parColorSpots) { colorBase = parColorBase; colorSpots = parColorSpots; } public int getColorBase() { return colorBase; } public int getColorSpots() { return colorSpots; } public void setEntityToSpawnName(String parEntityToSpawnName) { entityToSpawnName = parEntityToSpawnName; entityToSpawnNameFull = GlistreMod.MODID+"."+entityToSpawnName; } } Here is my hopeless attempt at registering the mob and egg not working at all now very confused: EntityRegistry.registerGlobalEntityID(EntityGlistreWolf.class, "Glistre_Wolf", EntityGlistreWolfID); // EntityRegistry.registerModEntity(EntityGlistreWolf.class, "Glistre_Wolf", EntityGlistreWolfID, GlistreMod.modinstance, 64, 1, true); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeRegistry.biomeGlistre); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeRegistry.biomeGlistre); EntityRegistry.addSpawn(EntityGlistreWolf.class, 2, 3, 7, EnumCreatureType.creature, BiomeGenBase.desert); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.jungle); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.jungleEdge); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.taiga); EntityRegistry.addSpawn(EntityGlistreWolf.class, 100, 3, 7, EnumCreatureType.creature, BiomeGenBase.forest); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.roofedForest); EntityRegistry.addSpawn(EntityGlistreWolf.class, 100, 3, 7, EnumCreatureType.creature, BiomeGenBase.savanna); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.coldTaiga); EntityRegistry.addSpawn(EntityGlistreWolf.class, 20, 3, 7, EnumCreatureType.creature, BiomeGenBase.plains); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.swampland); EntityRegistry.addSpawn(EntityGlistreWolf.class, 100, 3, 7, EnumCreatureType.creature, BiomeGenBase.birchForest); // EntityRegistry.registerGlobalEntityID(EntityGlistreWolf.class, "Glistre_Wolf", EntityGlistreWolfEggID, 0xE18519, 0x000000); // EntityGlistreWolf.registerEntityEgg(EntityGlistreWolf.class, 0xE18519, 0x000000); Could you possibly help me get straightened out?
  7. I will try that I thought it would work since I do not have any mods loaded and just one custom Mob
  8. having trouble creating the spawn egg, the mob I created Glistre Wolf is working fine and spawning, but no egg. I have tried various codes cannot seem to get this right: This is my main mod class in the pre init: // REGISTER YOUR ENTITY // int randomId = EntityRegistry.findGlobalUniqueEntityId(); EntityRegistry.registerGlobalEntityID(EntityGlistreWolf.class, "Glistre_Wolf", EntityRegistry.findGlobalUniqueEntityId()); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeRegistry.biomeGlistre); EntityRegistry.addSpawn(EntityGlistreWolf.class, 2, 3, 7, EnumCreatureType.creature, BiomeGenBase.desert); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.jungle); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.jungleEdge); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.taiga); EntityRegistry.addSpawn(EntityGlistreWolf.class, 100, 3, 7, EnumCreatureType.creature, BiomeGenBase.forest); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.roofedForest); EntityRegistry.addSpawn(EntityGlistreWolf.class, 100, 3, 7, EnumCreatureType.creature, BiomeGenBase.savanna); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.coldTaiga); EntityRegistry.addSpawn(EntityGlistreWolf.class, 20, 3, 7, EnumCreatureType.creature, BiomeGenBase.plains); EntityRegistry.addSpawn(EntityGlistreWolf.class, 10, 3, 7, EnumCreatureType.creature, BiomeGenBase.swampland); EntityRegistry.addSpawn(EntityGlistreWolf.class, 100, 3, 7, EnumCreatureType.creature, BiomeGenBase.birchForest); // EntityList.addMapping(EntityGlistreWolf.class, "Glistre_Wolf", EntityRegistry.findGlobalUniqueEntityId(), 0x000000, 0xFFFFFF); And this is the code for my spawn egg ...I have tried putting this in the main class before the pre-init method, or in the pre init method (gives me errors: for "randomID" Eclipse says "remove invalid modifiers" and for "registerEntityEgg" Eclipse says "void is an invalid type for the variable registerEnityEgg". I also tried placing the egg code in both my custom mob class and tried registering the egg in the the Init method, but I cannot seem to get this right. Here is my custom mob file: package com.glistre.glistremod; import java.awt.Color; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockColored; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityAgeable; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIAttackOnCollide; import net.minecraft.entity.ai.EntityAIBeg; import net.minecraft.entity.ai.EntityAIFollowOwner; import net.minecraft.entity.ai.EntityAIHurtByTarget; import net.minecraft.entity.ai.EntityAILeapAtTarget; import net.minecraft.entity.ai.EntityAILookIdle; import net.minecraft.entity.ai.EntityAIMate; import net.minecraft.entity.ai.EntityAIOwnerHurtByTarget; import net.minecraft.entity.ai.EntityAIOwnerHurtTarget; import net.minecraft.entity.ai.EntityAISwimming; import net.minecraft.entity.ai.EntityAITargetNonTamed; import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.monster.EntityCreeper; import net.minecraft.entity.monster.EntityGhast; import net.minecraft.entity.passive.EntityAnimal; import net.minecraft.entity.passive.EntityHorse; import net.minecraft.entity.passive.EntitySheep; import net.minecraft.entity.passive.EntityTameable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.pathfinding.PathEntity; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class EntityGlistreWolf extends EntityTameable { private float field_70926_e; private float field_70924_f; /** true is the wolf is wet else false */ private boolean isShaking; private boolean field_70928_h; /** This time increases while wolf is shaking and emitting water particles. */ private float timeWolfIsShaking; private float prevTimeWolfIsShaking; private static final String __OBFID = "CL_00001654"; public EntityGlistreWolf(World p_i1696_1_) { super(p_i1696_1_); this.setSize(0.6F, 0.8F); this.getNavigator().setAvoidsWater(true); this.tasks.addTask(1, new EntityAISwimming(this)); this.tasks.addTask(2, this.aiSit); this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1.0D, true)); this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F)); this.tasks.addTask(6, new EntityAIMate(this, 1.0D)); this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); // this.tasks.addTask(8, new EntityAIBeg(this, 8.0F)); this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); this.tasks.addTask(9, new EntityAILookIdle(this)); this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntitySheep.class, 200, false)); this.setTamed(false); } protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.30000001192092896D); if (this.isTamed()) { this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); } else { this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); } } /** * Returns true if the newer Entity AI code should be run */ public boolean isAIEnabled() { return true; } /** * Sets the active target the Task system uses for tracking */ public void setAttackTarget(EntityLivingBase p_70624_1_) { super.setAttackTarget(p_70624_1_); if (p_70624_1_ == null) { this.setAngry(false); } else if (!this.isTamed()) { this.setAngry(true); } } /** * main AI tick function, replaces updateEntityActionState */ protected void updateAITick() { this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); } protected void entityInit() { super.entityInit(); this.dataWatcher.addObject(18, new Float(this.getHealth())); this.dataWatcher.addObject(19, new Byte((byte)0)); this.dataWatcher.addObject(20, new Byte((byte)BlockColored.func_150032_b(1))); } protected void func_145780_a(int p_145780_1_, int p_145780_2_, int p_145780_3_, Block p_145780_4_) { this.playSound("mob.wolf.step", 0.15F, 1.0F); } /** * (abstract) Protected helper method to write subclass entity data to NBT. */ public void writeEntityToNBT(NBTTagCompound p_70014_1_) { super.writeEntityToNBT(p_70014_1_); p_70014_1_.setBoolean("Angry", this.isAngry()); p_70014_1_.setByte("CollarColor", (byte)this.getCollarColor()); } /** * (abstract) Protected helper method to read subclass entity data from NBT. */ public void readEntityFromNBT(NBTTagCompound p_70037_1_) { super.readEntityFromNBT(p_70037_1_); this.setAngry(p_70037_1_.getBoolean("Angry")); if (p_70037_1_.hasKey("CollarColor", 99)) { this.setCollarColor(p_70037_1_.getByte("CollarColor")); } } /** * Returns the sound this mob makes while it's alive. */ protected String getLivingSound() { return this.isAngry() ? "mob.wolf.growl" : (this.rand.nextInt(3) == 0 ? (this.isTamed() && this.dataWatcher.getWatchableObjectFloat(18) < 10.0F ? "mob.wolf.whine" : "mob.wolf.panting") : "mob.wolf.bark"); } /** * Returns the sound this mob makes when it is hurt. */ protected String getHurtSound() { return "mob.wolf.hurt"; } /** * Returns the sound this mob makes on death. */ protected String getDeathSound() { return "mob.wolf.death"; } /** * Returns the volume for the sounds this mob makes. */ protected float getSoundVolume() { return 0.4F; } protected Item getDropItem() { return Item.getItemById(-1); } /** * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons * use this to react to sunlight and start to burn. */ public void onLivingUpdate() { super.onLivingUpdate(); if (!this.worldObj.isRemote && this.isShaking && !this.field_70928_h && !this.hasPath() && this.onGround) { this.field_70928_h = true; this.timeWolfIsShaking = 0.0F; this.prevTimeWolfIsShaking = 0.0F; this.worldObj.setEntityState(this, (byte); } } /** * Called to update the entity's position/logic. */ public void onUpdate() { super.onUpdate(); this.field_70924_f = this.field_70926_e; if (this.func_70922_bv()) { this.field_70926_e += (1.0F - this.field_70926_e) * 0.4F; } else { this.field_70926_e += (0.0F - this.field_70926_e) * 0.4F; } if (this.func_70922_bv()) { this.numTicksToChaseTarget = 10; } if (this.isWet()) { this.isShaking = true; this.field_70928_h = false; this.timeWolfIsShaking = 0.0F; this.prevTimeWolfIsShaking = 0.0F; } else if ((this.isShaking || this.field_70928_h) && this.field_70928_h) { if (this.timeWolfIsShaking == 0.0F) { this.playSound("mob.wolf.shake", this.getSoundVolume(), (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); } this.prevTimeWolfIsShaking = this.timeWolfIsShaking; this.timeWolfIsShaking += 0.05F; if (this.prevTimeWolfIsShaking >= 2.0F) { this.isShaking = false; this.field_70928_h = false; this.prevTimeWolfIsShaking = 0.0F; this.timeWolfIsShaking = 0.0F; } if (this.timeWolfIsShaking > 0.4F) { float f = (float)this.boundingBox.minY; int i = (int)(MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float)Math.PI) * 7.0F); for (int j = 0; j < i; ++j) { float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; this.worldObj.spawnParticle("splash", this.posX + (double)f1, (double)(f + 0.8F), this.posZ + (double)f2, this.motionX, this.motionY, this.motionZ); } } } } @SideOnly(Side.CLIENT) public boolean getWolfShaking() { return this.isShaking; } /** * Used when calculating the amount of shading to apply while the wolf is shaking. */ @SideOnly(Side.CLIENT) public float getShadingWhileShaking(float p_70915_1_) { return 0.75F + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * p_70915_1_) / 2.0F * 0.25F; } @SideOnly(Side.CLIENT) public float getShakeAngle(float p_70923_1_, float p_70923_2_) { float f2 = (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * p_70923_1_ + p_70923_2_) / 1.8F; if (f2 < 0.0F) { f2 = 0.0F; } else if (f2 > 1.0F) { f2 = 1.0F; } return MathHelper.sin(f2 * (float)Math.PI) * MathHelper.sin(f2 * (float)Math.PI * 11.0F) * 0.15F * (float)Math.PI; } public float getEyeHeight() { return this.height * 0.8F; } @SideOnly(Side.CLIENT) public float getInterestedAngle(float p_70917_1_) { return (this.field_70924_f + (this.field_70926_e - this.field_70924_f) * p_70917_1_) * 0.15F * (float)Math.PI; } /** * The speed it takes to move the entityliving's rotationPitch through the faceEntity method. This is only currently * use in wolves. */ public int getVerticalFaceSpeed() { return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); } /** * Called when the entity is attacked. */ public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_) { if (this.isEntityInvulnerable()) { return false; } else { Entity entity = p_70097_1_.getEntity(); this.aiSit.setSitting(false); if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { p_70097_2_ = (p_70097_2_ + 1.0F) / 2.0F; } return super.attackEntityFrom(p_70097_1_, p_70097_2_); } } public boolean attackEntityAsMob(Entity p_70652_1_) { int i = this.isTamed() ? 4 : 2; return p_70652_1_.attackEntityFrom(DamageSource.causeMobDamage(this), (float)i); } public void setTamed(boolean p_70903_1_) { super.setTamed(p_70903_1_); if (p_70903_1_) { this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); } else { this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); } } /** * Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig. */ public boolean interact(EntityPlayer p_70085_1_) { ItemStack itemstack = p_70085_1_.inventory.getCurrentItem(); if (this.isTamed()) { if (itemstack != null) { if (itemstack.getItem() instanceof ItemFood) { ItemFood itemfood = (ItemFood)itemstack.getItem(); if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectFloat(18) < 20.0F) { if (!p_70085_1_.capabilities.isCreativeMode) { --itemstack.stackSize; } this.heal((float)itemfood.func_150905_g(itemstack)); if (itemstack.stackSize <= 0) { p_70085_1_.inventory.setInventorySlotContents(p_70085_1_.inventory.currentItem, (ItemStack)null); } return true; } } else if (itemstack.getItem() == Items.dye) { int i = BlockColored.func_150032_b(itemstack.getItemDamage()); if (i != this.getCollarColor()) { this.setCollarColor(i); if (!p_70085_1_.capabilities.isCreativeMode && --itemstack.stackSize <= 0) { p_70085_1_.inventory.setInventorySlotContents(p_70085_1_.inventory.currentItem, (ItemStack)null); } return true; } } } if (this.func_152114_e(p_70085_1_) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { this.aiSit.setSitting(!this.isSitting()); this.isJumping = false; this.setPathToEntity((PathEntity)null); this.setTarget((Entity)null); this.setAttackTarget((EntityLivingBase)null); } } else if (itemstack != null && itemstack.getItem() == Items.bone && !this.isAngry()) { if (!p_70085_1_.capabilities.isCreativeMode) { --itemstack.stackSize; } if (itemstack.stackSize <= 0) { p_70085_1_.inventory.setInventorySlotContents(p_70085_1_.inventory.currentItem, (ItemStack)null); } if (!this.worldObj.isRemote) { if (this.rand.nextInt(3) == 0) { this.setTamed(true); this.setPathToEntity((PathEntity)null); this.setAttackTarget((EntityLivingBase)null); this.aiSit.setSitting(true); this.setHealth(20.0F); this.func_152115_b(p_70085_1_.getUniqueID().toString()); this.playTameEffect(true); this.worldObj.setEntityState(this, (byte)7); } else { this.playTameEffect(false); this.worldObj.setEntityState(this, (byte)6); } } return true; } return super.interact(p_70085_1_); } @SideOnly(Side.CLIENT) public void handleHealthUpdate(byte p_70103_1_) { if (p_70103_1_ == { this.field_70928_h = true; this.timeWolfIsShaking = 0.0F; this.prevTimeWolfIsShaking = 0.0F; } else { super.handleHealthUpdate(p_70103_1_); } } @SideOnly(Side.CLIENT) public float getTailRotation() { return this.isAngry() ? 1.5393804F : (this.isTamed() ? (0.55F - (20.0F - this.dataWatcher.getWatchableObjectFloat(18)) * 0.02F) * (float)Math.PI : ((float)Math.PI / 5F)); } /** * Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on * the animal type) */ public boolean isBreedingItem(ItemStack p_70877_1_) { return p_70877_1_ == null ? false : (!(p_70877_1_.getItem() instanceof ItemFood) ? false : ((ItemFood)p_70877_1_.getItem()).isWolfsFavoriteMeat()); } /** * Will return how many at most can spawn in a chunk at once. */ public int getMaxSpawnedInChunk() { return 8; } /** * Determines whether this wolf is angry or not. */ public boolean isAngry() { return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; } /** * Sets whether this wolf is angry or not. */ public void setAngry(boolean p_70916_1_) { byte b0 = this.dataWatcher.getWatchableObjectByte(16); if (p_70916_1_) { this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 2))); } else { this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -3))); } } /** * Return this wolf's collar color. */ public int getCollarColor() { return this.dataWatcher.getWatchableObjectByte(20) & 15; } /** * Set this wolf's collar color. */ public void setCollarColor(int p_82185_1_) { this.dataWatcher.updateObject(20, Byte.valueOf((byte)(p_82185_1_ & 15))); } public EntityGlistreWolf createChild(EntityAgeable p_90011_1_) { EntityGlistreWolf entitywolf = new EntityGlistreWolf(this.worldObj); String s = this.func_152113_b(); if (s != null && s.trim().length() > 0) { entitywolf.func_152115_b(s); entitywolf.setTamed(true); } return entitywolf; } public void func_70918_i(boolean p_70918_1_) { if (p_70918_1_) { this.dataWatcher.updateObject(19, Byte.valueOf((byte)1)); } else { this.dataWatcher.updateObject(19, Byte.valueOf((byte)0)); } } /** * Returns true if the mob is currently able to mate with the specified mob. */ public boolean canMateWith(EntityAnimal p_70878_1_) { if (p_70878_1_ == this) { return false; } else if (!this.isTamed()) { return false; } else if (!(p_70878_1_ instanceof EntityGlistreWolf)) { return false; } else { EntityGlistreWolf entitywolf = (EntityGlistreWolf)p_70878_1_; return !entitywolf.isTamed() ? false : (entitywolf.isSitting() ? false : this.isInLove() && entitywolf.isInLove()); } } public boolean func_70922_bv() { return this.dataWatcher.getWatchableObjectByte(19) == 1; } /** * Determines if an entity can be despawned, used on idle far away entities */ protected boolean canDespawn() { return !this.isTamed() && this.ticksExisted > 2400; } public boolean func_142018_a(EntityLivingBase p_142018_1_, EntityLivingBase p_142018_2_) { if (!(p_142018_1_ instanceof EntityCreeper) && !(p_142018_1_ instanceof EntityGhast)) { if (p_142018_1_ instanceof EntityGlistreWolf) { EntityGlistreWolf entitywolf = (EntityGlistreWolf)p_142018_1_; if (entitywolf.isTamed() && entitywolf.getOwner() == p_142018_2_) { return false; } } return p_142018_1_ instanceof EntityPlayer && p_142018_2_ instanceof EntityPlayer && !((EntityPlayer)p_142018_2_).canAttackPlayer((EntityPlayer)p_142018_1_) ? false : !(p_142018_1_ instanceof EntityHorse) || !((EntityHorse)p_142018_1_).isTame(); } else { return false; } } } Any suggestions would help I thought spawn eggs would be pretty easy since I am just trying to extend the Wolf class
  9. [sOLVED] no idea why it worked but I change par1 to id in the superconstructor in GlistreBiome class now everything working If any one reads this would appreciated knowing why it worked changing par1 to id thanks
  10. [sOLVED]I have searched everywhere for at least two hours not showing any errors in Eclipse but I cannot find my custom Biome. I registered it in my main file and also in a separate Biome registry nothing seems to work. Everything runs fine just no Biome Here is my main mod file: package com.glistre.glistremod; import java.awt.Color; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.stats.Achievement; import net.minecraft.world.WorldType; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.BiomeDictionary.Type; import net.minecraftforge.common.BiomeManager; import net.minecraftforge.common.util.EnumHelper; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; import com.glistre.glistremod.BiomeRegistry; import com.glistre.glistremod.GlistreArmor; import com.glistre.glistremod.GlistreDust; import com.glistre.glistremod.GlistreOre; import com.glistre.glistremod.GlistreSword; import com.glistre.glistremod.CommonProxy; import com.glistre.glistremod.ClientProxy; import com.glistre.glistremod.MyItem; import com.glistre.glistremod.MyPickaxe; import com.glistre.glistremod.MySword; import com.glistre.glistremod.MyFood; import com.glistre.glistremod.MyBlock; //import com.glistre.glistremod.MyArmor; import com.glistre.glistremod.GlistreBiome; //import com.glistre.glistremod.MyBlockGen; //import com.glistre.glistremod.MyEntityTobo; /* MOD INFO */ @Mod(modid = GlistreMod.MODID, name = "Glistre Mod", version = "1.0") public class GlistreMod { /* PROXY INFO */ @SidedProxy(clientSide = ("com.glistre.glistremod.ClientProxy"), serverSide = ("com.glistre.glistremod.CommonProxy")) public static CommonProxy proxy; public static final String MODID = "GlistreMod"; public static final String NAME = "Glistre Mod"; public static final String VERSION = "1.0"; /** * DECLARATION SECTION * *********************************************************** */ public static ItemArmor GlistreArmor; // DECLARE THE ARMOR public static Item MyHelmet_1; public static Item MyChestplate_1; public static Item MyLeggings_1; public static Item MyBoots_1; public static int MyHelmet_1ID; public static int MyChestplate_1ID; public static int MyLeggings_1ID; public static int MyBoots_1ID; // DECLARE THE ARMOR MATERIAL public static ArmorMaterial Glistre= /** maxDamageFactor, damageReductionAmountArray, enchantability*/ EnumHelper.addArmorMaterial("Glistre", 28, new int[]{3, 7, 6, 4}, 50); //GlistreArmor= EnumHelper.addArmorMaterial("GlistreArmor", 28, new int[]{3, 7, 6, 4}, 50); // DECLARE THE SWORD public static Item MySword_1; // DECLARE THE SWORD public static Item Glistre_Sword; // DECLARE THE PICKAXE public static Item MyPickaxe_1; // DECLARE THE PICKAXE public static Item Glistre_Pickaxe; // DECLARE THE ITEM public static Item MyItem_1; // DECLARE THE ITEM public static Item Glistre_Dust; // DECLARE THE ITEM public static Item Glistre_Ore; // DECLARE GLISTERING BREAD public static Item MyFood_1; // DECLARE GLISTERING PIE public static Item MyFood_2; // DECLARE THE BLOCK public static Block MyBlock_1; // DECLARE THE BIOME public static BiomeGenBase biomeGlistre; public static void initializeBiome(){ } // DECLARE THE MOB ID static int MyEntityID = 300; // SEARCH FOR UNIQUE ID public static int getUniqueEntityId() { do { MyEntityID++; } while (EntityList.getStringFromID(MyEntityID) != null); return MyEntityID++; } // DECLARE A NEW EGG public static void registerEntityEgg(Class <? extends Entity> entity, int primaryColor, int secondaryColor) { int id = getUniqueEntityId(); EntityList.IDtoClassMapping.put(id, entity); EntityList.entityEggs.put(id, new EntityEggInfo(id, primaryColor, secondaryColor)); } // DECLARE THE NEW ACHIEVEMENTS public static Achievement MyAchievement_1; public static Achievement MyAchievement_2; public static Achievement MyAchievement_3; /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ @EventHandler public void preInit( FMLPreInitializationEvent event ){ proxy.registerRendering(); /** * LOAD SECTION * *********************************************************** */ //LOAD THE ARMOR MyHelmet_1 = new GlistreArmor(Glistre, MyHelmet_1ID, 0).setUnlocalizedName("MyHelmet_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyHelmet_1"); //MyArmor(2060, EnumArmorMaterial.IRON, 0, 0, "myarmor"); GameRegistry.registerItem(MyHelmet_1, "MyHelmet_1"); MyChestplate_1 = new GlistreArmor(Glistre, MyChestplate_1ID, 1).setUnlocalizedName("MyChestplate_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyChestplate_1"); GameRegistry.registerItem(MyChestplate_1, "MyChestplate_1"); MyLeggings_1 = new GlistreArmor(Glistre, MyLeggings_1ID, 2).setUnlocalizedName("MyLeggings_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyLeggings_1"); GameRegistry.registerItem(MyLeggings_1, "MyLeggings_1"); MyBoots_1 = new GlistreArmor(Glistre, MyBoots_1ID, 3).setUnlocalizedName("MyBoots_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyBoots_1"); GameRegistry.registerItem(MyBoots_1, "MyBoots_1"); // LOAD THE SWORDS MySword_1 = new Item().setUnlocalizedName("MySword_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MySword_1"); // MySword(ToolMaterial Item, EnumToolMaterial, "MySword_1"); GameRegistry.registerItem(MySword_1, MySword_1.getUnlocalizedName()); Glistre_Sword = new Item().setUnlocalizedName("Glistre_Sword").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "Glistre_Sword"); GameRegistry.registerItem(Glistre_Sword, Glistre_Sword.getUnlocalizedName()); // LOAD THE PICKAXE MyPickaxe_1 = new Item().setUnlocalizedName("MyPickaxe_1").setCreativeTab(CreativeTabs.tabTools).setTextureName(MODID + ":" + "MyPickaxe_1"); GameRegistry.registerItem(MyPickaxe_1, MyPickaxe_1.getUnlocalizedName()); // LOAD THE ITEMS MyItem_1 = new Item().setUnlocalizedName("MyItem_1").setCreativeTab(CreativeTabs.tabMisc).setMaxStackSize(64).setTextureName(MODID + ":" + "MyItem_1"); GameRegistry.registerItem(MyItem_1, MyItem_1.getUnlocalizedName()); Glistre_Dust = new Item().setUnlocalizedName("Glistre_Dust").setCreativeTab(CreativeTabs.tabMaterials).setMaxStackSize(64).setTextureName(GlistreMod.MODID + ":" + "Glistre_Dust"); GameRegistry.registerItem(Glistre_Dust, Glistre_Dust.getUnlocalizedName()); Glistre_Ore = new Item().setUnlocalizedName("Glistre_Ore").setCreativeTab(CreativeTabs.tabMisc).setMaxStackSize(64).setTextureName(MODID + ":" + "Glistre_Ore"); //GlistreOre(2034, "Glistre_Ore").setCreativeTab(CreativeTabs.tabMisc).setMaxStackSize(64); GameRegistry.registerItem(Glistre_Ore, Glistre_Ore.getUnlocalizedName()); // GLISTERING BREAD /** itemID, healAmount, saturationModifier (F), isWolfsFavoriteMeat, Texture Name */ MyFood_1 = new ItemFood(6,5.0F,true).setUnlocalizedName("MyFood_1").setCreativeTab(CreativeTabs.tabFood).setMaxStackSize(64).setTextureName(MODID + ":" + "MyFood_1"); GameRegistry.registerItem(MyFood_1, MyFood_1.getUnlocalizedName()); // GLISTERING PIE /** itemID, healAmount, saturationModifier (F), isWolfsFavoriteMeat, Texture Name */ MyFood_2 = new ItemFood(8,5.5F, true).setUnlocalizedName("MyFood_2").setCreativeTab(CreativeTabs.tabFood).setMaxStackSize(64).setTextureName(MODID + ":" + "MyFood_2"); //MyFood(2041, 8, 5.5F, true, "MyFood_2").setAlwaysEdible().setCreativeTab(CreativeTabs.tabFood); GameRegistry.registerItem(MyFood_2, MyFood_2.getUnlocalizedName()); // LOAD THE BLOCK MyBlock_1 = new MyBlock().setBlockName("MyBlock_1").setCreativeTab(CreativeTabs.tabBlock).setBlockTextureName(MODID + ":" + "MyBlock_1") .setLightLevel(1.0F).setResistance(5.0F).setHardness(3.5F).setStepSound(Block.soundTypeStone); GameRegistry.registerBlock(MyBlock_1, MyBlock_1.getUnlocalizedName()); //MinecraftForge.setBlockHarvestLevel(MyBlock_1, "pickaxe", 1); // LOAD BIOME biomeGlistre = new GlistreBiome(10).setBiomeName("Glistering Biome"); BiomeDictionary.registerBiomeType(biomeGlistre, Type.FOREST); BiomeManager.addSpawnBiome(biomeGlistre); } /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ @EventHandler public static void init(FMLInitializationEvent event ) { /** * RECIPES SECTION * *********************************************************** */ // SWORD RECIPE GameRegistry.addRecipe(new ItemStack(MySword_1, 1), new Object[] { " X ", " X ", " S ", 'S', Items.stick, 'X', MyItem_1, }); // SWORD RECIPE GameRegistry.addRecipe(new ItemStack(Glistre_Sword, 1), new Object[] { " X ", " X ", " S ", 'S', Items.stick, 'X', Glistre_Ore, }); // PICKAXE RECIPE GameRegistry.addRecipe(new ItemStack(MyPickaxe_1, 1), new Object[] { "XXX", " X ", " S ", 'S', Items.stick, 'X', MyItem_1, }); // GLISTRE DUST RECIPE ItemStack GlistreDust = new ItemStack(GlistreMod.Glistre_Dust); ItemStack SilverIngot = new ItemStack(GlistreMod.MyItem_1); ItemStack GoldIngot = new ItemStack(Items.gold_ingot); GameRegistry.addShapelessRecipe(GlistreDust, MyItem_1, GoldIngot); // SMELTING GLISTRE ORE RECIPE ItemStack GlistreOre = new ItemStack(GlistreMod.Glistre_Ore); GameRegistry.addSmelting(GlistreMod.Glistre_Dust, GlistreOre, 12.0F); // SMELTING RECIPE GameRegistry.addSmelting(MyBlock_1, (new ItemStack(MyItem_1, 1)), 12); // GLISTERING BREAD RECIPE GameRegistry.addRecipe(new ItemStack(MyFood_1, 1), new Object[] { " ", " X ", " S ", 'S', Items.bread, 'X', GlistreMod.Glistre_Dust, }); // GLISTERING PIE RECIPE GameRegistry.addRecipe(new ItemStack(MyFood_2, 1), new Object[] { " Z ", " S ", " ", 'Z', Items.sugar, 'S', GlistreMod.MyFood_1, }); /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ /** * EXTRA METHODS SECTION * *********************************************************** */ // REGISTER THE ORE GENERATION //GameRegistry.registerWorldGenerator(new MyBlockGen()); // CHANGE THE TEXT OF THE ACHIEVEMENTS //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_1", "en_US", "Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_1.desc", "en_US", "Mine Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_2", "en_US", "Silver Ingot"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_2.desc", "en_US", "Smelt Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_3", "en_US", "Glistre Dust"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_3.desc", "en_US", "Craft Glistre Dust"); /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ } @EventHandler public static void postInit( FMLPostInitializationEvent event ) { WorldType BIOMEGLISTRE = new WorldTypeGlistre(3, "biomeGlistre"); } } Biome file: package com.glistre.glistremod; import com.glistre.glistremod.GlistreMod; import net.minecraft.block.Block; import com.glistre.glistremod.MyBlock; import com.glistre.glistremod.WorldTypeGlistre; import net.minecraft.entity.monster.EntitySkeleton; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.init.Blocks; import net.minecraft.item.ItemBlock; import net.minecraft.world.biome.BiomeGenBase; public class GlistreBiome extends BiomeGenBase { public GlistreBiome(int par1) { super(par1); this.setBiomeName("Glistering Biome"); this.topBlock = Blocks.diamond_ore; this.fillerBlock = GlistreMod.MyBlock_1; this.theBiomeDecorator.treesPerChunk = 3; this.theBiomeDecorator.waterlilyPerChunk = 100; this.theBiomeDecorator.bigMushroomsPerChunk = 10; this.spawnableCreatureList.add(new SpawnListEntry(EntitySkeleton.class, 5, 3, 3)); this.spawnableCreatureList.add(new SpawnListEntry(EntityZombie.class, 5, 3, 3)); this.spawnableWaterCreatureList.clear(); this.spawnableMonsterList.clear(); this.addFlower(Blocks.red_flower, 4, 3); this.addFlower(Blocks.red_flower, 5, 3); this.addFlower(Blocks.red_flower, 7, 3); this.addFlower(Blocks.red_flower, 0, 20); this.addFlower(Blocks.yellow_flower, 0, 30); this.setMinMaxHeight(0.2F, .9F); this.setTemperatureRainfall(0.8F, 1.4F); } private void setMinMaxHeight(float f, float g) { } } World Type File: package com.glistre.glistremod; import net.minecraft.world.WorldType; import net.minecraft.world.gen.layer.GenLayer; import net.minecraft.world.gen.layer.GenLayerBiome; import net.minecraft.world.gen.layer.GenLayerBiomeEdge; import net.minecraft.world.gen.layer.GenLayerZoom; public class WorldTypeGlistre extends WorldType{ public WorldTypeGlistre(int par1, String name) { super(name); } /** * Creates the GenLayerBiome used for generating the world * * @param worldSeed The world seed * @param parentLayer The parent layer to feed into any layer you return * @return A GenLayer that will return ints representing the Biomes to be generated, see GenLayerBiome */ @Override public GenLayer getBiomeLayer(long worldSeed, GenLayer parentLayer) { GenLayer ret = new GlistreGenLayerBiome(200L, parentLayer, this); ret = GenLayerZoom.magnify(1000L, ret, 2); ret = new GenLayerBiomeEdge(1000L, ret); return ret; } } Custom GenLayerFile: package com.glistre.glistremod; import java.util.ArrayList; import java.util.List; import net.minecraft.util.WeightedRandom; import net.minecraft.world.WorldType; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.gen.layer.GenLayer; import net.minecraft.world.gen.layer.IntCache; import net.minecraftforge.common.BiomeManager; import net.minecraftforge.common.BiomeManager.BiomeEntry; import net.minecraftforge.common.BiomeDictionary; public class GlistreGenLayerBiome extends GenLayer { private List<BiomeEntry>[] biomes = new ArrayList[biomeManager.BiomeType.values().length]; private static final String __OBFID = "CL_00000555"; public GlistreGenLayerBiome(long p_i2122_1_, GenLayer p_i2122_3_, WorldType p_i2122_4_) { super(p_i2122_1_); this.parent = p_i2122_3_; for (BiomeManager.BiomeType type : BiomeManager.BiomeType.values()) { com.google.common.collect.ImmutableList<BiomeEntry> biomesToAdd = BiomeManager.getBiomes(type); int idx = type.ordinal(); if (biomes[idx] == null) biomes[idx] = new ArrayList<BiomeEntry>(); if (biomesToAdd != null) biomes[idx].addAll(biomesToAdd); } int desertIdx = BiomeManager.BiomeType.DESERT.ordinal(); if (p_i2122_4_ == WorldType.DEFAULT_1_1) { biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.desert, 10)); biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.forest, 10)); biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.extremeHills, 10)); biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.swampland, 10)); biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.plains, 10)); biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.taiga, 10)); biomes[desertIdx].add(new BiomeEntry(BiomeRegistry.biomeGlistre, 10)); } else { biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.desert, 30)); biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.savanna, 20)); biomes[desertIdx].add(new BiomeEntry(BiomeGenBase.plains, 10)); biomes[desertIdx].add(new BiomeEntry(BiomeRegistry.biomeGlistre, 10)); } } /** * Returns a list of integer values generated by this layer. These may be interpreted as temperatures, rainfall * amounts, or biomeList[] indices based on the particular GenLayer subclass. */ public int[] getInts(int p_75904_1_, int p_75904_2_, int p_75904_3_, int p_75904_4_) { int[] aint = this.parent.getInts(p_75904_1_, p_75904_2_, p_75904_3_, p_75904_4_); int[] aint1 = IntCache.getIntCache(p_75904_3_ * p_75904_4_); for (int i1 = 0; i1 < p_75904_4_; ++i1) { for (int j1 = 0; j1 < p_75904_3_; ++j1) { this.initChunkSeed((long)(j1 + p_75904_1_), (long)(i1 + p_75904_2_)); int k1 = aint[j1 + i1 * p_75904_3_]; int l1 = (k1 & 3840) >> 8; k1 &= -3841; if (isBiomeOceanic(k1)) { aint1[j1 + i1 * p_75904_3_] = k1; } else if (k1 == BiomeGenBase.mushroomIsland.biomeID) { aint1[j1 + i1 * p_75904_3_] = k1; } else if (k1 == 1) { if (l1 > 0) { if (this.nextInt(3) == 0) { aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.mesaPlateau.biomeID; } else { aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.mesaPlateau_F.biomeID; } } else { aint1[j1 + i1 * p_75904_3_] = getWeightedBiomeEntry(BiomeManager.BiomeType.DESERT).biome.biomeID; } } else if (k1 == 2) { if (l1 > 0) { aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.jungle.biomeID; } else { aint1[j1 + i1 * p_75904_3_] = getWeightedBiomeEntry(BiomeManager.BiomeType.WARM).biome.biomeID; } } else if (k1 == 3) { if (l1 > 0) { aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.megaTaiga.biomeID; } else { aint1[j1 + i1 * p_75904_3_] = getWeightedBiomeEntry(BiomeManager.BiomeType.COOL).biome.biomeID; } } else if (k1 == 4) { aint1[j1 + i1 * p_75904_3_] = getWeightedBiomeEntry(BiomeManager.BiomeType.ICY).biome.biomeID; } else { aint1[j1 + i1 * p_75904_3_] = BiomeGenBase.mushroomIsland.biomeID; } } } return aint1; } protected BiomeEntry getWeightedBiomeEntry(BiomeManager.BiomeType type) { List<BiomeEntry> biomeList = biomes[type.ordinal()]; int totalWeight = WeightedRandom.getTotalWeight(biomeList); int weight = BiomeManager.isTypeListModded(type)?nextInt(totalWeight):nextInt(totalWeight / 10) * 10; return (BiomeEntry)WeightedRandom.getItem(biomeList, weight); } } Is there a way to remove biomes or make my custom Biome more frequent if everything is okay with the code?
  11. SOLVED: Somehow my import for Entity in the custom armor class GlisterArmor was wrong. I deleted the and import line Entity class in my mod package and imported it again from net.minecraft and then it worked but I had purple pink checkers displayed on the player. So, I changed the path of the myarmor_1 and myarmor_2 wraps in the GlistreArmor package. Everything works fine now. Here is my new code: package com.glistre.glistremod; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemArmor.ArmorMaterial; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.item.Item; public class GlistreArmor extends ItemArmor { public GlistreArmor (ArmorMaterial p_i45325_1_, int p_i45325_2_, int p_i45325_3_) { super(p_i45325_1_, p_i45325_2_, p_i45325_3_); this.setCreativeTab(CreativeTabs.tabCombat); } public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { if (stack.getItem() == GlistreMod.MyHelmet_1 || stack.getItem() == GlistreMod.MyChestplate_1 || stack.getItem() == GlistreMod.MyBoots_1){ return GlistreMod.MODID + ":" + "textures/items/myarmor_1.png"; } if (stack.getItem() == GlistreMod.MyLeggings_1) { return GlistreMod.MODID + ":" + "textures/items/myarmor_2.png"; } else return null; } } thanks for helping
  12. Changed a few items you suggested. In the process, I found the issue was that the following was in the PreInit and causing the crash EnumHelper.addArmorMaterial("Glistre", 28, new int[]{3, 7, 6, 4}, 50); Now my problem is that my texture will not display on the player but shows as the default "iron" texture. Here is my new main file: package com.glistre.glistremod; import java.awt.Color; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.stats.Achievement; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.util.EnumHelper; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; import com.glistre.glistremod.GlistreArmor; import com.glistre.glistremod.GlistreDust; import com.glistre.glistremod.GlistreOre; import com.glistre.glistremod.GlistreSword; import com.glistre.glistremod.CommonProxy; import com.glistre.glistremod.ClientProxy; import com.glistre.glistremod.MyItem; import com.glistre.glistremod.MyPickaxe; import com.glistre.glistremod.MySword; import com.glistre.glistremod.MyFood; import com.glistre.glistremod.MyBlock; //import com.glistre.glistremod.MyArmor; //import com.glistre.glistremod.MyBiome; //import com.glistre.glistremod.MyBlockGen; //import com.glistre.glistremod.MyEntityTobo; /* MOD INFO */ @Mod(modid = GlistreMod.MODID, name = "Glistre Mod", version = "1.0") public class GlistreMod { /* PROXY INFO */ @SidedProxy(clientSide = ("com.glistre.glistremod.ClientProxy"), serverSide = ("com.glistre.glistremod.CommonProxy")) public static CommonProxy proxy; public static final String MODID = "GlistreMod"; public static final String NAME = "Glistre Mod"; public static final String VERSION = "1.0"; /** * DECLARATION SECTION * *********************************************************** */ public static ItemArmor GlistreArmor; // DECLARE THE ARMOR public static Item MyHelmet_1; public static Item MyChestplate_1; public static Item MyLeggings_1; public static Item MyBoots_1; public static int MyHelmet_1ID; public static int MyChestplate_1ID; public static int MyLeggings_1ID; public static int MyBoots_1ID; // DECLARE THE ARMOR MATERIAL public static ArmorMaterial Glistre= /** maxDamageFactor, damageReductionAmountArray, enchantability*/ EnumHelper.addArmorMaterial("Glistre", 28, new int[]{3, 7, 6, 4}, 50); //GlistreArmor= EnumHelper.addArmorMaterial("GlistreArmor", 28, new int[]{3, 7, 6, 4}, 50); // DECLARE THE SWORD public static Item MySword_1; // DECLARE THE SWORD public static Item Glistre_Sword; // DECLARE THE PICKAXE public static Item MyPickaxe_1; // DECLARE THE PICKAXE public static Item Glistre_Pickaxe; // DECLARE THE ITEM public static Item MyItem_1; // DECLARE THE ITEM public static Item Glistre_Dust; // DECLARE THE ITEM public static Item Glistre_Ore; // DECLARE GLISTERING BREAD public static Item MyFood_1; // DECLARE GLISTERING PIE public static Item MyFood_2; // DECLARE THE BLOCK public static Block MyBlock_1; // DECLARE THE BIOME public static BiomeGenBase MyBiome_1; // DECLARE THE MOB ID static int MyEntityID = 300; // SEARCH FOR UNIQUE ID public static int getUniqueEntityId() { do { MyEntityID++; } while (EntityList.getStringFromID(MyEntityID) != null); return MyEntityID++; } // DECLARE A NEW EGG public static void registerEntityEgg(Class <? extends Entity> entity, int primaryColor, int secondaryColor) { int id = getUniqueEntityId(); EntityList.IDtoClassMapping.put(id, entity); EntityList.entityEggs.put(id, new EntityEggInfo(id, primaryColor, secondaryColor)); } // DECLARE THE NEW ACHIEVEMENTS public static Achievement MyAchievement_1; public static Achievement MyAchievement_2; public static Achievement MyAchievement_3; /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ @EventHandler public void preInit( FMLPreInitializationEvent event ){ proxy.registerRendering(); /** * LOAD SECTION * *********************************************************** */ //LOAD THE ARMOR MyHelmet_1 = new GlistreArmor(Glistre, MyHelmet_1ID, 0).setUnlocalizedName("MyHelmet_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyHelmet_1"); //MyArmor(2060, EnumArmorMaterial.IRON, 0, 0, "myarmor"); GameRegistry.registerItem(MyHelmet_1, "MyHelmet_1"); MyChestplate_1 = new GlistreArmor(Glistre, MyChestplate_1ID, 1).setUnlocalizedName("MyChestplate_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyChestplate_1"); GameRegistry.registerItem(MyChestplate_1, "MyChestplate_1"); MyLeggings_1 = new GlistreArmor(Glistre, MyLeggings_1ID, 2).setUnlocalizedName("MyLeggings_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyLeggings_1"); GameRegistry.registerItem(MyLeggings_1, "MyLeggings_1"); MyBoots_1 = new GlistreArmor(Glistre, MyBoots_1ID, 3).setUnlocalizedName("MyBoots_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyBoots_1"); GameRegistry.registerItem(MyBoots_1, "MyBoots_1"); // LOAD THE SWORDS MySword_1 = new Item().setUnlocalizedName("MySword_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MySword_1"); // MySword(ToolMaterial Item, EnumToolMaterial, "MySword_1"); GameRegistry.registerItem(MySword_1, MySword_1.getUnlocalizedName()); Glistre_Sword = new Item().setUnlocalizedName("Glistre_Sword").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "Glistre_Sword"); GameRegistry.registerItem(Glistre_Sword, Glistre_Sword.getUnlocalizedName()); // LOAD THE PICKAXE MyPickaxe_1 = new Item().setUnlocalizedName("MyPickaxe_1").setCreativeTab(CreativeTabs.tabTools).setTextureName(MODID + ":" + "MyPickaxe_1"); GameRegistry.registerItem(MyPickaxe_1, MyPickaxe_1.getUnlocalizedName()); // LOAD THE ITEMS MyItem_1 = new Item().setUnlocalizedName("MyItem_1").setCreativeTab(CreativeTabs.tabMisc).setMaxStackSize(64).setTextureName(MODID + ":" + "MyItem_1"); GameRegistry.registerItem(MyItem_1, MyItem_1.getUnlocalizedName()); Glistre_Dust = new Item().setUnlocalizedName("Glistre_Dust").setCreativeTab(CreativeTabs.tabMaterials).setMaxStackSize(64).setTextureName(GlistreMod.MODID + ":" + "Glistre_Dust"); GameRegistry.registerItem(Glistre_Dust, Glistre_Dust.getUnlocalizedName()); Glistre_Ore = new Item().setUnlocalizedName("Glistre_Ore").setCreativeTab(CreativeTabs.tabMisc).setMaxStackSize(64).setTextureName(MODID + ":" + "Glistre_Ore"); //GlistreOre(2034, "Glistre_Ore").setCreativeTab(CreativeTabs.tabMisc).setMaxStackSize(64); GameRegistry.registerItem(Glistre_Ore, Glistre_Ore.getUnlocalizedName()); // GLISTERING BREAD /** itemID, healAmount, saturationModifier (F), isWolfsFavoriteMeat, Texture Name */ MyFood_1 = new ItemFood(6,5.0F,true).setUnlocalizedName("MyFood_1").setCreativeTab(CreativeTabs.tabFood).setMaxStackSize(64).setTextureName(MODID + ":" + "MyFood_1"); GameRegistry.registerItem(MyFood_1, MyFood_1.getUnlocalizedName()); // GLISTERING PIE /** itemID, healAmount, saturationModifier (F), isWolfsFavoriteMeat, Texture Name */ MyFood_2 = new ItemFood(8,5.5F, true).setUnlocalizedName("MyFood_2").setCreativeTab(CreativeTabs.tabFood).setMaxStackSize(64).setTextureName(MODID + ":" + "MyFood_2"); //MyFood(2041, 8, 5.5F, true, "MyFood_2").setAlwaysEdible().setCreativeTab(CreativeTabs.tabFood); GameRegistry.registerItem(MyFood_2, MyFood_2.getUnlocalizedName()); // LOAD THE BLOCK MyBlock_1 = new MyBlock().setBlockName("MyBlock_1").setCreativeTab(CreativeTabs.tabBlock).setBlockTextureName(MODID + ":" + "MyBlock_1") .setLightLevel(1.0F).setResistance(5.0F).setHardness(3.5F).setStepSound(Block.soundTypeStone); GameRegistry.registerBlock(MyBlock_1, MyBlock_1.getUnlocalizedName()); //MinecraftForge.setBlockHarvestLevel(MyBlock_1, "pickaxe", 1); } // LOAD BIOME //MyBiome_1 = new MyBiome(30); //GameRegistry.addBiome(MyBiome_1); // REMOVE OTHER BIOMES //GameRegistry.removeBiome(BiomeGenBase.beach); //GameRegistry.removeBiome(BiomeGenBase.desert); //GameRegistry.removeBiome(BiomeGenBase.desertHills); //GameRegistry.removeBiome(BiomeGenBase.desertHills); //GameRegistry.removeBiome(BiomeGenBase.extremeHills); //GameRegistry.removeBiome(BiomeGenBase.extremeHillsEdge); //GameRegistry.removeBiome(BiomeGenBase.forest); //GameRegistry.removeBiome(BiomeGenBase.forestHills); //GameRegistry.removeBiome(BiomeGenBase.frozenOcean); //GameRegistry.removeBiome(BiomeGenBase.frozenRiver); //GameRegistry.removeBiome(BiomeGenBase.iceMountains); //GameRegistry.removeBiome(BiomeGenBase.icePlains); //GameRegistry.removeBiome(BiomeGenBase.jungle); //GameRegistry.removeBiome(BiomeGenBase.jungleHills); //GameRegistry.removeBiome(BiomeGenBase.mushroomIsland); //GameRegistry.removeBiome(BiomeGenBase.ocean); //GameRegistry.removeBiome(BiomeGenBase.plains); //GameRegistry.removeBiome(BiomeGenBase.river); //GameRegistry.removeBiome(BiomeGenBase.swampland); //GameRegistry.removeBiome(BiomeGenBase.taiga); //GameRegistry.removeBiome(BiomeGenBase.taigaHills); // REGISTER YOUR ENTITY //EntityRegistry.registerGlobalEntityID(MyEntityWolf.class, "Glistre Wolf", EntityRegistry.findGlobalUniqueEntityId()); //EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 10, EnumCreatureType.monster, BiomeGenBase.jungle); //EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 5, EnumCreatureType.monster, BiomeGenBase.jungleHills); //EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 10, EnumCreatureType.monster, BiomeGenBase.taiga); //EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 5, EnumCreatureType.monster, BiomeGenBase.taigaHills); //EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 10, EnumCreatureType.monster, MyBiome_1); //registerEntityEgg(MyEntityWolf.class, (new Color(255, 255, 255)).getRGB(), (new Color(255, 255, 93)).getRGB()); //RenderingRegistry.registerEntityRenderingHandler(MyEntityWolf.class, new MyRenderWolf(new MyModelWolf(), 0.3F)); // REGISTER YOUR ENTITY //EntityRegistry.registerGlobalEntityID(MyEntityTobo.class, "Tobie", EntityRegistry.findGlobalUniqueEntityId()); //EntityRegistry.addSpawn(MyEntityTobo.class, 15, 1, 3, EnumCreatureType.monster, BiomeGenBase.taiga); //EntityRegistry.addSpawn(MyEntityWolf.class, 15, 1, 2, EnumCreatureType.monster, BiomeGenBase.taigaHills); //EntityRegistry.addSpawn(MyEntityTobo.class, 15, 3, 7, EnumCreatureType.monster, MyBiome_1); //registerEntityEgg(MyEntityTobo.class, (new Color(210, 210, 210)).getRGB(), (new Color(17, 180, 246)).getRGB()); //RenderingRegistry.registerEntityRenderingHandler(MyEntityTobo.class, new MyRenderTobo(new MyModelTobo(), 0.3F)); // LOAD THE ACHIEVEMENTS //MyAchievement_1 = new Achievement(2001, "MyAchievement_1", -1, -3, MyBlock_1, (Achievement) null).registerAchievement(); //MyAchievement_2 = new Achievement(2002, "MyAchievement_2", -3, -3, MyItem_1, MyAchievement_1.registerAchievement()); //MyAchievement_3 = new Achievement(2003, "MyAchievement_3", -5, -3, Glistre_Dust, AchievementList.buildFurnace); // (id, "NameOfAchievement", x, y coordinates on Achievement map, icon, Required Achievement to unlock) // For no Pre-required achievement, use "(Achievement)null" /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ @EventHandler public static void init(FMLInitializationEvent event ) { /** * RECIPES SECTION * *********************************************************** */ // SWORD RECIPE GameRegistry.addRecipe(new ItemStack(MySword_1, 1), new Object[] { " X ", " X ", " S ", 'S', Items.stick, 'X', MyItem_1, }); // SWORD RECIPE GameRegistry.addRecipe(new ItemStack(Glistre_Sword, 1), new Object[] { " X ", " X ", " S ", 'S', Items.stick, 'X', Glistre_Ore, }); // PICKAXE RECIPE GameRegistry.addRecipe(new ItemStack(MyPickaxe_1, 1), new Object[] { "XXX", " X ", " S ", 'S', Items.stick, 'X', MyItem_1, }); // GLISTRE DUST RECIPE ItemStack GlistreDust = new ItemStack(GlistreMod.Glistre_Dust); ItemStack SilverIngot = new ItemStack(GlistreMod.MyItem_1); ItemStack GoldIngot = new ItemStack(Items.gold_ingot); GameRegistry.addShapelessRecipe(GlistreDust, MyItem_1, GoldIngot); // SMELTING GLISTRE ORE RECIPE ItemStack GlistreOre = new ItemStack(GlistreMod.Glistre_Ore); GameRegistry.addSmelting(GlistreMod.Glistre_Dust, GlistreOre, 12.0F); // SMELTING RECIPE GameRegistry.addSmelting(MyBlock_1, (new ItemStack(MyItem_1, 1)), 12); // GLISTERING BREAD RECIPE GameRegistry.addRecipe(new ItemStack(MyFood_1, 1), new Object[] { " ", " X ", " S ", 'S', Items.bread, 'X', GlistreMod.Glistre_Dust, }); // GLISTERING PIE RECIPE GameRegistry.addRecipe(new ItemStack(MyFood_2, 1), new Object[] { " Z ", " S ", " ", 'Z', Items.sugar, 'S', GlistreMod.MyFood_1, }); /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ /** * EXTRA METHODS SECTION * *********************************************************** */ // REGISTER THE ORE GENERATION //GameRegistry.registerWorldGenerator(new MyBlockGen()); // CHANGE THE TEXT OF THE ACHIEVEMENTS //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_1", "en_US", "Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_1.desc", "en_US", "Mine Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_2", "en_US", "Silver Ingot"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_2.desc", "en_US", "Smelt Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_3", "en_US", "Glistre Dust"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_3.desc", "en_US", "Craft Glistre Dust"); /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ } @EventHandler public static void postInit( FMLPostInitializationEvent event ) { } } and my custom Armor class: package com.glistre.glistremod; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.ItemArmor.ArmorMaterial; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; public class GlistreArmor extends ItemArmor { public GlistreArmor (ArmorMaterial p_i45325_1_, int p_i45325_2_, int p_i45325_3_) { super(p_i45325_1_, p_i45325_2_, p_i45325_3_); this.setCreativeTab(CreativeTabs.tabCombat); } public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { if (stack.getItem() == GlistreMod.MyHelmet_1 || stack.getItem() == GlistreMod.MyChestplate_1 || stack.getItem() == GlistreMod.MyBoots_1){ return "com.glistre.glistremod" + ":" + "textures/models/armor/myarmor_1.png"; } if (stack.getItem() == GlistreMod.MyLeggings_1) { return "com.glistre.glistremod" + ":" + "textures/models/armor/myarmor_2.png"; } else return null; } }
  13. Converting my Youth Digital Mod in 1.6.4 to 1.7.10, everything going slow but surely until I added armor. I know this will look sloppy (thank you Youth digital) but I am really stumped I keep crashing when Forge launches ...everything working fine without the Armor and Armor material: Here's what my mod file looks like, I am not showing any errors in any files: package com.glistre.glistremod; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; import net.minecraft.stats.Achievement; import net.minecraft.world.biome.BiomeGenBase; import net.minecraftforge.common.util.EnumHelper; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; //import com.glistre.glistremod.MyArmor; //import com.glistre.glistremod.MyBiome; //import com.glistre.glistremod.MyBlockGen; //import com.glistre.glistremod.MyEntityTobo; /* MOD INFO */ @Mod(modid = GlistreMod.MODID, name = "Glistre Mod", version = "1.0") public class GlistreMod { /* PROXY INFO */ @SidedProxy(clientSide = "com.glistre.glistremod.ClientProxy", serverSide = "com.glistre.glistremod.CommonProxy") public static CommonProxy proxy; public static final String MODID = "GlistreMod"; public static final String NAME = "Glistre Mod"; public static final String VERSION = "1.0"; /** * DECLARATION SECTION * *********************************************************** */ // DECLARE THE ARMOR public static Item MyHelmet_1; public static Item MyChestplate_1; public static Item MyLeggings_1; public static Item MyBoots_1; // DECLARE THE SWORD public static Item MySword_1; // DECLARE THE SWORD public static Item Glistre_Sword; // DECLARE THE PICKAXE public static Item MyPickaxe_1; // DECLARE THE PICKAXE public static Item Glistre_Pickaxe; // DECLARE THE ITEM public static Item MyItem_1; // DECLARE THE ITEM public static Item Glistre_Dust; // DECLARE THE ITEM public static Item Glistre_Ore; // DECLARE GLISTERING BREAD public static Item MyFood_1; // DECLARE GLISTERING PIE public static Item MyFood_2; // DECLARE THE BLOCK public static Block MyBlock_1; // DECLARE THE BIOME public static BiomeGenBase MyBiome_1; // DECLARE THE MOB ID static int MyEntityID = 300; // SEARCH FOR UNIQUE ID public static int getUniqueEntityId() { do { MyEntityID++; } while (EntityList.getStringFromID(MyEntityID) != null); return MyEntityID++; } // DECLARE A NEW EGG public static void registerEntityEgg(Class <? extends Entity> entity, int primaryColor, int secondaryColor) { int id = getUniqueEntityId(); EntityList.IDtoClassMapping.put(id, entity); EntityList.entityEggs.put(id, new EntityEggInfo(id, primaryColor, secondaryColor)); } // DECLARE THE NEW ACHIEVEMENTS public static Achievement MyAchievement_1; public static Achievement MyAchievement_2; public static Achievement MyAchievement_3; /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ // DECLARE THE ARMOR MATERIAL // DECLARE THE ARMOR MATERIAL public static ArmorMaterial GlistreArmor; @EventHandler public void preInit( FMLPreInitializationEvent event ){ /** * LOAD SECTION * *********************************************************** */ //LOAD THE ARMOR MyHelmet_1 = new GlistreArmor(GlistreArmor, 3000, 0).setUnlocalizedName("MyHelmet_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyHelmet_1"); //MyArmor(2060, EnumArmorMaterial.IRON, 0, 0, "myarmor"); GameRegistry.registerItem(MyHelmet_1, MyHelmet_1.getUnlocalizedName()); MyChestplate_1 = new GlistreArmor(GlistreArmor, 3001, 1).setUnlocalizedName("MyChestplate_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyChestplate_1"); //MyArmor(2060, EnumArmorMaterial.IRON, 0, 0, "myarmor"); GameRegistry.registerItem(MyChestplate_1, MyChestplate_1.getUnlocalizedName()); MyLeggings_1 = new GlistreArmor(GlistreArmor, 3002, 2).setUnlocalizedName("MyLeggings_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyLeggings_1"); //MyArmor(2060, EnumArmorMaterial.IRON, 0, 0, "myarmor"); GameRegistry.registerItem(MyLeggings_1, MyLeggings_1.getUnlocalizedName()); MyBoots_1 = new GlistreArmor(GlistreArmor, 3003, 3).setUnlocalizedName("MyBoots_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MyBoots_1"); //MyArmor(2060, EnumArmorMaterial.IRON, 0, 0, "myarmor"); GameRegistry.registerItem(MyBoots_1, MyBoots_1.getUnlocalizedName()); // LOAD THE SWORDS MySword_1 = new Item().setUnlocalizedName("MySword_1").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "MySword_1"); // MySword(ToolMaterial Item, EnumToolMaterial, "MySword_1"); GameRegistry.registerItem(MySword_1, MySword_1.getUnlocalizedName()); Glistre_Sword = new Item().setUnlocalizedName("Glistre_Sword").setCreativeTab(CreativeTabs.tabCombat).setTextureName(MODID + ":" + "Glistre_Sword"); //(2024, MyToolMaterial_2, "Glistre_Sword"); GameRegistry.registerItem(Glistre_Sword, Glistre_Sword.getUnlocalizedName()); // LOAD THE PICKAXE MyPickaxe_1 = new Item().setUnlocalizedName("MyPickaxe_1").setCreativeTab(CreativeTabs.tabTools).setTextureName(MODID + ":" + "MyPickaxe_1"); //MyPickaxe(2022, MyToolMaterial, "MyPickaxe_1"); GameRegistry.registerItem(MyPickaxe_1, MyPickaxe_1.getUnlocalizedName()); // LOAD THE ITEM MyItem_1 = new Item().setUnlocalizedName("MyItem_1").setCreativeTab(CreativeTabs.tabMisc).setMaxStackSize(64).setTextureName(MODID + ":" + "MyItem_1"); GameRegistry.registerItem(MyItem_1, MyItem_1.getUnlocalizedName()); // LOAD THE ITEM GLISTRE DUST Glistre_Dust = new Item().setUnlocalizedName("Glistre_Dust").setCreativeTab(CreativeTabs.tabMaterials).setMaxStackSize(64).setTextureName(GlistreMod.MODID + ":" + "Glistre_Dust"); //GlistreDust(2032, "Glistre_Dust").setCreativeTab(CreativeTabs.tabMisc).setMaxStackSize(64); GameRegistry.registerItem(Glistre_Dust, Glistre_Dust.getUnlocalizedName()); // LOAD THE ITEM Glistre_Ore = new Item().setUnlocalizedName("Glistre_Ore").setCreativeTab(CreativeTabs.tabMisc).setMaxStackSize(64).setTextureName(MODID + ":" + "Glistre_Ore"); //GlistreOre(2034, "Glistre_Ore").setCreativeTab(CreativeTabs.tabMisc).setMaxStackSize(64); GameRegistry.registerItem(Glistre_Ore, Glistre_Ore.getUnlocalizedName()); // LOAD GLISTERING BREAD /** itemID, healAmount, saturationModifier (F), isWolfsFavoriteMeat, Texture Name */ MyFood_1 = new ItemFood(6,5.0F,true).setUnlocalizedName("MyFood_1").setCreativeTab(CreativeTabs.tabFood).setMaxStackSize(64).setTextureName(MODID + ":" + "MyFood_1"); //MyFood(2040, 6, 5.0F, true, "MyFood_1").setAlwaysEdible().setCreativeTab(CreativeTabs.tabFood); GameRegistry.registerItem(MyFood_1, MyFood_1.getUnlocalizedName()); // LOAD GLISTERING PIE /** itemID, healAmount, saturationModifier (F), isWolfsFavoriteMeat, Texture Name */ MyFood_2 = new ItemFood(8,5.5F, true).setUnlocalizedName("MyFood_2").setCreativeTab(CreativeTabs.tabFood).setMaxStackSize(64).setTextureName(MODID + ":" + "MyFood_2"); //MyFood(2041, 8, 5.5F, true, "MyFood_2").setAlwaysEdible().setCreativeTab(CreativeTabs.tabFood); GameRegistry.registerItem(MyFood_2, MyFood_2.getUnlocalizedName()); // LOAD THE BLOCK MyBlock_1 = new MyBlock().setBlockName("MyBlock_1").setCreativeTab(CreativeTabs.tabBlock).setBlockTextureName(MODID + ":" + "MyBlock_1") .setLightLevel(1.0F).setResistance(5.0F).setHardness(3.5F).setStepSound(Block.soundTypeStone); GameRegistry.registerBlock(MyBlock_1, MyBlock_1.getUnlocalizedName()); //MinecraftForge.setBlockHarvestLevel(MyBlock_1, "pickaxe", 1); GlistreArmor= EnumHelper.addArmorMaterial("GlistreArmor", 66, new int[]{3, 4, 5, 6}, 30); } // LOAD BIOME //MyBiome_1 = new MyBiome(30); //GameRegistry.addBiome(MyBiome_1); // REMOVE OTHER BIOMES //GameRegistry.removeBiome(BiomeGenBase.beach); //GameRegistry.removeBiome(BiomeGenBase.desert); //GameRegistry.removeBiome(BiomeGenBase.desertHills); //GameRegistry.removeBiome(BiomeGenBase.desertHills); //GameRegistry.removeBiome(BiomeGenBase.extremeHills); //GameRegistry.removeBiome(BiomeGenBase.extremeHillsEdge); //GameRegistry.removeBiome(BiomeGenBase.forest); //GameRegistry.removeBiome(BiomeGenBase.forestHills); //GameRegistry.removeBiome(BiomeGenBase.frozenOcean); //GameRegistry.removeBiome(BiomeGenBase.frozenRiver); //GameRegistry.removeBiome(BiomeGenBase.iceMountains); //GameRegistry.removeBiome(BiomeGenBase.icePlains); //GameRegistry.removeBiome(BiomeGenBase.jungle); //GameRegistry.removeBiome(BiomeGenBase.jungleHills); //GameRegistry.removeBiome(BiomeGenBase.mushroomIsland); //GameRegistry.removeBiome(BiomeGenBase.ocean); //GameRegistry.removeBiome(BiomeGenBase.plains); //GameRegistry.removeBiome(BiomeGenBase.river); //GameRegistry.removeBiome(BiomeGenBase.swampland); //GameRegistry.removeBiome(BiomeGenBase.taiga); //GameRegistry.removeBiome(BiomeGenBase.taigaHills); // REGISTER YOUR ENTITY //EntityRegistry.registerGlobalEntityID(MyEntityWolf.class, "Glistre Wolf", EntityRegistry.findGlobalUniqueEntityId()); //EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 10, EnumCreatureType.monster, BiomeGenBase.jungle); //EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 5, EnumCreatureType.monster, BiomeGenBase.jungleHills); //EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 10, EnumCreatureType.monster, BiomeGenBase.taiga); //EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 5, EnumCreatureType.monster, BiomeGenBase.taigaHills); //EntityRegistry.addSpawn(MyEntityWolf.class, 30, 3, 10, EnumCreatureType.monster, MyBiome_1); //registerEntityEgg(MyEntityWolf.class, (new Color(255, 255, 255)).getRGB(), (new Color(255, 255, 93)).getRGB()); //RenderingRegistry.registerEntityRenderingHandler(MyEntityWolf.class, new MyRenderWolf(new MyModelWolf(), 0.3F)); // REGISTER YOUR ENTITY //EntityRegistry.registerGlobalEntityID(MyEntityTobo.class, "Tobie", EntityRegistry.findGlobalUniqueEntityId()); //EntityRegistry.addSpawn(MyEntityTobo.class, 15, 1, 3, EnumCreatureType.monster, BiomeGenBase.taiga); //EntityRegistry.addSpawn(MyEntityWolf.class, 15, 1, 2, EnumCreatureType.monster, BiomeGenBase.taigaHills); //EntityRegistry.addSpawn(MyEntityTobo.class, 15, 3, 7, EnumCreatureType.monster, MyBiome_1); //registerEntityEgg(MyEntityTobo.class, (new Color(210, 210, 210)).getRGB(), (new Color(17, 180, 246)).getRGB()); //RenderingRegistry.registerEntityRenderingHandler(MyEntityTobo.class, new MyRenderTobo(new MyModelTobo(), 0.3F)); // LOAD THE ACHIEVEMENTS //MyAchievement_1 = new Achievement(2001, "MyAchievement_1", -1, -3, MyBlock_1, (Achievement) null).registerAchievement(); //MyAchievement_2 = new Achievement(2002, "MyAchievement_2", -3, -3, MyItem_1, MyAchievement_1.registerAchievement()); //MyAchievement_3 = new Achievement(2003, "MyAchievement_3", -5, -3, Glistre_Dust, AchievementList.buildFurnace); // (id, "NameOfAchievement", x, y coordinates on Achievement map, icon, Required Achievement to unlock) // For no Pre-required achievement, use "(Achievement)null" /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ @EventHandler public static void init(FMLInitializationEvent event ) { /** * RECIPES SECTION * *********************************************************** */ // SWORD RECIPE GameRegistry.addRecipe(new ItemStack(MySword_1, 1), new Object[] { " X ", " X ", " S ", 'S', Items.stick, 'X', MyItem_1, }); // SWORD RECIPE GameRegistry.addRecipe(new ItemStack(Glistre_Sword, 1), new Object[] { " X ", " X ", " S ", 'S', Items.stick, 'X', Glistre_Ore, }); // PICKAXE RECIPE GameRegistry.addRecipe(new ItemStack(MyPickaxe_1, 1), new Object[] { "XXX", " X ", " S ", 'S', Items.stick, 'X', MyItem_1, }); // GLISTRE DUST RECIPE ItemStack GlistreDust = new ItemStack(GlistreMod.Glistre_Dust); ItemStack SilverIngot = new ItemStack(GlistreMod.MyItem_1); ItemStack GoldIngot = new ItemStack(Items.gold_ingot); GameRegistry.addShapelessRecipe(GlistreDust, MyItem_1, GoldIngot); // SMELTING GLISTRE ORE RECIPE ItemStack GlistreOre = new ItemStack(GlistreMod.Glistre_Ore); GameRegistry.addSmelting(GlistreMod.Glistre_Dust, GlistreOre, 12.0F); // SMELTING RECIPE GameRegistry.addSmelting(MyBlock_1, (new ItemStack(MyItem_1, 1)), 12); // GLISTERING BREAD RECIPE GameRegistry.addRecipe(new ItemStack(MyFood_1, 1), new Object[] { " ", " X ", " S ", 'S', Items.bread, 'X', GlistreMod.Glistre_Dust, }); // GLISTERING PIE RECIPE GameRegistry.addRecipe(new ItemStack(MyFood_2, 1), new Object[] { " Z ", " S ", " ", 'Z', Items.sugar, 'S', GlistreMod.MyFood_1, }); /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ /** * EXTRA METHODS SECTION * *********************************************************** */ // REGISTER THE ORE GENERATION //GameRegistry.registerWorldGenerator(new MyBlockGen()); // CHANGE THE TEXT OF THE ACHIEVEMENTS //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_1", "en_US", "Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_1.desc", "en_US", "Mine Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_2", "en_US", "Silver Ingot"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_2.desc", "en_US", "Smelt Silver Ore"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_3", "en_US", "Glistre Dust"); //LanguageRegistry.instance().addStringLocalization("achievement.MyAchievement_3.desc", "en_US", "Craft Glistre Dust"); /* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ } @EventHandler public static void postInit( FMLPostInitializationEvent event ) { } }

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.