Everything posted by Glistre
-
[Solved]Text repeated over and over in hotbar 1.6.4 mod
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
-
mod organization question 1.6.4 & 1.7.10
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(); } }; }
-
[1.7.10] how to create a spawn egg for custom mob
Cogitating on this. . .starting to make more sense!
-
[1.7.10] how to create a spawn egg for custom mob
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
-
[1.7.10] how to create a spawn egg for custom mob
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"); } }
-
[1.7.10] how to create a spawn egg for custom mob
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?
-
[1.7.10] how to create a spawn egg for custom mob
I will try that I thought it would work since I do not have any mods loaded and just one custom Mob
-
[1.7.10] how to create a spawn egg for custom mob
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
-
Cannot find Custom Biome 1.7.10
[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
-
Cannot find Custom Biome 1.7.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?
-
Forge not loading custom mod after adding armor
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
-
Forge not loading custom mod after adding armor
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; } }
-
Forge not loading custom mod after adding armor
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 ) { } }
IPS spam blocked by CleanTalk.