
edymondo
Forge Modder-
Posts
36 -
Joined
-
Last visited
Everything posted by edymondo
-
I am going to create a github in a minute, because it will be useful for future problems, but here is my main modding class package net.mymod.mod; 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.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.enchantment.Enchantment; import net.minecraft.entity.Entity; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.EnumHelper; import net.mymod.Handler.CraftingHandler; import net.mymod.Handler.EntityHandler; import net.mymod.Handler.GUIHandler; import net.mymod.mod.Entity.EntityVampire; import net.mymod.mod.TileEntity.TileEntityAngellicInfuser; import net.mymod.mod.WorldGen.mymodWorldGen; import net.mymod.mod.armor.AngelArmor; import net.mymod.mod.armor.DemonArmor; import net.mymod.mod.blocks.AltarBlock; import net.mymod.mod.blocks.AltarCore; import net.mymod.mod.blocks.AngellicInfuser; import net.mymod.mod.blocks.AngellicOre; import net.mymod.mod.blocks.DemonicOre; import net.mymod.mod.items.AngelBlade; import net.mymod.mod.items.AngelicIngot; import net.mymod.mod.items.AngellicAxe; import net.mymod.mod.items.AngellicHoe; import net.mymod.mod.items.AngellicPickaxe; import net.mymod.mod.items.AngellicSpade; import net.mymod.mod.items.ChaosDust; import net.mymod.mod.items.DemonicAxe; import net.mymod.mod.items.DemonicCore; import net.mymod.mod.items.DemonicHoe; import net.mymod.mod.items.DemonicIngot; import net.mymod.mod.items.DemonicMace; import net.mymod.mod.items.DemonicPickaxe; import net.mymod.mod.items.DemonicSpade; import net.mymod.mod.items.InfusedStick; import net.mymod.mod.items.PowderedOrder; @Mod(modid = mymod.modid, version = mymod.version) public class mymod { public static final String modid = "mymod"; public static final String version = "Alpha 0.1"; mymodWorldGen eventWorldGen = new mymodWorldGen(); public static CreativeTabs SatangelicaTab; //tool material public static ToolMaterial AngelMaterial = EnumHelper.addToolMaterial("AngelMaterial", 3, 3000, 10.0f, 10.0f, 39); public static ToolMaterial DemonMaterial = EnumHelper.addToolMaterial("DemonMaterial", 3, 2000, 13.0f, 12.0f, 20); //armor material public static ArmorMaterial AngelArmor = EnumHelper.addArmorMaterial("AngelArmor", 10, new int[] {5, 8, 6, 5}, 40); public static ArmorMaterial DemonArmor = EnumHelper.addArmorMaterial("DemonArmor", 10, new int[] {4, 7, 5, 4}, 27); @Instance(modid) public static mymod instance; //blocks public static Block blockAltarCore; public static Block blockAltarBlock; public static Block blockInfusedLog; public static Block blockInfusedPlanks; //ores public static Block oreAngellicOre; public static Block oreDemonicOre; //items public static Item itemInfusedStick; public static Item itemAngelicCore; public static Item itemDemonicCore; //ingots public static Item itemAngelicIngot; public static Item itemDemonicIngot; //dusts public static Item itemChaosDust; public static Item itemPowderedOrder; //tools public static Item itemAngelBlade; public static Item itemAngellicPickaxe; public static Item itemAngellicAxe; public static Item itemAngellicSpade; public static Item itemAngellicHoe; public static Item itemDemonicMace; public static Item itemDemonicPickaxe; public static Item itemDemonicHoe; public static Item itemDemonicSpade; public static Item itemDemonicAxe; //armor public static int armorAngelHelmId; public static int armorAngelChestplateId; public static int armorAngelLeggingsId; public static int armorAngelBootsId; public static int armorDemonHelmId; public static int armorDemonChestplateId; public static int armorDemonLeggingsId; public static int armorDemonBootsId; //armor (items) public static Item armorAngelHelm; public static Item armorAngelChestplate; public static Item armorAngelLeggings; public static Item armorAngelBoots; public static Item armorDemonHelm; public static Item armorDemonChestplate; public static Item armorDemonLeggings; public static Item armorDemonBoots; //Angellic Infuser public static Block blockAngellicInfuserIdle; public static Block blockAngellicInfuserActive; public static final int guiIdAngelicInfuser = 1; //Enchantments public static final Enchantment Absorbtion = new net.mymod.Enchantments.Absorbtion(111, 5); public static final Enchantment Jump = new net.mymod.Enchantments.Jump(112, 5); @EventHandler public void PreInit(FMLPreInitializationEvent preEvent){ SatangelicaTab = new CreativeTabs("mymod") { @SideOnly(Side.CLIENT) public Item getTabIconItem() { return Item.getItemFromBlock(mymod.blockAltarCore); } }; //blocks blockAltarCore = new AltarCore(Material.rock).setBlockName("Altar Core"); GameRegistry.registerBlock(blockAltarCore, "Altar Core"); blockAltarBlock = new AltarBlock(Material.iron).setBlockName("Altar Block"); GameRegistry.registerBlock(blockAltarBlock, "Altar Block"); blockInfusedLog = new AltarBlock(Material.wood).setBlockName("Infused Log"); GameRegistry.registerBlock(blockInfusedLog, "Infused Log"); blockInfusedPlanks = new AltarBlock(Material.wood).setBlockName("Infused Planks"); GameRegistry.registerBlock(blockInfusedPlanks, "Infused Planks"); //ores; oreAngellicOre = new AngellicOre(Material.rock).setBlockName("Angellic Ore"); GameRegistry.registerBlock(oreAngellicOre, "Angellic Ore"); oreDemonicOre = new DemonicOre(Material.rock).setBlockName("Demonic Ore"); GameRegistry.registerBlock(oreDemonicOre, "Demonic Ore"); //items itemInfusedStick = new InfusedStick().setUnlocalizedName("Infused Stick"); GameRegistry.registerItem(itemInfusedStick, "Infused Stick"); itemAngelicCore = new net.mymod.mod.items.AngelicCore().setUnlocalizedName("Angelic Core"); GameRegistry.registerItem(itemAngelicCore, "Angelic Core"); itemDemonicCore = new DemonicCore().setUnlocalizedName("Demonic Core"); GameRegistry.registerItem(itemDemonicCore, "Demonic Core"); //ingots itemAngelicIngot = new AngelicIngot().setUnlocalizedName("Angelic Ingot"); GameRegistry.registerItem(itemAngelicIngot, "Angelic Ingot"); itemDemonicIngot = new DemonicIngot().setUnlocalizedName("DemonicIngot"); GameRegistry.registerItem(itemDemonicIngot, "Demonic Ingot"); //dusts itemChaosDust = new ChaosDust().setUnlocalizedName("Chaos Dust"); GameRegistry.registerItem(itemChaosDust, "Chaos Dust"); itemPowderedOrder = new PowderedOrder().setUnlocalizedName("Powdered Order"); GameRegistry.registerItem(itemPowderedOrder, "PowderedOrder"); //tools itemAngelBlade = new AngelBlade(AngelMaterial).setUnlocalizedName("Angel Blade"); GameRegistry.registerItem(itemAngelBlade, "Angel Blade"); itemAngellicPickaxe = new AngellicPickaxe(AngelMaterial).setUnlocalizedName("Angellic Pickaxe"); GameRegistry.registerItem(itemAngellicPickaxe, "Angellic Pickaxe"); itemAngellicAxe = new AngellicAxe(AngelMaterial).setUnlocalizedName("Angellic Axe"); GameRegistry.registerItem(itemAngellicAxe, "Angellic Axe"); itemAngellicSpade = new AngellicSpade(AngelMaterial).setUnlocalizedName("Angellic Spade"); GameRegistry.registerItem(itemAngellicSpade, "Angellic Spade"); itemAngellicHoe = new AngellicHoe(AngelMaterial).setUnlocalizedName("Angellic Hoe"); GameRegistry.registerItem(itemAngellicHoe, "Angellic Hoe "); itemDemonicMace = new DemonicMace(DemonMaterial).setUnlocalizedName("Demonic Mace"); GameRegistry.registerItem(itemDemonicMace, "Demonic Mace"); itemDemonicHoe = new DemonicHoe(DemonMaterial).setUnlocalizedName("Demonic Hoe"); GameRegistry.registerItem(itemDemonicHoe, "Demonic Hoe"); itemDemonicAxe = new DemonicAxe(DemonMaterial).setUnlocalizedName("Demonic Axe"); GameRegistry.registerItem(itemDemonicAxe, "Demonic Axe"); itemDemonicSpade = new DemonicSpade(DemonMaterial).setUnlocalizedName("Demonic Spade"); GameRegistry.registerItem(itemDemonicSpade, "Demonic Spade"); itemDemonicPickaxe = new DemonicPickaxe(DemonMaterial).setUnlocalizedName("Demonic Pickaxe"); GameRegistry.registerItem(itemDemonicPickaxe, "Demonic Pickaxe"); //armor armorAngelHelm = new AngelArmor(AngelArmor, armorAngelHelmId, 0).setUnlocalizedName("Angel Helm"); GameRegistry.registerItem(armorAngelHelm, "Angel Helm"); armorAngelChestplate = new AngelArmor(AngelArmor, armorAngelChestplateId, 1).setUnlocalizedName("Angel Chestplate"); GameRegistry.registerItem(armorAngelChestplate, "Angel Chestplate"); armorAngelLeggings = new AngelArmor(AngelArmor, armorAngelLeggingsId, 2).setUnlocalizedName("Angel Leggings"); GameRegistry.registerItem(armorAngelLeggings, "Angel Leggings"); armorAngelBoots = new AngelArmor(AngelArmor, armorAngelBootsId, 3).setUnlocalizedName("Angel Boots"); GameRegistry.registerItem(armorAngelBoots, "Angel Boots"); armorDemonHelm = new DemonArmor(DemonArmor, armorDemonHelmId, 0).setUnlocalizedName("Demon Helm"); GameRegistry.registerItem(armorDemonHelm, "Demon Helm"); armorDemonChestplate = new DemonArmor(DemonArmor, armorDemonChestplateId, 1).setUnlocalizedName("Demon Chestplate"); GameRegistry.registerItem(armorDemonChestplate, "Demon Chestplate"); armorDemonLeggings = new DemonArmor(DemonArmor, armorDemonLeggingsId, 2).setUnlocalizedName("DemonLeggings"); GameRegistry.registerItem(armorDemonLeggings, "Demon Leggings"); armorDemonBoots = new DemonArmor(DemonArmor, armorDemonBootsId, 3).setUnlocalizedName("Demon Boots"); GameRegistry.registerItem(armorDemonBoots, "Demon Boots"); //Angelic Infuser blockAngellicInfuserIdle = new AngellicInfuser(false).setBlockName("Angellic Infuser Idle").setCreativeTab(mymod.SatangelicaTab).setHardness(3.5F); GameRegistry.registerBlock(blockAngellicInfuserIdle, "Angellic Infuser Idle"); blockAngellicInfuserActive = new AngellicInfuser(true).setBlockName("Angellic Infuser Active").setHardness(3.5F); GameRegistry.registerBlock(blockAngellicInfuserActive, "Angellic Infuser Active"); //world gen GameRegistry.registerWorldGenerator(eventWorldGen, 0); GameRegistry.registerWorldGenerator(eventWorldGen, 1); }; @EventHandler public void Init(FMLInitializationEvent event){ //Gui Handler FMLCommonHandler.instance().bus().register(new CraftingHandler()); NetworkRegistry.INSTANCE.registerGuiHandler(this, new GUIHandler()); GameRegistry.registerTileEntity(TileEntityAngellicInfuser.class, "AngellicInfuser"); //Recipes GameRegistry.addRecipe(new ItemStack(blockAltarCore), new Object[]{"SIS", "SIS", "SIS", 'S', Blocks.stone, 'I', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(blockAltarBlock), new Object[]{"SPS", "CSC", "SPS", 'S', Blocks.stone, 'P', mymod.itemPowderedOrder, 'C', mymod.itemChaosDust}); GameRegistry.addRecipe(new ItemStack(blockAltarBlock), new Object[]{"SCS", "PSP", "SCS", 'S', Blocks.stone, 'P', mymod.itemPowderedOrder, 'C', mymod.itemChaosDust}); GameRegistry.addRecipe(new ItemStack(armorAngelHelm), new Object[]{"aaa", "a a", " ", 'a', mymod.itemAngelicIngot}); GameRegistry.addRecipe(new ItemStack(armorAngelHelm), new Object[]{" ", "aaa", "a a", 'a', mymod.itemAngelicIngot}); GameRegistry.addRecipe(new ItemStack(armorAngelChestplate), new Object[]{"a a", "aaa", "aaa", 'a', mymod.itemAngelicIngot}); GameRegistry.addRecipe(new ItemStack(armorAngelLeggings), new Object[]{"aaa", "a a", "a a", 'a', mymod.itemAngelicIngot}); GameRegistry.addRecipe(new ItemStack(armorAngelBoots), new Object[]{" ", "a a", "a a", 'a', mymod.itemAngelicIngot}); GameRegistry.addRecipe(new ItemStack(armorAngelBoots), new Object[]{"a a", "a a", " ", 'a', mymod.itemAngelicIngot}); GameRegistry.addRecipe(new ItemStack(armorDemonHelm), new Object[]{"ddd", "d d", " ", 'd', mymod.itemDemonicIngot}); GameRegistry.addRecipe(new ItemStack(armorDemonHelm), new Object[]{" ", "ddd", "d d", 'd', mymod.itemDemonicIngot}); GameRegistry.addRecipe(new ItemStack(armorDemonChestplate), new Object[]{"d d", "ddd", "ddd", 'd', mymod.itemDemonicIngot}); GameRegistry.addRecipe(new ItemStack(armorDemonLeggings), new Object[]{"ddd", "d d", "d d", 'd', mymod.itemDemonicIngot}); GameRegistry.addRecipe(new ItemStack(armorDemonBoots), new Object[]{" ", "d d", "d d", 'd', mymod.itemDemonicIngot}); GameRegistry.addRecipe(new ItemStack(armorDemonBoots), new Object[]{"d d", "d d", " ", 'd', mymod.itemDemonicIngot}); GameRegistry.addRecipe(new ItemStack(itemAngellicAxe), new Object[]{" aa", " sa", " s ", 'a', mymod.itemAngelicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemAngellicAxe), new Object[]{"aa ", "as ", " s ", 'a', mymod.itemAngelicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemAngellicHoe), new Object[]{" aa", " s ", " s ", 'a', mymod.itemAngelicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemAngellicHoe), new Object[]{"aa ", " s ", " s ", 'a', mymod.itemAngelicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemAngellicSpade), new Object[]{" a ", " s ", " s ", 'a', mymod.itemAngelicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemAngellicPickaxe), new Object[]{"aaa", " s ", " s ", 'a', mymod.itemAngelicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemAngelBlade), new Object[]{" a ", " a ", " s ", 'a', mymod.itemAngelicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemAngelBlade), new Object[]{"a ", "a ", "s ", 'a', mymod.itemAngelicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemAngelBlade), new Object[]{" a", " a", " s", 'a', mymod.itemAngelicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemDemonicAxe), new Object[]{" aa", " sa", " s ", 'a', mymod.itemDemonicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemDemonicAxe), new Object[]{"aa ", "as ", " s ", 'a', mymod.itemDemonicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemDemonicHoe), new Object[]{" aa", " s ", " s ", 'a', mymod.itemDemonicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemDemonicHoe), new Object[]{"aa ", " s ", " s ", 'a', mymod.itemDemonicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemDemonicSpade), new Object[]{" a ", " s ", " s ", 'a', mymod.itemDemonicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemDemonicPickaxe), new Object[]{"aaa", " s ", " s ", 'a', mymod.itemDemonicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemDemonicMace), new Object[]{"aaa", "asa", " s ", 'a', mymod.itemDemonicIngot, 's', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(blockAngellicInfuserIdle), new Object []{ "BDB", "DCD", "BDB", 'B', mymod.blockAltarBlock, 'D', mymod.itemPowderedOrder, 'C', mymod.itemAngelicCore}); GameRegistry.addShapelessRecipe(new ItemStack(blockInfusedLog), new Object []{ itemChaosDust, itemPowderedOrder, Blocks.log}); GameRegistry.addShapelessRecipe(new ItemStack(blockInfusedPlanks, 4), new Object []{ blockInfusedLog}); GameRegistry.addShapelessRecipe(new ItemStack(itemInfusedStick, 2), new Object []{blockInfusedPlanks}); GameRegistry.addSmelting(oreAngellicOre, new ItemStack(itemPowderedOrder, 3), 5); GameRegistry.addSmelting(oreDemonicOre, new ItemStack(itemChaosDust, 3), 5); GameRegistry.registerTileEntity(TileEntityAngellicInfuser.class, "TEAngellicInfuser"); //mobs EntityHandler.registerMonsters(EntityVampire.class, "Vampire"); } @EventHandler public void PostInit(FMLPostInitializationEvent postEvent){ } }
-
I was looking at a new tutorial, and i found out that the model which i was registering was completely wrong, however it still doesnt work, so i still have no idea, and i would greatly appreciate it if anyone could tell me how to fix it. (whilst i was writing this Jabelar posted, and thanks, I already saw your tutorial, however i would really like to fix this method, because I am using this tutorial for many things, so i want to know how to work with these.)
-
No, im not sure doom, could you please tell me what i would need to do in order to do this as it just seems a bit beyond me, i will however try to find another tutorial and see if i can create an entity which will work with that one as well, thanks
-
I think thats what it is, i have it imported, but nowhere in my actual code do i actually tell it to import it, can you suggest how? because i might not be able to work out what to do.
-
Sorry, still doesnt work. I just have a blank entity blob still.
-
thanks knokko, I still have a textureless blob though, please help. (sorry its taking so long)
-
thanks, i probably would have forgotten that, but no offence here guys, but does anybody know how to help me, cause this is kinda irrelevant?
-
Provided you reference the texture correctly, it will work. For example, all of my other textures. Is anyone able to help me?
-
Thanks knokko and jabelar, mainly because now when i have a problem, i can find out whats causing it, but also because i now have a textureless blob, so the model still isn't loading. I have the console log here, if you can see what it is, then please tell me what is the reason for the problem, and how to fix it. [21:33:13] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker [21:33:13] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker [21:33:13] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker [21:33:13] [main/INFO] [FML]: Forge Mod Loader version 7.2.156.1060 for Minecraft 1.7.2 loading [21:33:13] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_05, running on Windows 7:amd64:6.1, installed at C:\Users\ginny's laptop\Desktop\Forge stuff\eclipse for forge\jre [21:33:13] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation [21:33:13] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [21:33:13] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker [21:33:13] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [21:33:13] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [21:33:13] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [21:33:13] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work! [21:33:15] [main/ERROR] [FML]: The minecraft jar file:/C:/Users/ginny's%20laptop/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.2-10.12.1.1060/forgeSrc-1.7.2-10.12.1.1060.jar!/net/minecraft/client/ClientBrandRetriever.class appears to be corrupt! There has been CRITICAL TAMPERING WITH MINECRAFT, it is highly unlikely minecraft will work! STOP NOW, get a clean copy and try again! [21:33:15] [main/ERROR] [FML]: FML has been ordered to ignore the invalid or missing minecraft certificate. This is very likely to cause a problem! [21:33:15] [main/ERROR] [FML]: Technical information: ClientBrandRetriever was at jar:file:/C:/Users/ginny's%20laptop/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.2-10.12.1.1060/forgeSrc-1.7.2-10.12.1.1060.jar!/net/minecraft/client/ClientBrandRetriever.class, there were 0 certificates for it [21:33:15] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing [21:33:15] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [21:33:15] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker [21:33:16] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main} [21:33:17] [main/INFO]: Setting user: Player78 [21:33:20] [Client thread/INFO]: LWJGL Version: 2.9.0 [21:33:20] [Client thread/ERROR]: Couldn't set icon javax.imageio.IIOException: Can't read input file! at javax.imageio.ImageIO.read(Unknown Source) ~[?:1.8.0_05] at net.minecraft.client.Minecraft.readImage(Minecraft.java:639) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.startGame(Minecraft.java:468) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:890) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:112) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_05] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_05] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_05] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_05] at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?] [21:33:22] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization [21:33:22] [Client thread/INFO] [FML]: MinecraftForge v10.12.1.1060 Initialized [21:33:23] [Client thread/INFO] [FML]: Replaced 141 ore recipies [21:33:23] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization [21:33:23] [Client thread/INFO] [FML]: Searching C:\Users\ginny's laptop\Desktop\Forge stuff\My mod\eclipse\mods for mods [21:33:23] [Client thread/INFO] [examplemod]: Mod examplemod is missing the required element 'name'. Substituting examplemod [21:33:24] [Client thread/ERROR] [FML]: FML has detected a mod that is using a package name based on 'net.minecraft.src' : net.minecraft.src.FMLRenderAccessLibrary. This is generally a severe programming error. There should be no mod code in the minecraft namespace. MOVE YOUR MOD! If you're in eclipse, select your source code and 'refactor' it into a new package. Go on. DO IT NOW! [21:33:27] [Client thread/INFO] [FML]: Forge Mod Loader has identified 5 mods to load [21:33:27] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:examplemod, FMLFileResourcePack:Satangelic [21:33:28] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0 Starting up SoundSystem... Initializing LWJGL OpenAL (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) [21:33:30] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas [21:33:31] [Client thread/INFO]: Created: 256x256 textures/items-atlas DIRT BLOCK >> tile.dirt [21:33:31] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 5 mods [21:33:31] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:examplemod, FMLFileResourcePack:Satangelic [21:33:32] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas [21:33:32] [Client thread/INFO]: Created: 256x256 textures/items-atlas Starting up SoundSystem... OpenAL initialized. Initializing LWJGL OpenAL (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) Exception in thread "Thread-8" java.lang.IllegalStateException: Only one OpenAL context may be instantiated at any one time. at org.lwjgl.openal.AL.create(AL.java:113) at org.lwjgl.openal.AL.create(AL.java:102) at org.lwjgl.openal.AL.create(AL.java:201) at paulscode.sound.libraries.LibraryLWJGLOpenAL.init(LibraryLWJGLOpenAL.java:164) at paulscode.sound.SoundSystem.CommandNewLibrary(SoundSystem.java:1576) at paulscode.sound.SoundSystem.CommandQueue(SoundSystem.java:2572) at paulscode.sound.CommandThread.run(CommandThread.java:121) [21:33:34] [MCO Availability Checker #1/ERROR]: Couldn't connect to Realms [21:33:43] [server thread/INFO]: Starting integrated minecraft server version 1.7.2 [21:33:43] [server thread/INFO]: Generating keypair [21:33:43] [server thread/INFO] [FML]: Injecting existing block and item data into this server instance [21:33:44] [server thread/INFO] [FML]: Loading dimension 0 (Test world) (net.minecraft.server.integrated.IntegratedServer@7653f688) [21:33:44] [server thread/INFO] [FML]: Loading dimension 1 (Test world) (net.minecraft.server.integrated.IntegratedServer@7653f688) [21:33:44] [server thread/INFO] [FML]: Loading dimension -1 (Test world) (net.minecraft.server.integrated.IntegratedServer@7653f688) [21:33:44] [server thread/INFO]: Preparing start region for level 0 [21:33:45] [server thread/INFO]: Preparing spawn area: 42% [21:33:45] [server thread/ERROR]: Wrong location! EntityPainting['Painting'/114, l='Test world', x=0.50, y=0.50, z=-0.06] [21:33:45] [server thread/ERROR]: Wrong location! EntityPainting['Painting'/284, l='Test world', x=0.50, y=0.50, z=-0.06] java.lang.Exception: Stack trace at java.lang.Thread.dumpStack(Unknown Source) at net.minecraft.world.chunk.Chunk.addEntity(Chunk.java:860) at net.minecraft.world.chunk.storage.AnvilChunkLoader.readChunkFromNBT(AnvilChunkLoader.java:421) at net.minecraft.world.chunk.storage.AnvilChunkLoader.checkedReadChunkFromNBT(AnvilChunkLoader.java:108) at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadChunk(AnvilChunkLoader.java:88) at net.minecraft.world.gen.ChunkProviderServer.safeLoadChunk(ChunkProviderServer.java:179) at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:120) at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:307) at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:79) at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:96) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:442) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) java.lang.Exception: Stack trace at java.lang.Thread.dumpStack(Unknown Source) at net.minecraft.world.chunk.Chunk.addEntity(Chunk.java:860) at net.minecraft.world.chunk.storage.AnvilChunkLoader.readChunkFromNBT(AnvilChunkLoader.java:421) at net.minecraft.world.chunk.storage.AnvilChunkLoader.checkedReadChunkFromNBT(AnvilChunkLoader.java:108) at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadChunk(AnvilChunkLoader.java:88) at net.minecraft.world.gen.ChunkProviderServer.safeLoadChunk(ChunkProviderServer.java:179) at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:120) at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:307) at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:79) at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:96) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:442) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) [21:33:48] [Netty Client IO #0/INFO] [FML]: Server protocol version 1 [21:33:48] [Netty IO #1/INFO] [FML]: Client protocol version 1 [21:33:48] [Netty IO #1/INFO] [FML]: Client attempting to join with 5 mods : [email protected],[email protected],[email protected],mymod@Alpha 0.1,[email protected] [21:33:48] [Netty IO #1/INFO] [FML]: Attempting connection with missing mods [] at CLIENT [21:33:48] [Netty Client IO #0/INFO] [FML]: Attempting connection with missing mods [] at SERVER [21:33:48] [server thread/INFO] [FML]: [server thread] Server side modded connection established [21:33:48] [server thread/INFO]: Player78[local:E:53a9d56d] logged in with entity id 454 at (698.6210492663582, 4.0, -55.7486550846268) [21:33:48] [server thread/INFO]: Player78 joined the game [21:33:48] [Client thread/INFO] [FML]: [Client thread] Client side modded connection established [21:33:57] [server thread/INFO]: Saving and pausing game... [21:33:57] [server thread/INFO]: Saving chunks for level 'Test world'/Overworld [21:33:57] [server thread/INFO]: Saving chunks for level 'Test world'/Nether [21:33:57] [server thread/INFO]: Saving chunks for level 'Test world'/The End [21:34:09] [server thread/INFO]: Saving and pausing game... [21:34:10] [server thread/INFO]: Saving chunks for level 'Test world'/Overworld [21:34:10] [server thread/INFO]: Saving chunks for level 'Test world'/Nether [21:34:10] [server thread/INFO]: Saving chunks for level 'Test world'/The End [21:34:11] [Client thread/INFO]: Stopping! [21:34:11] [server thread/INFO]: Stopping server [21:34:11] [server thread/INFO]: Saving players [21:34:11] [server thread/INFO]: Saving worlds [21:34:11] [server thread/INFO]: Saving chunks for level 'Test world'/Overworld [21:34:11] [server thread/INFO]: Saving chunks for level 'Test world'/Nether [21:34:11] [server thread/INFO]: Saving chunks for level 'Test world'/The End Exception in thread "Client Shutdown Thread" java.lang.NullPointerException at net.minecraftforge.common.ForgeChunkManager.saveWorld(ForgeChunkManager.java:819) at net.minecraftforge.common.ForgeInternalHandler.onDimensionSave(ForgeInternalHandler.java:70) at cpw.mods.fml.common.eventhandler.ASMEventHandler_0_ForgeInternalHandler_onDimensionSave_Save.invoke(.dynamic) at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:51) at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:122) at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:876) at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:370) at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:403) at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:255) at net.minecraft.client.Minecraft.stopIntegratedServer(Minecraft.java:2671) at net.minecraft.client.main.Main$2.run(Main.java:102) AL lib: (EE) alc_cleanup: 1 device not closed Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release (I put it as code, because it should be easier to look at, also, the code is going to be the same apart from a few things like the problem you pointed out, and the speed, which was really high)
-
are you sure? cause i don't see how thats the problem, i am following a tutorial in which it works, however i believe its part of the model, due to the fact that before they had set it out in the tutorial, it was already working (as a textureless blob). Also, would you mind telling me what to write instead, because i cant see it. Here is the github of the tutorials i am using "https://github.com/NealeGaming/nealecraft/tree/master/net/nealecraft/mod" (thanks for being so useful, if you dont mind, then i might give you another problem to fix, which no-one could explain to me before, or fix all the problems with)
-
There are no errors in eclipse, but i hadn't thought of checking the console (good idea knokko) here is everything it says, and there do seem to be a lot of errors. Here you go, everything from my last testing session. [17:33:29] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker [17:33:29] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker [17:33:29] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker [17:33:30] [main/INFO] [FML]: Forge Mod Loader version 7.2.156.1060 for Minecraft 1.7.2 loading [17:33:30] [main/INFO] [FML]: Java is Java HotSpot 64-Bit Server VM, version 1.8.0_05, running on Windows 7:amd64:6.1, installed at C:\Users\ginny's laptop\Desktop\Forge stuff\eclipse for forge\jre [17:33:30] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation [17:33:30] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [17:33:30] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker [17:33:30] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [17:33:30] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker [17:33:30] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [17:33:30] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work! [17:33:31] [main/ERROR] [FML]: The minecraft jar file:/C:/Users/ginny's%20laptop/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.2-10.12.1.1060/forgeSrc-1.7.2-10.12.1.1060.jar!/net/minecraft/client/ClientBrandRetriever.class appears to be corrupt! There has been CRITICAL TAMPERING WITH MINECRAFT, it is highly unlikely minecraft will work! STOP NOW, get a clean copy and try again! [17:33:31] [main/ERROR] [FML]: FML has been ordered to ignore the invalid or missing minecraft certificate. This is very likely to cause a problem! [17:33:31] [main/ERROR] [FML]: Technical information: ClientBrandRetriever was at jar:file:/C:/Users/ginny's%20laptop/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.2-10.12.1.1060/forgeSrc-1.7.2-10.12.1.1060.jar!/net/minecraft/client/ClientBrandRetriever.class, there were 0 certificates for it [17:33:31] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing [17:33:31] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper [17:33:31] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker [17:33:32] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main} [17:33:34] [main/INFO]: Setting user: Player825 [17:33:36] [Client thread/INFO]: LWJGL Version: 2.9.0 [17:33:36] [Client thread/ERROR]: Couldn't set icon javax.imageio.IIOException: Can't read input file! at javax.imageio.ImageIO.read(Unknown Source) ~[?:1.8.0_05] at net.minecraft.client.Minecraft.readImage(Minecraft.java:639) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.startGame(Minecraft.java:468) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:890) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:112) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_05] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_05] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_05] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_05] at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?] [17:33:37] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization [17:33:37] [Client thread/INFO] [FML]: MinecraftForge v10.12.1.1060 Initialized [17:33:37] [Client thread/INFO] [FML]: Replaced 141 ore recipies [17:33:37] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization [17:33:38] [Client thread/INFO] [FML]: Searching C:\Users\ginny's laptop\Desktop\Forge stuff\My mod\eclipse\mods for mods [17:33:38] [Client thread/INFO] [examplemod]: Mod examplemod is missing the required element 'name'. Substituting examplemod [17:33:39] [Client thread/ERROR] [FML]: FML has detected a mod that is using a package name based on 'net.minecraft.src' : net.minecraft.src.FMLRenderAccessLibrary. This is generally a severe programming error. There should be no mod code in the minecraft namespace. MOVE YOUR MOD! If you're in eclipse, select your source code and 'refactor' it into a new package. Go on. DO IT NOW! [17:33:43] [Client thread/INFO] [FML]: Forge Mod Loader has identified 5 mods to load [17:33:43] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:examplemod, FMLFileResourcePack:Satangelic [17:33:44] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0 Starting up SoundSystem... Initializing LWJGL OpenAL (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) [17:33:46] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas OpenAL initialized. [17:33:46] [sound Library Loader/INFO]: Sound engine started [17:33:46] [Client thread/INFO]: Created: 256x256 textures/items-atlas DIRT BLOCK >> tile.dirt [17:33:46] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 5 mods [17:33:46] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:examplemod, FMLFileResourcePack:Satangelic [17:33:47] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas [17:33:47] [Client thread/INFO]: Created: 256x256 textures/items-atlas SoundSystem shutting down... Author: Paul Lamb, www.paulscode.com Starting up SoundSystem... Initializing LWJGL OpenAL (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) OpenAL initialized. [17:33:49] [sound Library Loader/INFO]: Sound engine started [17:33:49] [MCO Availability Checker #1/ERROR]: Couldn't connect to Realms [17:33:53] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:music.menu [17:34:04] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:gui.button.press [17:34:05] [server thread/INFO]: Starting integrated minecraft server version 1.7.2 [17:34:05] [server thread/INFO]: Generating keypair [17:34:06] [server thread/INFO] [FML]: Injecting existing block and item data into this server instance [17:34:07] [server thread/INFO] [FML]: Loading dimension 0 (Test world) (net.minecraft.server.integrated.IntegratedServer@473d19ed) [17:34:07] [server thread/INFO] [FML]: Loading dimension 1 (Test world) (net.minecraft.server.integrated.IntegratedServer@473d19ed) [17:34:07] [server thread/INFO] [FML]: Loading dimension -1 (Test world) (net.minecraft.server.integrated.IntegratedServer@473d19ed) [17:34:07] [server thread/INFO]: Preparing start region for level 0 java.lang.Exception: Stack trace at java.lang.Thread.dumpStack(Unknown Source) at net.minecraft.world.chunk.Chunk.addEntity(Chunk.java:860) at net.minecraft.world.chunk.storage.AnvilChunkLoader.readChunkFromNBT(AnvilChunkLoader.java:421) at net.minecraft.world.chunk.storage.AnvilChunkLoader.checkedReadChunkFromNBT(AnvilChunkLoader.java:108) at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadChunk(AnvilChunkLoader.java:88) at net.minecraft.world.gen.ChunkProviderServer.safeLoadChunk(ChunkProviderServer.java:179) at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:120) at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:307) at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:79) at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:96) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:442) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) [17:34:08] [server thread/ERROR]: Wrong location! EntityPainting['Painting'/170, l='Test world', x=0.50, y=0.50, z=-0.06] [17:34:08] [server thread/ERROR]: Wrong location! EntityPainting['Painting'/343, l='Test world', x=0.50, y=0.50, z=-0.06] java.lang.Exception: Stack trace at java.lang.Thread.dumpStack(Unknown Source) at net.minecraft.world.chunk.Chunk.addEntity(Chunk.java:860) at net.minecraft.world.chunk.storage.AnvilChunkLoader.readChunkFromNBT(AnvilChunkLoader.java:421) at net.minecraft.world.chunk.storage.AnvilChunkLoader.checkedReadChunkFromNBT(AnvilChunkLoader.java:108) at net.minecraft.world.chunk.storage.AnvilChunkLoader.loadChunk(AnvilChunkLoader.java:88) at net.minecraft.world.gen.ChunkProviderServer.safeLoadChunk(ChunkProviderServer.java:179) at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:120) at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:307) at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:79) at net.minecraft.server.integrated.IntegratedServer.startServer(IntegratedServer.java:96) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:442) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) [17:34:08] [server thread/INFO]: Preparing spawn area: 59% [17:34:09] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:gui.button.press [17:34:09] [Netty Client IO #0/INFO] [FML]: Server protocol version 1 [17:34:09] [Netty IO #1/INFO] [FML]: Client protocol version 1 [17:34:09] [Netty IO #1/INFO] [FML]: Client attempting to join with 5 mods : [email protected],[email protected],[email protected],mymod@Alpha 0.1,[email protected] [17:34:09] [Netty IO #1/INFO] [FML]: Attempting connection with missing mods [] at CLIENT [17:34:09] [Netty Client IO #0/INFO] [FML]: Attempting connection with missing mods [] at SERVER [17:34:09] [server thread/INFO] [FML]: [server thread] Server side modded connection established [17:34:09] [server thread/INFO]: Player825[local:E:ee9cc9b3] logged in with entity id 556 at (695.5413154198842, 5.0381812904914085, -47.490206708705394) [17:34:09] [server thread/INFO]: Player825 joined the game [17:34:10] [Client thread/INFO] [FML]: [Client thread] Client side modded connection established [17:34:11] [server thread/INFO]: Saving and pausing game... [17:34:11] [server thread/INFO]: Saving chunks for level 'Test world'/Overworld [17:34:11] [server thread/INFO]: Saving chunks for level 'Test world'/Nether [17:34:11] [server thread/INFO]: Saving chunks for level 'Test world'/The End java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more [17:34:14] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:mob.pig.say [17:34:14] [server thread/WARN]: Skipping Entity with id 3 [17:34:23] [server thread/INFO]: Saving and pausing game... [17:34:23] [server thread/INFO]: Saving chunks for level 'Test world'/Overworld [17:34:23] [server thread/INFO]: Saving chunks for level 'Test world'/Nether [17:34:23] [server thread/INFO]: Saving chunks for level 'Test world'/The End [17:34:23] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:gui.button.press [17:34:24] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:gui.button.press [17:34:27] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:gui.button.press [17:34:28] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:gui.button.press [17:34:32] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:step.grass java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more [17:34:32] [server thread/WARN]: Skipping Entity with id 3 [17:34:33] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:music.game.creative [17:34:33] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:step.grass [17:34:33] [server thread/WARN]: Skipping Entity with id 3 java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more [17:34:33] [server thread/WARN]: Skipping Entity with id 3 [17:34:33] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:step.grass java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more [17:34:33] [server thread/WARN]: Skipping Entity with id 3 [17:34:33] [server thread/WARN]: Skipping Entity with id 3 java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more [17:34:34] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:step.grass java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more [17:34:34] [server thread/WARN]: Skipping Entity with id 3 [17:34:34] [server thread/WARN]: Skipping Entity with id 3 java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more [17:34:34] [server thread/WARN]: Skipping Entity with id 3 [17:34:34] [server thread/INFO]: Saving and pausing game... [17:34:34] [server thread/INFO]: Saving chunks for level 'Test world'/Overworld [17:34:34] [server thread/INFO]: Saving chunks for level 'Test world'/Nether [17:34:34] [server thread/INFO]: Saving chunks for level 'Test world'/The End [17:34:35] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:gui.button.press [17:34:36] [server thread/WARN]: Skipping Entity with id 3 java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more [17:34:36] [server thread/WARN]: Skipping Entity with id 3 [17:34:36] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:step.grass java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more [17:34:36] [server thread/WARN]: Skipping Entity with id 3 [17:34:37] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:step.grass [17:34:37] [server thread/WARN]: Skipping Entity with id 3 java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more [17:34:37] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:step.grass [17:34:37] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:step.grass java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more [17:34:39] [server thread/WARN]: Skipping Entity with id 3 java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:221) at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173) at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79) at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:144) at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:418) at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:588) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74) at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:232) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:716) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:604) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:742) Caused by: java.lang.IllegalArgumentException: Attribute is already registered! at net.minecraft.entity.ai.attributes.ServersideAttributeMap.registerAttribute(ServersideAttributeMap.java:41) at net.mymod.mod.Entity.EntityVampire.applyEntityAttributes(EntityVampire.java:109) at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:168) at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78) at net.minecraft.entity.EntityCreature.<init>(EntityCreature.java:38) at net.minecraft.entity.monster.EntityMob.<init>(EntityMob.java:21) at net.mymod.mod.Entity.EntityVampire.<init>(EntityVampire.java:27) ... 19 more [17:34:39] [server thread/WARN]: Skipping Entity with id 3 [17:34:40] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:step.grass [17:34:40] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:step.grass [17:34:40] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:step.grass [17:34:41] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:step.grass [17:34:42] [server thread/INFO]: Saving and pausing game... [17:34:42] [server thread/INFO]: Saving chunks for level 'Test world'/Overworld [17:34:42] [server thread/INFO]: Saving chunks for level 'Test world'/Nether [17:34:42] [server thread/INFO]: Saving chunks for level 'Test world'/The End [17:34:44] [Client thread/WARN]: Unable to play unknown soundEvent: minecraft:gui.button.press [17:34:44] [server thread/INFO]: Stopping server [17:34:44] [server thread/INFO]: Saving players [17:34:44] [server thread/INFO]: Saving worlds [17:34:44] [server thread/INFO]: Saving chunks for level 'Test world'/Overworld [17:34:44] [server thread/INFO]: Saving chunks for level 'Test world'/Nether [17:34:44] [server thread/INFO]: Saving chunks for level 'Test world'/The End [17:34:44] [server thread/INFO] [FML]: Unloading dimension 0 [17:34:44] [server thread/INFO] [FML]: Unloading dimension -1 [17:34:44] [server thread/INFO] [FML]: Unloading dimension 1 [17:34:46] [Client thread/INFO]: Stopping! SoundSystem shutting down... Author: Paul Lamb, www.paulscode.com Java HotSpot 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
-
I am having trouble with creating a custom mob, i am having the problem of nothing happening when i use the spawn egg. I think it is something to do with the model or the model class as i haven't used techne before. I am using a basic biped model. here is all the relevant code: Model Class package net.mymod.Model; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; public class ModelVampire extends ModelBase { //fields ModelRenderer head; ModelRenderer body; ModelRenderer lleg; ModelRenderer rleg; ModelRenderer rarm; ModelRenderer larm; public ModelVampire() { textureWidth = 64; textureHeight = 64; head = new ModelRenderer(this, 0, 0); head.addBox(-3F, -6F, -3F, 9, 10, 10); head.setRotationPoint(-1.5F, -10F, -2F); head.setTextureSize(64, 32); head.mirror = true; setRotation(head, 0F, 0F, 0F); body = new ModelRenderer(this, 0, 20); body.addBox(-5F, 0F, -4F, 10, 15, ; body.setRotationPoint(0F, -6F, 0F); body.setTextureSize(64, 32); body.mirror = true; setRotation(body, 0F, 0F, 0F); lleg = new ModelRenderer(this, 16, 43); lleg.addBox(-2F, 0F, -2F, 4, 15, 4); lleg.setRotationPoint(3F, 9F, 0F); lleg.setTextureSize(64, 32); lleg.mirror = true; setRotation(lleg, 0F, 0F, 0F); rleg = new ModelRenderer(this, 0, 43); rleg.addBox(-2F, 0F, -2F, 4, 15, 4); rleg.setRotationPoint(-3F, 9F, 0F); rleg.setTextureSize(64, 32); rleg.mirror = true; setRotation(rleg, 0F, 0F, 0F); rarm = new ModelRenderer(this, 38, 24); rarm.addBox(0F, -1F, -2F, 5, 20, 4); rarm.setRotationPoint(5F, -5F, 0F); rarm.setTextureSize(64, 32); rarm.mirror = true; setRotation(rarm, 0F, 0F, 0F); larm = new ModelRenderer(this, 38, 0); larm.addBox(-2F, -1F, -2F, 5, 20, 4); larm.setRotationPoint(-8F, -5F, 0F); larm.setTextureSize(64, 32); larm.mirror = true; setRotation(larm, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); head.render(f5); body.render(f5); lleg.render(f5); rleg.render(f5); rarm.render(f5); larm.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); this.head.rotateAngleY = f3 / (180F / (float)Math.PI); this.head.rotateAngleX = f4 / (180F / (float)Math.PI); //this.lhornang.rotateAngleY = f3 / (180F / (float)Math.PI); //this.lhornang.rotateAngleX = f4 / (180F / (float)Math.PI); //this.rhorn.rotateAngleY = f3 / (180F / (float)Math.PI); //this.rhorn.rotateAngleX = f4 / (180F / (float)Math.PI); this.rarm.rotateAngleX = MathHelper.cos(f * 0.6662F + (float)Math.PI) * 2.0F * f1 * 0.5F; this.larm.rotateAngleX = MathHelper.cos(f * 0.6662F) * 2.0F * f1 * 0.5F; this.rarm.rotateAngleZ = 0.0F; this.larm.rotateAngleZ = 0.0F; this.rleg.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1; this.lleg.rotateAngleX = MathHelper.cos(f * 0.6662F + (float)Math.PI) * 1.4F * f1; this.rleg.rotateAngleY = 0.0F; this.lleg.rotateAngleY = 0.0F; } } Client proxy class package net.mymod.mod.proxy; import net.mymod.Model.ModelVampire; import net.mymod.mod.Entity.EntityVampire; import net.mymod.mod.Renderer.RenderVampire; import cpw.mods.fml.client.registry.RenderingRegistry; public class ClientProxy extends CommonProxy { public void registerRenderThings() { //Entities RenderingRegistry.registerEntityRenderingHandler(EntityVampire.class, new RenderVampire(new ModelVampire(), 0.3F)); } public void registerTileEntitySpecialRenderer() { } } Common Proxy package net.mymod.mod.proxy; public class CommonProxy { public void registerRenderThings() { } public void registerTileEntitySpecialRenderer() { } } Render Vampire package net.mymod.mod.Renderer; import net.minecraft.client.model.ModelBase; import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.util.ResourceLocation; import net.mymod.Model.ModelVampire; import net.mymod.mod.mymod; import net.mymod.mod.Entity.EntityVampire; public class RenderVampire extends RenderLiving { private static final ResourceLocation texture = new ResourceLocation(mymod.modid + ":" + "textures/model/Vampire.png"); protected ModelVampire modelEntity; public RenderVampire(ModelBase par1ModelBase, float par2) { super(par1ModelBase, par2); modelEntity = ((ModelVampire) mainModel); } public void renderVampire(EntityVampire entity, double x, double y, double z, float u, float v) { super.doRender(entity, x, y, z, u, v); } public void doRenderLiving(EntityLiving entityLiving, double x, double y, double z, float u, float v) { renderVampire((EntityVampire)entityLiving, x, y, z, u, v); } public void doRender(Entity entity, double x, double y, double z, float u, float v) { renderVampire((EntityVampire)entity, x, y, z, u, v); } @Override protected ResourceLocation getEntityTexture(Entity var1) { return texture; } } Entity Vampire package net.mymod.mod.Entity; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIAttackOnCollide; import net.minecraft.entity.ai.EntityAIHurtByTarget; import net.minecraft.entity.ai.EntityAILookIdle; import net.minecraft.entity.ai.EntityAIMoveThroughVillage; import net.minecraft.entity.ai.EntityAINearestAttackableTarget; import net.minecraft.entity.ai.EntityAISwimming; import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.common.ForgeModContainer; import net.mymod.mod.mymod; public class EntityVampire extends EntityMob { public EntityVampire(World world) { super(world); this.setTextureName(mymod.modid + ":Vampire"); this.tasks.addTask(0, new EntityAISwimming(this)); this.tasks.addTask(4, new EntityAIAttackOnCollide(this, EntityVillager.class, 1.0D, true)); this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false)); this.tasks.addTask(6, new EntityAIMoveThroughVillage(this, 1.0D, false)); this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityVillager.class, 0, true)); } private void setTextureName(String string) { // TODO Auto-generated method stub } protected void addRandomArmor() { super.addRandomArmor(); this.setCurrentItemOrArmor(0, new ItemStack(Items.iron_sword)); this.setCurrentItemOrArmor(1, new ItemStack(Items.leather_leggings)); this.setCurrentItemOrArmor(1, new ItemStack(Items.leather_boots)); this.setCurrentItemOrArmor(1, new ItemStack(Items.leather_helmet)); this.setCurrentItemOrArmor(1, new ItemStack(Items.leather_chestplate)); } protected Item getDropItem() { return Items.gold_nugget; } protected void dropRareDrop(int par1) { this.entityDropItem(new ItemStack(Items.iron_sword, 1, 1), 0.0F); } protected String getLivingSound() { return "mymod.vampire-living"; } /** * Returns the sound this mob makes when it is hurt. */ protected String getHurtSound() { return "mymod.vampire-hurt"; } /** * Returns the sound this mob makes on death. */ protected String getDeathSound() { return "mymod.vampire-death"; } protected void func_145780_a(int p_145780_1_, int p_145780_2_, int p_145780_3_, Block p_145780_4_) { this.playSound("mob.villager.step", 0.15F, 1.0F); } /* protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(40.0D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.23000000417232513D); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); } */ @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getAttributeMap().registerAttribute(SharedMonsterAttributes.attackDamage); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(5.0D); this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(100.0D); this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(0.0D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(20.0D); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); } protected boolean isAIEnabled() { return true; } } Entity Handler package net.mymod.Handler; import java.util.Random; import net.minecraft.entity.EntityList; import net.minecraft.entity.EnumCreatureType; import net.minecraft.world.biome.BiomeGenBase; import net.mymod.mod.mymod; import cpw.mods.fml.common.registry.EntityRegistry; public class EntityHandler { public static void registerMonsters(Class entityClass, String name) { int entityId = EntityRegistry.findGlobalUniqueEntityId(); long x = name.hashCode(); Random random = new Random(x); int mainColor = random.nextInt() * 16777215; int subColor = random.nextInt() * 16777215; EntityRegistry.registerGlobalEntityID(entityClass, name, entityId); EntityRegistry.addSpawn(entityClass, 50, 2, 4, EnumCreatureType.monster, BiomeGenBase.beach, BiomeGenBase.desert, BiomeGenBase.forest); EntityRegistry.registerModEntity(entityClass, name, entityId, mymod.instance, 64, 1, true); EntityList.entityEggs.put(Integer.valueOf(entityId), new EntityList.EntityEggInfo(entityId, mainColor, subColor)); } } Main modding class (there's not much in there to do with it) EntityHandler.registerMonsters(EntityVampire.class, "Vampire"); If anyone could help that would be great, i am really stuck on this. thanks
-
Ive been looking at some other people saying how to create a custom set of stairs, and all they say is to extend BlockStairs instead of extending block, however when i did, it creates an error saying"The constructor BlockStairs(Material) is undefined" please can somebody who has done this show me, as i cannot find a good tutorial for it. here is the code (for some reason i cant get the code function on the forums to work) package net.mymod.mod.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockStairs; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.mymod.mod.mymod; public class AltarStairs extends BlockStairs { public AltarStairs(Material material) { super(material); this.setHardness(3.0f); this.setResistance(20.0f); this.setStepSound(soundTypeStone); this.setCreativeTab(mymod.SatangelicaTab); } @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { this.blockIcon = iconRegister.registerIcon(mymod.modid + ":" + this.getUnlocalizedName().substring(5)); } }
-
Recipes: (Custom item)(Custom item)(Custom item) (fuel)(iron ingot)(diamond)(iron ingot) (output(custom item 2) (Custom item)(Custom item)(Custom item) as for the needing another class, i dont believe i do, due to the fact that it is working at the moment aside from the visual parts
-
i changed the adding slots part, however i am a little confused about needing multiple slot classes, can you please explain a little bit. Also, i still have the problem with the gui image, and how to actually make recipes, if you can tell me how to do that, i would greatly appreciate it.
-
The slots are fine (apart from 2 of them being slightly out of place), however i am not sure if i have done it right, here is what i have for the setting the slots this.addSlotToContainer(new Slot(teAngellicInfuser, 0, 49, 35)); this.addSlotToContainer(new Slot(teAngellicInfuser, 1, 49, 17)); this.addSlotToContainer(new Slot(teAngellicInfuser, 2, 7, 40)); this.addSlotToContainer(new Slot(teAngellicInfuser, 4, 49, 53)); this.addSlotToContainer(new Slot(teAngellicInfuser, 5, 67, 17)); this.addSlotToContainer(new Slot(teAngellicInfuser, 6, 67, 40)); this.addSlotToContainer(new Slot(teAngellicInfuser, 7, 67, 53)); this.addSlotToContainer(new Slot(teAngellicInfuser, 8, 85, 17)); this.addSlotToContainer(new Slot(teAngellicInfuser, 9, 85, 40)); this.addSlotToContainer(new Slot(teAngellicInfuser, 10, 85, 53)); this.addSlotToContainer(new SlotAngellicInfuser(invPlayer.player, teAngellicInfuser, 3, 143, 34));
-
just found this when trying to fix it: - I do have a fuel, it is one of my custom items, and it works (it is being stored, and before i increased how many slots it had, it was smelting off of stored fuel) - I cannot get the power bar or progress bar to work, which is why my fuel gauge doesnt work. - I still cant make recipes - here are the photos http://i1273.photobucket.com/albums/y415/edy22174/Minecraft%20Modding/notworking_zpse280e6ac.png[/img] http://i1273.photobucket.com/albums/y415/edy22174/Minecraft%20Modding/AngelicInfuserGUI_zpse8a8ffdc.png[/img]
-
ok thanks, i will try scratch's tutorial, and make it so that my pictures can be seen, but i dont understand the glitchy bit of texture in the middle of the gui (cant really explain it, only show it with pictures).
-
~bump~
-
I am creating a custom furnace, however i have three problems with it at the moment: 1. i cannot create recipes for the furnace, due to the fact that it is a 3 * 3 grid in which everything is being built (for this one i just need to know how to make the recipes, but i have been unable to find an help on this matter on the internet) 2. whenever i open the gui, there is a line in the middle that is not in the actual image file (http://s1273.photobucket.com/user/edy22174/library/?view=recent&page=1) 3. I have set my custom furnace to store fuel, however i cannot see where the fuel is being stored Here is all my code GUI Handler package net.mymod.Handler; import cpw.mods.fml.common.network.IGuiHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.mymod.mod.mymod; import net.mymod.mod.TileEntity.TileEntityAngellicInfuser; import net.mymod.mod.container.ContainerAngellicInfuser; import net.mymod.mod.gui.guiAngelicInfuser; public class GUIHandler implements IGuiHandler { @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { TileEntity entity = world.getTileEntity(x, y, z); if(entity != null) { switch(ID) { case mymod.guiIdAngelicInfuser: if (entity instanceof TileEntityAngellicInfuser) { return new ContainerAngellicInfuser(player.inventory, (TileEntityAngellicInfuser) entity); } } } return null; } @Override public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { TileEntity entity = world.getTileEntity(x, y, z); if(entity != null) { switch(ID) { case mymod.guiIdAngelicInfuser: if (entity instanceof TileEntityAngellicInfuser) { return new guiAngelicInfuser(player.inventory, (TileEntityAngellicInfuser) entity); } } } return null; } } Main Modding Class package net.mymod.mod; 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.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.enchantment.Enchantment; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.EnumHelper; import net.mymod.Handler.CraftingHandler; import net.mymod.Handler.GUIHandler; import net.mymod.mod.TileEntity.TileEntityAngellicInfuser; import net.mymod.mod.WorldGen.mymodWorldGen; import net.mymod.mod.armor.AngelArmor; import net.mymod.mod.armor.DemonArmor; import net.mymod.mod.blocks.AltarCore; import net.mymod.mod.blocks.AngellicInfuser; import net.mymod.mod.blocks.AngellicOre; import net.mymod.mod.blocks.DemonicCorrupter; import net.mymod.mod.blocks.DemonicOre; import net.mymod.mod.items.AngelBlade; import net.mymod.mod.items.AngelicIngot; import net.mymod.mod.items.AngellicAxe; import net.mymod.mod.items.AngellicHoe; import net.mymod.mod.items.AngellicPickaxe; import net.mymod.mod.items.AngellicSpade; import net.mymod.mod.items.ChaosDust; import net.mymod.mod.items.DemonicAxe; import net.mymod.mod.items.DemonicHoe; import net.mymod.mod.items.DemonicMace; import net.mymod.mod.items.DemonicPickaxe; import net.mymod.mod.items.DemonicSpade; import net.mymod.mod.items.InfusedStick; import net.mymod.mod.items.PowderedOrder; @Mod(modid = mymod.modid, version = mymod.version) public class mymod { public static final String modid = "mymod"; public static final String version = "Alpha 0.1"; mymodWorldGen eventWorldGen = new mymodWorldGen(); public static CreativeTabs SatangelicaTab; //tool material public static ToolMaterial AngelMaterial = EnumHelper.addToolMaterial("AngelMaterial", 3, 3000, 10.0f, 10.0f, 39); public static ToolMaterial DemonMaterial = EnumHelper.addToolMaterial("DemonMaterial", 3, 2000, 13.0f, 12.0f, 20); //armor material public static ArmorMaterial AngelArmor = EnumHelper.addArmorMaterial("AngelArmor", 10, new int[] {5, 8, 6, 5}, 40); public static ArmorMaterial DemonArmor = EnumHelper.addArmorMaterial("DemonArmor", 10, new int[] {4, 7, 5, 4}, 27); @Instance(modid) public static mymod instance; //blocks public static Block blockAltarCore; //ores public static Block oreAngellicOre; public static Block oreDemonicOre; //items public static Item itemInfusedStick; //ingots public static Item itemAngelicIngot; //dusts public static Item itemChaosDust; public static Item itemPowderedOrder; //tools public static Item itemAngelBlade; public static Item itemAngellicPickaxe; public static Item itemAngellicAxe; public static Item itemAngellicSpade; public static Item itemAngellicHoe; public static Item itemDemonicMace; public static Item itemDemonicPickaxe; public static Item itemDemonicHoe; public static Item itemDemonicSpade; public static Item itemDemonicAxe; //armor public static int armorAngelHelmId; public static int armorAngelChestplateId; public static int armorAngelLeggingsId; public static int armorAngelBootsId; public static int armorDemonHelmId; public static int armorDemonChestplateId; public static int armorDemonLeggingsId; public static int armorDemonBootsId; //armor (items) public static Item armorAngelHelm; public static Item armorAngelChestplate; public static Item armorAngelLeggings; public static Item armorAngelBoots; public static Item armorDemonHelm; public static Item armorDemonChestplate; public static Item armorDemonLeggings; public static Item armorDemonBoots; //Angellic Infuser public static Block blockAngellicInfuserIdle; public static Block blockAngellicInfuserActive; public static final int guiIdAngelicInfuser = 1; //Demonic Corrupter public static Block blockDemonicCorrupterIdle; public static Block blockDemonicCorrupterActive; public static final int guiIdDemonicCorrupter = 2; //Enchantments public static final Enchantment Absorbtion = new net.mymod.Enchantments.Absorbtion(111, 5); @EventHandler public void PreInit(FMLPreInitializationEvent preEvent){ SatangelicaTab = new CreativeTabs("mymod") { @SideOnly(Side.CLIENT) public Item getTabIconItem() { return Item.getItemFromBlock(mymod.blockAltarCore); } }; //blocks blockAltarCore = new AltarCore(Material.rock).setBlockName("Altar Core"); GameRegistry.registerBlock(blockAltarCore, "Altar Core"); //ores oreAngellicOre = new AngellicOre(Material.rock).setBlockName("Angellic Ore"); GameRegistry.registerBlock(oreAngellicOre, "Angellic Ore"); oreDemonicOre = new DemonicOre(Material.rock).setBlockName("Demonic Ore"); GameRegistry.registerBlock(oreDemonicOre, "Demonic Ore"); //items itemInfusedStick = new InfusedStick().setUnlocalizedName("Infused Stick"); GameRegistry.registerItem(itemInfusedStick, "Infused Stick"); //ingots itemAngelicIngot = new AngelicIngot().setUnlocalizedName("Angelic Ingot"); GameRegistry.registerItem(itemAngelicIngot, "Angelic Ingot"); //dusts itemChaosDust = new ChaosDust().setUnlocalizedName("Chaos Dust"); GameRegistry.registerItem(itemChaosDust, "Chaos Dust"); itemPowderedOrder = new PowderedOrder().setUnlocalizedName("Powdered Order"); GameRegistry.registerItem(itemPowderedOrder, "PowderedOrder"); //tools itemAngelBlade = new AngelBlade(AngelMaterial).setUnlocalizedName("Angel Blade"); GameRegistry.registerItem(itemAngelBlade, "Angel Blade"); itemAngellicPickaxe = new AngellicPickaxe(AngelMaterial).setUnlocalizedName("Angellic Pickaxe"); GameRegistry.registerItem(itemAngellicPickaxe, "Angellic Pickaxe"); itemAngellicAxe = new AngellicAxe(AngelMaterial).setUnlocalizedName("Angellic Axe"); GameRegistry.registerItem(itemAngellicAxe, "Angellic Axe"); itemAngellicSpade = new AngellicSpade(AngelMaterial).setUnlocalizedName("Angellic Spade"); GameRegistry.registerItem(itemAngellicSpade, "Angellic Spade"); itemAngellicHoe = new AngellicHoe(AngelMaterial).setUnlocalizedName("Angellic Hoe"); GameRegistry.registerItem(itemAngellicHoe, "Angellic Hoe "); itemDemonicMace = new DemonicMace(DemonMaterial).setUnlocalizedName("Demonic Mace"); GameRegistry.registerItem(itemDemonicMace, "Demonic Mace"); itemDemonicHoe = new DemonicHoe(DemonMaterial).setUnlocalizedName("Demonic Hoe"); GameRegistry.registerItem(itemDemonicHoe, "Demonic Hoe"); itemDemonicAxe = new DemonicAxe(DemonMaterial).setUnlocalizedName("Demonic Axe"); GameRegistry.registerItem(itemDemonicAxe, "Demonic Axe"); itemDemonicSpade = new DemonicSpade(DemonMaterial).setUnlocalizedName("Demonic Spade"); GameRegistry.registerItem(itemDemonicSpade, "Demonic Spade"); itemDemonicPickaxe = new DemonicPickaxe(DemonMaterial).setUnlocalizedName("Demonic Pickaxe"); GameRegistry.registerItem(itemDemonicPickaxe, "Demonic Pickaxe"); //armor armorAngelHelm = new AngelArmor(AngelArmor, armorAngelHelmId, 0).setUnlocalizedName("Angel Helm"); GameRegistry.registerItem(armorAngelHelm, "Angel Helm"); armorAngelChestplate = new AngelArmor(AngelArmor, armorAngelChestplateId, 1).setUnlocalizedName("Angel Chestplate"); GameRegistry.registerItem(armorAngelChestplate, "Angel Chestplate"); armorAngelLeggings = new AngelArmor(AngelArmor, armorAngelLeggingsId, 2).setUnlocalizedName("Angel Leggings"); GameRegistry.registerItem(armorAngelLeggings, "Angel Leggings"); armorAngelBoots = new AngelArmor(AngelArmor, armorAngelBootsId, 3).setUnlocalizedName("Angel Boots"); GameRegistry.registerItem(armorAngelBoots, "Angel Boots"); armorDemonHelm = new DemonArmor(DemonArmor, armorDemonHelmId, 0).setUnlocalizedName("Demon Helm"); GameRegistry.registerItem(armorDemonHelm, "Demon Helm"); armorDemonChestplate = new DemonArmor(DemonArmor, armorDemonChestplateId, 1).setUnlocalizedName("Demon Chestplate"); GameRegistry.registerItem(armorDemonChestplate, "Demon Chestplate"); armorDemonLeggings = new DemonArmor(DemonArmor, armorDemonLeggingsId, 2).setUnlocalizedName("DemonLeggings"); GameRegistry.registerItem(armorDemonLeggings, "Demon Leggings"); armorDemonBoots = new DemonArmor(DemonArmor, armorDemonBootsId, 3).setUnlocalizedName("Demon Boots"); GameRegistry.registerItem(armorDemonBoots, "Demon Boots"); //Angelic Infuser blockAngellicInfuserIdle = new AngellicInfuser(false).setBlockName("Angellic Infuser Idle").setCreativeTab(mymod.SatangelicaTab).setHardness(3.5F); GameRegistry.registerBlock(blockAngellicInfuserIdle, "Angellic Infuser Idle"); blockAngellicInfuserActive = new AngellicInfuser(true).setBlockName("Angellic Infuser Active").setHardness(3.5F); GameRegistry.registerBlock(blockAngellicInfuserActive, "Angellic Infuser Active"); //Demonic Corrupter blockDemonicCorrupterIdle = new DemonicCorrupter(false).setBlockName("Demonic Corrupter Idle").setCreativeTab(mymod.SatangelicaTab).setHardness(3.5F); GameRegistry.registerBlock(blockDemonicCorrupterIdle, "Demonic Corrupter Idle"); blockDemonicCorrupterActive = new DemonicCorrupter(true).setBlockName("Demonic Corrupter Active").setHardness(3.5F); GameRegistry.registerBlock(blockDemonicCorrupterActive, "Demonic Corrupter Active"); //spawn }; @EventHandler public void Init(FMLInitializationEvent event){ //Gui Handler FMLCommonHandler.instance().bus().register(new CraftingHandler()); NetworkRegistry.INSTANCE.registerGuiHandler(this, new GUIHandler()); GameRegistry.registerTileEntity(TileEntityAngellicInfuser.class, "AngellicInfuser"); //Recipes GameRegistry.addRecipe(new ItemStack(blockAltarCore), new Object[]{"SIS", "SIS", "SIS", 'S', Blocks.stone, 'I', mymod.itemInfusedStick}); GameRegistry.addRecipe(new ItemStack(itemInfusedStick), new Object []{ "CSO", "OSC", "CSO", 'C', mymod.itemChaosDust, 'S', Items.stick, 'O', mymod.itemPowderedOrder}); GameRegistry.addSmelting(oreAngellicOre, new ItemStack(itemPowderedOrder, 3), 5); GameRegistry.addSmelting(oreDemonicOre, new ItemStack(itemChaosDust, 3), 5); GameRegistry.registerTileEntity(TileEntityAngellicInfuser.class, "TEAngellicInfuser"); } @EventHandler public void PostInit(FMLPostInitializationEvent postEvent){ } } Block Class package net.mymod.mod.blocks; import java.util.Random; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.mymod.mod.mymod; import net.mymod.mod.TileEntity.TileEntityAngellicInfuser; public class AngellicInfuser extends BlockContainer { private Random rand; private final boolean isActive; private static boolean keepInventory = true; @SideOnly(Side.CLIENT) private IIcon iconFront; public AngellicInfuser(boolean blockState) { super(Material.iron); rand = new Random(); isActive = blockState; } @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { this.blockIcon = iconRegister.registerIcon(mymod.modid + ":" + "Angellic Infuser Side"); this.iconFront = iconRegister.registerIcon(mymod.modid + ":" + (this.isActive ? "Angellic Infuser Front Active" : "Angellic Infuser Front Idle")); } @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); } public void onBlockAdded(World world, int x, int y, int z) { super.onBlockAdded(world, x, y, z); this.setDefaultDirection(world, x, y, z); } private void setDefaultDirection(World world, int x, int y, int z) { if(!world.isRemote){ Block block1 = world.getBlock(x, y, z - 1); Block block2 = world.getBlock(x, y, z + 1); Block block3 = world.getBlock(x - 1, y, z); Block block4 = world.getBlock(x + 1, y, z); byte b0 = 3; if(block1.func_149730_j() && !block2.func_149730_j()){ b0 = 3; } if(block2.func_149730_j() && !block1.func_149730_j()){ b0 = 2; } if(block3.func_149730_j() && !block4.func_149730_j()){ b0 = 5; } if(block4.func_149730_j() && !block3.func_149730_j()){ b0 = 4; } world.setBlockMetadataWithNotify(x, y, x, b0, 2); } } public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entityPlayer, ItemStack itemstack) { int i = MathHelper.floor_double((double)(entityPlayer.rotationYaw * 4.0F / 360F) + 0.5D) & 3; if (i == 0) { world.setBlockMetadataWithNotify(x, y, z, 2, 2); } if (i == 1) { world.setBlockMetadataWithNotify(x, y, z, 5, 2); } if (i == 2) { world.setBlockMetadataWithNotify(x, y, z, 3, 2); } if (i == 3) { world.setBlockMetadataWithNotify(x, y, z, 4, 2); } if(itemstack.hasDisplayName()) { } } public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { if (world.isRemote) { return true; }else if (!player.isSneaking()) { TileEntityAngellicInfuser entity = (TileEntityAngellicInfuser) world.getTileEntity(x, y, z); if (entity != null) { FMLNetworkHandler.openGui(player, mymod.instance, mymod.guiIdAngelicInfuser, world, x, y, z); } return true; }else{ return false; } } @Override public TileEntity createNewTileEntity(World var1, int var2) { return new TileEntityAngellicInfuser(); } public static void updateBlockState(boolean isMashing, World world, int xCoord, int yCoord, int zCoord) { int i = world.getBlockMetadata(xCoord, yCoord, zCoord); TileEntity entity = world.getTileEntity(xCoord, yCoord, zCoord); keepInventory = true; if (isMashing) { world.setBlock(xCoord, yCoord, zCoord, mymod.blockAngellicInfuserActive); }else{ world.setBlock(xCoord, yCoord, zCoord, mymod.blockAngellicInfuserIdle); } keepInventory = false; world.setBlockMetadataWithNotify(xCoord, yCoord, zCoord, i, 2); if (entity != null) { entity.validate(); world.setTileEntity(xCoord, yCoord, zCoord, entity); } } } Container Class package net.mymod.mod.container; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.tileentity.TileEntityFurnace; import net.mymod.mod.slot.SlotAngellicInfuser; import net.mymod.mod.TileEntity.TileEntityAngellicInfuser; public class ContainerAngellicInfuser extends Container { private TileEntityAngellicInfuser infuser; private int dualCookTime; private int dualPower; private int lastItemBurnTime; public ContainerAngellicInfuser(InventoryPlayer invPlayer, TileEntityAngellicInfuser teAngellicInfuser) { dualCookTime = 0; dualPower = 0; lastItemBurnTime = 0; infuser = teAngellicInfuser; this.addSlotToContainer(new Slot(teAngellicInfuser, 0, 49, 35)); this.addSlotToContainer(new Slot(teAngellicInfuser, 1, 49, 17)); this.addSlotToContainer(new Slot(teAngellicInfuser, 2, 7, 40)); this.addSlotToContainer(new Slot(teAngellicInfuser, 4, 49, 53)); this.addSlotToContainer(new Slot(teAngellicInfuser, 5, 67, 17)); this.addSlotToContainer(new Slot(teAngellicInfuser, 6, 67, 40)); this.addSlotToContainer(new Slot(teAngellicInfuser, 7, 67, 53)); this.addSlotToContainer(new Slot(teAngellicInfuser, 8, 85, 17)); this.addSlotToContainer(new Slot(teAngellicInfuser, 9, 85, 40)); this.addSlotToContainer(new Slot(teAngellicInfuser, 10, 85, 53)); this.addSlotToContainer(new SlotAngellicInfuser(invPlayer.player, teAngellicInfuser, 3, 143, 34)); //Inventory for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) { this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); } } //ActionBar for(int i = 0; i < 9; i++) { this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); } } public void addCraftingToCrafters (ICrafting crafting) { super.addCraftingToCrafters(crafting); crafting.sendProgressBarUpdate(this, 0, this.infuser.dualCookTime); crafting.sendProgressBarUpdate(this, 1, this.infuser.dualPower); } public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2) { ItemStack itemstack = null; Slot slot = (Slot)this.inventorySlots.get(par2); if (slot != null && slot.getHasStack()) { ItemStack itemstack1 = slot.getStack(); itemstack = itemstack1.copy(); if (par2 == 2) { if (!this.mergeItemStack(itemstack1, 3, 39, true)) { return null; } slot.onSlotChange(itemstack1, itemstack); } else if (par2 != 1 && par2 != 0) { if (FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null) { if (!this.mergeItemStack(itemstack1, 0, 1, false)) { return null; } } else if (TileEntityFurnace.isItemFuel(itemstack1)) { if (!this.mergeItemStack(itemstack1, 1, 2, false)) { return null; } } else if (par2 >= 3 && par2 < 30) { if (!this.mergeItemStack(itemstack1, 30, 39, false)) { return null; } } else if (par2 >= 30 && par2 < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) { return null; } } else if (!this.mergeItemStack(itemstack1, 3, 39, false)) { return null; } if (itemstack1.stackSize == 0) { slot.putStack((ItemStack)null); } else { slot.onSlotChanged(); } if (itemstack1.stackSize == itemstack.stackSize) { return null; } slot.onPickupFromSlot(par1EntityPlayer, itemstack1); } return itemstack; } @Override public boolean canInteractWith(EntityPlayer player) { return infuser.isUseableByPlayer(player); } } GUI Class package net.mymod.mod.gui; import org.lwjgl.opengl.GL11; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.ResourceLocation; import net.mymod.mod.mymod; import net.mymod.mod.container.ContainerAngellicInfuser; import net.mymod.mod.TileEntity.TileEntityAngellicInfuser; public class guiAngelicInfuser extends GuiContainer { public ResourceLocation texture = new ResourceLocation(mymod.modid + ":" + "/textures/gui/Angelic Infuser GUI.png"); public TileEntityAngellicInfuser AngellicInfuser; public guiAngelicInfuser(InventoryPlayer invPlayer, TileEntityAngellicInfuser teAngellicInfuser) { super(new ContainerAngellicInfuser(invPlayer, teAngellicInfuser)); AngellicInfuser = teAngellicInfuser; this.xSize = 176; this.ySize = 166; } protected void drawGuiContainerForegroundLayer(int i, int j) { String name = this.AngellicInfuser.hasCustomInventoryName() ? this.AngellicInfuser.getInventoryName() : I18n.format(this.AngellicInfuser.getInventoryName()); this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.ContainerAngellicInfuser"), 8, this.ySize - 96 + 5, 4210752); } @Override protected void drawGuiContainerBackgroundLayer(float f, int i, int j) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); if (AngellicInfuser.hasPower()) { int i1 = AngellicInfuser.getPowerRemainingScaled(45); drawTexturedModalRect(guiLeft + 8, guiTop + 53 - i1, 176, 62 - i1, 16, i1); } int i1 = AngellicInfuser.getMasherProgressScaled(24); drawTexturedModalRect(guiLeft + 79, guiTop + 34, 176, 0, i1 + 1, 16); } } Slot Class package net.mymod.mod.slot; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.mymod.mod.TileEntity.TileEntityAngellicInfuser; public class SlotAngellicInfuser extends Slot { public SlotAngellicInfuser(EntityPlayer player, IInventory iiventory, int i, int j, int k) { super(iiventory, i, j, k); // TODO Auto-generated constructor stub } Tile Entity Class package net.mymod.mod.TileEntity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.mymod.mod.mymod; import net.mymod.mod.blocks.AngellicInfuser; import net.mymod.mod.crafting.AngellicInfuserRecipes; public class TileEntityAngellicInfuser extends TileEntity implements ISidedInventory { private ItemStack slots[]; public int dualPower; public int dualCookTime; public static final int maxPower = 10000; public static final int infusingSpeed = 100; private static final int[] slots_top = new int[] {0, 1}; private static final int[] slots_bottom = new int[] {3}; private static final int[] slots_side = new int[] {2}; private String customName; public TileEntityAngellicInfuser() { slots = new ItemStack[11]; } @Override public int getSizeInventory() { return slots.length; } @Override public ItemStack getStackInSlot(int i) { return slots[i]; } @Override public ItemStack getStackInSlotOnClosing(int i) { if (slots[i] != null) { ItemStack itemstack = slots[i]; slots[i] = null; return itemstack; }else{ return null; } } @Override public void setInventorySlotContents(int i, ItemStack itemstack) { slots[i] = itemstack; if (itemstack != null && itemstack.stackSize > getInventoryStackLimit()) { itemstack.stackSize = getInventoryStackLimit(); } } @Override public int[] getAccessibleSlotsFromSide(int i) { return i == 0 ? slots_bottom : (i == 1 ? slots_top : slots_side); } @Override public int getInventoryStackLimit() { return 64; } @Override public boolean isUseableByPlayer(EntityPlayer player) { if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { return false; }else{ return player.getDistanceSq((double)xCoord + 0.5D, (double)yCoord + 0.5D, (double)zCoord + 0.5D) <= 64; } } public void openInventory() {} public void closeInventory() {} @Override public boolean isItemValidForSlot(int i, ItemStack itemstack) { return i == 2 ? false : (i == 1 ? hasItemPower(itemstack) : true); } public boolean hasItemPower(ItemStack itemstack) { return getItemPower(itemstack) > 0; } private static int getItemPower (ItemStack itemstack) { if (itemstack == null) { return 0; }else{ Item item = itemstack.getItem(); if (item == mymod.itemPowderedOrder) return 50; return 0; } } public ItemStack decrStackSize(int i, int j) { if (slots[i] != null) { if (slots[i].stackSize <= j) { ItemStack itemstack = slots[i]; slots[i] = null; return itemstack; } ItemStack itemstack1 = slots[i].splitStack(j); if (slots[i].stackSize == 0) { slots[i] = null; } return itemstack1; }else{ return null; } } public void readFromNBT (NBTTagCompound nbt) { super.readFromNBT(nbt); NBTTagList list = nbt.getTagList("Items", 10); slots = new ItemStack[getSizeInventory()]; for (int i = 0; i < list.tagCount(); i++) { NBTTagCompound nbt1 = (NBTTagCompound)list.getCompoundTagAt(i); byte b0 = nbt1.getByte("Slot"); if (b0 >= 0 && b0 < slots.length) { slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } dualPower = nbt.getShort("PowerTime"); dualCookTime = nbt.getShort("CookTime"); } public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setShort("PowerTime", (short)dualPower); nbt.setShort("CookTime", (short)dualCookTime); NBTTagList list = new NBTTagList(); for (int i = 0; i < slots.length; i++) { if (slots[i] != null) { NBTTagCompound nbt1 = new NBTTagCompound(); nbt1.setByte("Slot", (byte)i); slots[i].writeToNBT(nbt1); list.appendTag(nbt1); } } nbt.setTag("Items", list); } @Override public String getInventoryName() { return "container.AngellicInfuser"; } @Override public boolean canInsertItem(int var1, ItemStack itemstack, int var3) { return this.isItemValidForSlot(var1, itemstack); } @Override public boolean canExtractItem(int i, ItemStack itemstack, int j) { return j != 0 || i != 1 || itemstack.getItem() == Items.bucket; } @Override public boolean hasCustomInventoryName() { return this.customName != null && this.customName.length() > 0; } public int getMasherProgressScaled(int i) { return (dualCookTime * i) / this.infusingSpeed; } public int getPowerRemainingScaled(int i) { return (dualPower * i) / maxPower; } private boolean canMash() { if (slots[0] == null || slots[1] == null) { return false; } ItemStack itemstack = AngellicInfuserRecipes.getMashingResult(slots[0].getItem(), slots[1].getItem()); if (itemstack == null) { return false; } if (slots[9] == null) { return true; } if (!slots[9].isItemEqual(itemstack)) { return false; } if (slots[9].stackSize < getInventoryStackLimit() && slots[3].stackSize < slots[3].getMaxStackSize()) { return true; }else{ return slots[9].stackSize < itemstack.getMaxStackSize(); } } private void mashItem() { if (canMash()) { ItemStack itemstack = AngellicInfuserRecipes.getMashingResult(slots[0].getItem(), slots[1].getItem()); if (slots[9] == null) { slots[9] = itemstack.copy(); }else if (slots[9].isItemEqual(itemstack)) { slots[9].stackSize += itemstack.stackSize; } for (int i = 0; i < 2; i++) { if (slots[i].stackSize <= 0) { slots[i] = new ItemStack(slots[i].getItem().setFull3D()); }else{ slots[i].stackSize--; } if (slots[i].stackSize <= 0){ slots[i] = null; } } } } public boolean hasPower() { return dualPower > 0; } public boolean isMashing() { return this.dualCookTime > 0; } public void updateEntity() { boolean flag = this.hasPower(); boolean flag1= false; if(hasPower() && this.isMashing()) { this.dualPower--; } if(!worldObj.isRemote) { if (this.hasItemPower(this.slots[2]) && this.dualPower < (this.maxPower - this.getItemPower(this.slots[2]))) { this.dualPower += getItemPower(this.slots[2]); if(this.slots[2] != null) { flag1 = true; this.slots[2].stackSize--; if(this.slots[2].stackSize == 0) { this.slots[2] = this.slots[2].getItem().getContainerItem(this.slots[2]); } } } if (hasPower() && canMash()) { dualCookTime++; if (this.dualCookTime == this.infusingSpeed) { this.dualCookTime = 0; this.mashItem(); flag1 = true; } }else{ dualCookTime = 0; } if (flag != this.isMashing()) { flag1 = true; AngellicInfuser.updateBlockState(this.isMashing(), this.worldObj, this.xCoord, this.yCoord, this.zCoord); } } if (flag1) { this.markDirty(); } } } That is everything, but the most useful thing to know would be how to create my recipes
-
thanks, but i still dont know how to make the recipes, i managed it for when i had 2 slots (thats why i had slot 3 as that) but when i did get into the gui, there was a line down part of the gui and i cannot see why. Additionally, i still need the progress bar and the fuel bar to show. http://s1273.photobucket.com/user/edy22174/library/?view=recent&page=1 both images are there i know its wrong cause there is an error, but i dont know how to solve it, here is what i tried. package net.mymod.mod.crafting; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.mymod.mod.mymod; public class AngellicInfuserRecipes { public AngellicInfuserRecipes() { } public static ItemStack getMashingResult(Item item, Item item2 item4 item5 item6 item7 item8 item9 item10) { return getOutput(item, item2, item4, item5, item6, item7, item8, item9, item10); } public static ItemStack getOutput(Item item, Item item2 item4 item5 item6 item7 item8 item9 item10) { //Recipe One if (item == mymod.itemPowderedOrder && item2 == mymod.itemPowderedOrder && item4 == mymod.itemPowderedOrder && item5 == Items.iron_ingot && item6 == Items.diamond && item7 == Items.iron_ingot && item8 == mymod.PowderedOrder && item9 == mymod.PowderedOrder && item10 == mymod.PowderedOrder) { } return new ItemStack(mymod.itemAngelicIngot); return null; } } (i should've seen that fix, it seems so simple now that its done)