-
Posts
290 -
Joined
-
Last visited
Everything posted by FireController1847
-
[1.7.10] [SOLVED] Custom model is invisible
FireController1847 replied to FireController1847's topic in Modder Support
These are all of my other things: MainRegistry.java package com.fire.testmod; import com.fire.testmod.Blocks.TestCustomModel; import com.fire.testmod.Blocks.TestMultisidedBlock; import com.fire.testmod.Blocks.TestOre; import com.fire.testmod.Items.TestIngot; import com.fire.testmod.Items.TestItem; import com.fire.testmod.Proxy.CommonProxy; import com.fire.testmod.TileEntity.TileEntityTestCustomModel; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @Mod(modid = Strings.MODID, name = Strings.NAME, version = Strings.VERSION) public class MainRegistry { // Proxy @SidedProxy(clientSide="com.fire.testmod.Proxy.ClientProxy", serverSide="com.fire.testmod.Proxy.CommonProxy") public static CommonProxy proxy; // Instance @Instance(Strings.MODID) public static MainRegistry instance = new MainRegistry(); //////////////////// -- Names -- //////////////////// // Items public static Item TestItem; public static Item TestIngot; // Tools // Armour // Blocks public static Block TestOre; public static Block TestMultisidedBlock; public static Block TestCustomModel; // Other @EventHandler public void PreLoad(FMLPreInitializationEvent event){ //////////////////// -- Creation -- //////////////////// // Items TestItem = new TestItem().setUnlocalizedName("TestItem").setTextureName(Strings.MODID + ":TestItem").setCreativeTab(CreativeTabs.tabMaterials); TestIngot = new TestIngot().setUnlocalizedName("TestIngot").setTextureName(Strings.MODID + ":TestIngot").setCreativeTab(CreativeTabs.tabMaterials); // Tools // Armour // Blocks TestOre = new TestOre(Material.rock).setBlockName("TestOre").setBlockTextureName(Strings.MODID + ":TestOre").setCreativeTab(CreativeTabs.tabBlock); TestMultisidedBlock = new TestMultisidedBlock(Material.gourd).setBlockName("TestMultisidedBlock").setBlockTextureName(Strings.MODID + ":TestMultisidedBlock").setCreativeTab(CreativeTabs.tabBlock); TestCustomModel = new TestCustomModel(Material.rock).setBlockName("TestCustomModel").setBlockTextureName(Strings.MODID + ":textures/models/TestCustomModel.png").setCreativeTab(CreativeTabs.tabBlock); // Other //////////////////// -- Registering -- //////////////////// // Items GameRegistry.registerItem(TestItem, TestItem.getUnlocalizedName()); GameRegistry.registerItem(TestIngot, TestIngot.getUnlocalizedName()); // Tools // Armour // Blocks GameRegistry.registerBlock(TestOre, TestOre.getUnlocalizedName()); GameRegistry.registerBlock(TestMultisidedBlock, TestMultisidedBlock.getUnlocalizedName()); GameRegistry.registerBlock(TestCustomModel, TestCustomModel.getUnlocalizedName()); //GameRegistry.registerTileEntity(TileEntityTestCustomModel.class, "Test Custom Model"); // Other } @EventHandler public void Load(FMLInitializationEvent event){ //////////////////// -- Crafting -- //////////////////// // Items GameRegistry.addRecipe(new ItemStack(TestItem, 4), new Object[]{"T", "T", 'T', TestIngot}); // Tools // Armour // Blocks // Other //////////////////// -- Smelting -- //////////////////// // Items GameRegistry.addSmelting(TestOre, new ItemStack(TestIngot), 0.7F); // Tools // Armour // Blocks // Other } @EventHandler public void PostLoad(FMLPostInitializationEvent event){ } } TileEntityTestCustomModel.java package com.fire.testmod.TileEntity; import net.minecraft.tileentity.TileEntity; public class TileEntityTestCustomModel extends TileEntity { } RenderTestCustomModel.java package com.fire.testmod.Renderers; import org.lwjgl.opengl.GL11; import com.fire.testmod.Strings; import com.fire.testmod.Models.ModelTestCustomModel; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.entity.Entity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; public class RenderTestCustomModel extends TileEntitySpecialRenderer { ResourceLocation texture = new ResourceLocation(Strings.MODID + ":textures/models/TestCustomModel.png"); private ModelTestCustomModel model; public RenderTestCustomModel(){ this.model = new ModelTestCustomModel(); } @Override public void renderTileEntityAt(TileEntity entity, double x, double y, double z, float f) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5); GL11.glRotated(180, 0, 0, 1); this.bindTexture(texture); GL11.glPushMatrix(); this.model.render((Entity)null, 0, -0.1F, 0, 0, 0, 0.0625F); GL11.glPopMatrix(); GL11.glPopMatrix(); } } ModelTestCustomModel.java package com.fire.testmod.Models; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelTestCustomModel extends ModelBase { //fields ModelRenderer Shape2; public ModelTestCustomModel() { textureWidth = 32; textureHeight = 32; Shape2 = new ModelRenderer(this, 0, 0); Shape2.addBox(0F, 0F, 0F, 1, 16, 16); Shape2.setRotationPoint(0F, 8F, -8F); Shape2.setTextureSize(32, 32); Shape2.mirror = true; setRotation(Shape2, 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(entity, f, f1, f2, f3, f4, f5); Shape2.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(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); } } TestCustomModel.java package com.fire.testmod.Blocks; import com.fire.testmod.TileEntity.TileEntityTestCustomModel; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class TestCustomModel extends BlockContainer { public TestCustomModel(Material material) { super(material); this.setHardness(5.0F); this.setResistance(0.5F); } public int getRenderType(){ return -1; } public boolean isOpaqueCube(){ return false; } public boolean renderAsNormalBlock(){ return false; } @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityTestCustomModel(); } } Client Proxy package com.fire.testmod.Proxy; import com.fire.testmod.Renderers.RenderTestCustomModel; import com.fire.testmod.TileEntity.TileEntityTestCustomModel; import cpw.mods.fml.client.registry.ClientRegistry; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; public class ClientProxy extends CommonProxy { public void registerRenderInfo(){ TileEntitySpecialRenderer render0 = new RenderTestCustomModel(); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestCustomModel.class, render0); } } -
[1.7.10] [SOLVED] Custom model is invisible
FireController1847 replied to FireController1847's topic in Modder Support
These are all of my other things: MainRegistry.java package com.fire.testmod; import com.fire.testmod.Blocks.TestCustomModel; import com.fire.testmod.Blocks.TestMultisidedBlock; import com.fire.testmod.Blocks.TestOre; import com.fire.testmod.Items.TestIngot; import com.fire.testmod.Items.TestItem; import com.fire.testmod.Proxy.CommonProxy; import com.fire.testmod.TileEntity.TileEntityTestCustomModel; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @Mod(modid = Strings.MODID, name = Strings.NAME, version = Strings.VERSION) public class MainRegistry { // Proxy @SidedProxy(clientSide="com.fire.testmod.Proxy.ClientProxy", serverSide="com.fire.testmod.Proxy.CommonProxy") public static CommonProxy proxy; // Instance @Instance(Strings.MODID) public static MainRegistry instance = new MainRegistry(); //////////////////// -- Names -- //////////////////// // Items public static Item TestItem; public static Item TestIngot; // Tools // Armour // Blocks public static Block TestOre; public static Block TestMultisidedBlock; public static Block TestCustomModel; // Other @EventHandler public void PreLoad(FMLPreInitializationEvent event){ //////////////////// -- Creation -- //////////////////// // Items TestItem = new TestItem().setUnlocalizedName("TestItem").setTextureName(Strings.MODID + ":TestItem").setCreativeTab(CreativeTabs.tabMaterials); TestIngot = new TestIngot().setUnlocalizedName("TestIngot").setTextureName(Strings.MODID + ":TestIngot").setCreativeTab(CreativeTabs.tabMaterials); // Tools // Armour // Blocks TestOre = new TestOre(Material.rock).setBlockName("TestOre").setBlockTextureName(Strings.MODID + ":TestOre").setCreativeTab(CreativeTabs.tabBlock); TestMultisidedBlock = new TestMultisidedBlock(Material.gourd).setBlockName("TestMultisidedBlock").setBlockTextureName(Strings.MODID + ":TestMultisidedBlock").setCreativeTab(CreativeTabs.tabBlock); TestCustomModel = new TestCustomModel(Material.rock).setBlockName("TestCustomModel").setBlockTextureName(Strings.MODID + ":textures/models/TestCustomModel.png").setCreativeTab(CreativeTabs.tabBlock); // Other //////////////////// -- Registering -- //////////////////// // Items GameRegistry.registerItem(TestItem, TestItem.getUnlocalizedName()); GameRegistry.registerItem(TestIngot, TestIngot.getUnlocalizedName()); // Tools // Armour // Blocks GameRegistry.registerBlock(TestOre, TestOre.getUnlocalizedName()); GameRegistry.registerBlock(TestMultisidedBlock, TestMultisidedBlock.getUnlocalizedName()); GameRegistry.registerBlock(TestCustomModel, TestCustomModel.getUnlocalizedName()); //GameRegistry.registerTileEntity(TileEntityTestCustomModel.class, "Test Custom Model"); // Other } @EventHandler public void Load(FMLInitializationEvent event){ //////////////////// -- Crafting -- //////////////////// // Items GameRegistry.addRecipe(new ItemStack(TestItem, 4), new Object[]{"T", "T", 'T', TestIngot}); // Tools // Armour // Blocks // Other //////////////////// -- Smelting -- //////////////////// // Items GameRegistry.addSmelting(TestOre, new ItemStack(TestIngot), 0.7F); // Tools // Armour // Blocks // Other } @EventHandler public void PostLoad(FMLPostInitializationEvent event){ } } TileEntityTestCustomModel.java package com.fire.testmod.TileEntity; import net.minecraft.tileentity.TileEntity; public class TileEntityTestCustomModel extends TileEntity { } RenderTestCustomModel.java package com.fire.testmod.Renderers; import org.lwjgl.opengl.GL11; import com.fire.testmod.Strings; import com.fire.testmod.Models.ModelTestCustomModel; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.entity.Entity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; public class RenderTestCustomModel extends TileEntitySpecialRenderer { ResourceLocation texture = new ResourceLocation(Strings.MODID + ":textures/models/TestCustomModel.png"); private ModelTestCustomModel model; public RenderTestCustomModel(){ this.model = new ModelTestCustomModel(); } @Override public void renderTileEntityAt(TileEntity entity, double x, double y, double z, float f) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y + 1.5, z + 0.5); GL11.glRotated(180, 0, 0, 1); this.bindTexture(texture); GL11.glPushMatrix(); this.model.render((Entity)null, 0, -0.1F, 0, 0, 0, 0.0625F); GL11.glPopMatrix(); GL11.glPopMatrix(); } } ModelTestCustomModel.java package com.fire.testmod.Models; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelTestCustomModel extends ModelBase { //fields ModelRenderer Shape2; public ModelTestCustomModel() { textureWidth = 32; textureHeight = 32; Shape2 = new ModelRenderer(this, 0, 0); Shape2.addBox(0F, 0F, 0F, 1, 16, 16); Shape2.setRotationPoint(0F, 8F, -8F); Shape2.setTextureSize(32, 32); Shape2.mirror = true; setRotation(Shape2, 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(entity, f, f1, f2, f3, f4, f5); Shape2.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(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); } } TestCustomModel.java package com.fire.testmod.Blocks; import com.fire.testmod.TileEntity.TileEntityTestCustomModel; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class TestCustomModel extends BlockContainer { public TestCustomModel(Material material) { super(material); this.setHardness(5.0F); this.setResistance(0.5F); } public int getRenderType(){ return -1; } public boolean isOpaqueCube(){ return false; } public boolean renderAsNormalBlock(){ return false; } @Override public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityTestCustomModel(); } } Client Proxy package com.fire.testmod.Proxy; import com.fire.testmod.Renderers.RenderTestCustomModel; import com.fire.testmod.TileEntity.TileEntityTestCustomModel; import cpw.mods.fml.client.registry.ClientRegistry; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; public class ClientProxy extends CommonProxy { public void registerRenderInfo(){ TileEntitySpecialRenderer render0 = new RenderTestCustomModel(); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTestCustomModel.class, render0); } } -
[1.7.10] [SOLVED] Custom model is invisible
FireController1847 replied to FireController1847's topic in Modder Support
I literally have no idea what I did wrong... It does error with the texture though. The Error: 20:49:40] [server thread/ERROR] [FML]: A TileEntity type com.fire.testmod.TileEntity.TileEntityTestCustomModel has throw an exception trying to write state. It will not persist. Report this to the mod author java.lang.RuntimeException: class com.fire.testmod.TileEntity.TileEntityTestCustomModel is missing a mapping! This is a bug! at net.minecraft.tileentity.TileEntity.writeToNBT(TileEntity.java:96) ~[TileEntity.class:?] at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:395) [AnvilChunkLoader.class:?] at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:204) [AnvilChunkLoader.class:?] at net.minecraft.world.gen.ChunkProviderServer.safeSaveChunk(ChunkProviderServer.java:287) [ChunkProviderServer.class:?] at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:340) [ChunkProviderServer.class:?] at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:863) [WorldServer.class:?] at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:370) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:405) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:266) [integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:538) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] -
I literally have no idea what I did wrong... It does error with the texture though. The Error: 20:49:40] [server thread/ERROR] [FML]: A TileEntity type com.fire.testmod.TileEntity.TileEntityTestCustomModel has throw an exception trying to write state. It will not persist. Report this to the mod author java.lang.RuntimeException: class com.fire.testmod.TileEntity.TileEntityTestCustomModel is missing a mapping! This is a bug! at net.minecraft.tileentity.TileEntity.writeToNBT(TileEntity.java:96) ~[TileEntity.class:?] at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:395) [AnvilChunkLoader.class:?] at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:204) [AnvilChunkLoader.class:?] at net.minecraft.world.gen.ChunkProviderServer.safeSaveChunk(ChunkProviderServer.java:287) [ChunkProviderServer.class:?] at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:340) [ChunkProviderServer.class:?] at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:863) [WorldServer.class:?] at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:370) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:405) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:266) [integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:538) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
-
[1.7.10] 2 Block High Models
FireController1847 replied to FireController1847's topic in Modder Support
Okay, I'm fairly new to modding, and I want to learn how to make a custom 2 block high model. I've already learned how to make a custom model block, and now all I need is to detect if when a player tries to place the block then it doesn't let it place unless it's 2 blocks high. Is this even possible? Kind of like decocraft stuff, I just need it two high. Another good example would be bridges from... I'm not sure which mod but it will place another block after the block is place and so on until the bridge is completed. -
Okay, I'm fairly new to modding, and I want to learn how to make a custom 2 block high model. I've already learned how to make a custom model block, and now all I need is to detect if when a player tries to place the block then it doesn't let it place unless it's 2 blocks high. Is this even possible? Kind of like decocraft stuff, I just need it two high. Another good example would be bridges from... I'm not sure which mod but it will place another block after the block is place and so on until the bridge is completed.
-
[1.7.10] Why would it say this?
FireController1847 replied to FireController1847's topic in Modder Support
It's not being initialized? How do I do that? -
[1.7.10] Why would it say this?
FireController1847 replied to FireController1847's topic in Modder Support
It's not being initialized? How do I do that? -
[1.7.10] Why would it say this?
FireController1847 replied to FireController1847's topic in Modder Support
Can not set static com.fire.testmod.MainRegistry field com.fire.testmod.MainRegistry.instance to com.fire.cms.cms What does this mean? I have two mods, com.fire.testmod and com.fire.cms, why would it do this though? Here is my com.fire.testmod.MainRegistry package com.fire.testmod; import com.fire.testmod.Block.TestOre; import com.fire.testmod.Item.TestItem; import com.fire.testmod.Proxy.CommonProxy; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @Mod(modid = Strings.MODID, name = Strings.NAME, version = Strings.VERSION) public class MainRegistry { // Proxy @SidedProxy(clientSide="com.fire.testmod.Proxy.ClientProxy", serverSide="com.fire.testmod.Proxy.CommonProxy") public static CommonProxy proxy; // Instance @Instance public static MainRegistry instance = new MainRegistry(); //////////////////// -- Names -- //////////////////// // Items public static Item TestItem; // Tools // Armour // Blocks public static Block TestOre; // Other @EventHandler public void PreLoad(FMLPreInitializationEvent event){ //////////////////// -- Creation -- //////////////////// // Items TestItem = new TestItem().setUnlocalizedName("TestItem").setTextureName("TestItem").setCreativeTab(CreativeTabs.tabMisc); // Tools // Armour // Blocks TestOre = new TestOre(Material.rock).setBlockName("TestOre").setBlockTextureName("TestOre").setCreativeTab(CreativeTabs.tabBlock); // Other //////////////////// -- Registering -- //////////////////// // Items GameRegistry.registerItem(TestItem, TestItem.getUnlocalizedName()); // Tools // Armour // Blocks GameRegistry.registerBlock(TestOre, TestOre.getUnlocalizedName()); // Other } @EventHandler public void Load(FMLInitializationEvent event){ } @EventHandler public void PostLoad(FMLPostInitializationEvent event){ } } -
Can not set static com.fire.testmod.MainRegistry field com.fire.testmod.MainRegistry.instance to com.fire.cms.cms What does this mean? I have two mods, com.fire.testmod and com.fire.cms, why would it do this though? Here is my com.fire.testmod.MainRegistry package com.fire.testmod; import com.fire.testmod.Block.TestOre; import com.fire.testmod.Item.TestItem; import com.fire.testmod.Proxy.CommonProxy; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @Mod(modid = Strings.MODID, name = Strings.NAME, version = Strings.VERSION) public class MainRegistry { // Proxy @SidedProxy(clientSide="com.fire.testmod.Proxy.ClientProxy", serverSide="com.fire.testmod.Proxy.CommonProxy") public static CommonProxy proxy; // Instance @Instance public static MainRegistry instance = new MainRegistry(); //////////////////// -- Names -- //////////////////// // Items public static Item TestItem; // Tools // Armour // Blocks public static Block TestOre; // Other @EventHandler public void PreLoad(FMLPreInitializationEvent event){ //////////////////// -- Creation -- //////////////////// // Items TestItem = new TestItem().setUnlocalizedName("TestItem").setTextureName("TestItem").setCreativeTab(CreativeTabs.tabMisc); // Tools // Armour // Blocks TestOre = new TestOre(Material.rock).setBlockName("TestOre").setBlockTextureName("TestOre").setCreativeTab(CreativeTabs.tabBlock); // Other //////////////////// -- Registering -- //////////////////// // Items GameRegistry.registerItem(TestItem, TestItem.getUnlocalizedName()); // Tools // Armour // Blocks GameRegistry.registerBlock(TestOre, TestOre.getUnlocalizedName()); // Other } @EventHandler public void Load(FMLInitializationEvent event){ } @EventHandler public void PostLoad(FMLPostInitializationEvent event){ } }