Everything posted by luckie12
-
[1.10.2] Meta Blocks have no texture
............................................................................................. Wow. Thanks it works now
-
[1.10.2] Meta Blocks have no texture
Yes i am; This is my updated ModBlocks.java package Fatal1tyGC.BitofTuts.init; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.common.registry.GameRegistry; import Fatal1tyGC.BitofTuts.Reference; import Fatal1tyGC.BitofTuts.blocks.BlockBlockBreaker; import Fatal1tyGC.BitofTuts.blocks.ItemBlockMeta; import Fatal1tyGC.BitofTuts.blocks.blockCopperBlock; import Fatal1tyGC.BitofTuts.blocks.blockCopperOre; import Fatal1tyGC.BitofTuts.handlers.EnumHandler; public class ModBlocks { public static Block copper_ore; public static Block copper_block; public static Block block_breaker; public static void init(){ copper_ore = new blockCopperOre("copper_ore"); copper_block = new blockCopperBlock("copper_block"); block_breaker = new BlockBlockBreaker("block_breaker"); } public static void register(){ registerBlock(copper_ore, "copper_ore"); registerBlock(copper_block, "copper_block"); //DEPRECATED BUT STILL WORKING //GameRegistry.registerBlock(block_breaker,ItemBlockMeta.class, "block_breaker"); registerMetaBlock(block_breaker, "block_breaker"); //Item item = new Item(); //GameRegistry.register(item.setRegistryName("item")); } public static void registerRenders(){ registerRender(copper_ore); registerRender(copper_block); for(int i = 0; i< EnumHandler.BlockBreakerTypes.values().length; i++){ registerRender(block_breaker, i, EnumHandler.BlockBreakerTypes.values()[i].getName() + "_block_breaker"); } } public static void registerBlock(Block block,String registryName){ //GameRegistry.register(block.setRegistryName("copper_ore")); /* GameRegistry.register(copper_ore.setRegistryName("copper_ore")); GameRegistry.register(new ItemBlock(copper_ore).setRegistryName(copper_ore.getRegistryName())); GameRegistry.register(copper_block.setRegistryName("copper_block")); GameRegistry.register(new ItemBlock(copper_block).setRegistryName(copper_block.getRegistryName())); */ /* GameRegistry.register(copper_ore.setRegistryName(Reference.MODID + ":" + "copper_ore")); GameRegistry.register(new ItemBlock(block)); GameRegistry.register(copper_block.setRegistryName(Reference.MODID + ":" + "copper_block")); GameRegistry.register(new ItemBlock(block)); */ GameRegistry.register(block.setRegistryName(registryName)); GameRegistry.register(new ItemBlock(block).setRegistryName(registryName)); System.out.println("Registered Block: " + block.getUnlocalizedName().substring(5)); } public static void registerMetaBlock(Block block,String registryName){ GameRegistry.register(block.setRegistryName(registryName)); GameRegistry.register(new ItemBlockMeta(block).setRegistryName(registryName)); } public static void registerRender(Block block){ Item item = Item.getItemFromBlock(block); ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(),"inventory")); } public static void registerRender(Block block, int meta, String fileName){ Item item = Item.getItemFromBlock(block); ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(Reference.MODID + ":" + fileName,"inventory")); } }
-
[1.10.2] Meta Blocks have no texture
Yes, i am sorry that i dont understand what you mean, which means i am guessing -> i made a own function for registering metablocks -> public static void registerMetaBlock(Block block,String registryName){ GameRegistry.register(block.setRegistryName(registryName)); GameRegistry.register(new ItemBlockMeta(block).setRegistryName(registryName)); } Being calledby: registerMetaBlock(block_breaker, "block_breaker"); Getting 0 errors but still all the blocks are default wood..
-
[1.10.2] Meta Blocks have no texture
These are being called by the register() which uses registerBlock(copper_ore, "copper_ore"); registerBlock(copper_block, "copper_block"); to call it
-
[1.10.2] Meta Blocks have no texture
Im trying to, but when i lookat my registerBlock(Block block,String registryName){ i have this in it: GameRegistry.register(block.setRegistryName(registryName)); GameRegistry.register(new ItemBlock(block).setRegistryName(registryName)); But this GameRegistry.register(item.setRegistryName("item")); is being called directly inside of the register() function, which has no calls I'm just not smart enough to work out your solution,
-
[1.10.2] Meta Blocks have no texture
You are right, it crashes my launcher
-
[1.10.2] Meta Blocks have no texture
I have done this: Item item = Item.getItemFromBlock(block_breaker); GameRegistry.register(item.setRegistryName("item"));
-
[1.10.2] Meta Blocks have no texture
This is my ClientProxy.java btw ModelBakery.registerItemVariants(Item.getItemFromBlock(ModBlocks.block_breaker), new ResourceLocation("bot:wood_block_breaker"), new ResourceLocation("bot:stone_block_breaker"), new ResourceLocation("bot:iron_block_breaker"), new ResourceLocation("bot:gold_block_breaker"), new ResourceLocation("bot:diamond_block_breaker"), new ResourceLocation("bot:copper_block_breaker")); }
-
[1.10.2] Meta Blocks have no texture
I honestly... didnt change that yet... Because i have no idea how to implement ItemBlockMeta.class, "block_breaker" in there... Because this is my old one: GameRegistry.registerBlock(block_breaker,ItemBlockMeta.class, "block_breaker"); and well, the new one is GameRegistry.register(item.setRegistryName("item")); But i have to look how to get the "item"
-
[1.10.2] Meta Blocks have no texture
The textures are working now in my inventory, but still when i try to place a different block it keeps the wood texture... NO ERRORS occuring this time
-
[1.10.2] Meta Blocks have no texture
That "item", is an instance of Item. Of course it'll look for the model amongst the models/item. If you have your model in models/block, create a new .json file in models/items with { "parent": "modid:block/block-you-want" } If the Block is "flat" when in an inventory, be sure that your models/block .json has this just above "textures": "parent": "block/cube_all", for every type i have a .json file { "parent": "block/cube_all", "textures": { "all": "bot:blocks/gold_block_breaker" } }
-
[1.10.2] Meta Blocks have no texture
That fixed most of it, now i just have no texture in my inventory + only the WOOD type is showing, when i place a golden block placer it still is wood
-
[1.10.2] Meta Blocks have no texture
This is my block_breaker.json blockstates -> { "variants" : { "TYPE=wood" : {"model" : "bot:wood_block_breaker"}, "TYPE=stone" : {"model" : "bot:stone_block_breaker"}, "TYPE=iron" : {"model" : "bot:iron_block_breaker"}, "TYPE=gold" : {"model" : "bot:gold_block_breaker"}, "TYPE=diamond" : {"model" : "bot:diamond_block_breaker"}, "TYPE=copper" : {"model" : "bot:copper_block_breaker"} } }
-
[1.10.2] Meta Blocks have no texture
ItemBlockMeta.java package Fatal1tyGC.BitofTuts.blocks; import net.minecraft.block.Block; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; public class ItemBlockMeta extends ItemBlock { public ItemBlockMeta(Block block) { super(block); if(!(block instanceof IMetaBlockName)){ throw new IllegalArgumentException(String.format("The given Block %s is not an instance of ItemMetaBlockName", block.getUnlocalizedName())); } this.setMaxDamage(0); this.setHasSubtypes(true); } public int getMetaData(int damage){ return damage; } @Override public String getUnlocalizedName(ItemStack stack) { return super.getUnlocalizedName(stack) + "." + ((IMetaBlockName)this.block).getSpecialName(stack); } } IMetaBlockName.java package Fatal1tyGC.BitofTuts.blocks; import net.minecraft.item.ItemStack; public interface IMetaBlockName { String getSpecialName(ItemStack stack); } BlockBlockBreaker.java package Fatal1tyGC.BitofTuts.blocks; import java.util.List; import Fatal1tyGC.BitofTuts.BitofTuts; import Fatal1tyGC.BitofTuts.handlers.EnumHandler; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.block.properties.IProperty; import net.minecraft.block.properties.PropertyEnum; import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.RayTraceResult; import net.minecraft.world.World; public class BlockBlockBreaker extends Block implements IMetaBlockName{ public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumHandler.BlockBreakerTypes.class); public BlockBlockBreaker(String unlocalizedName) { super(Material.ROCK); this.setUnlocalizedName(unlocalizedName); this.setCreativeTab(BitofTuts.blocks); this.setDefaultState(this.blockState.getBaseState().withProperty(TYPE, EnumHandler.BlockBreakerTypes.WOOD)); } @Override public void getSubBlocks(Item item, CreativeTabs tab, List<ItemStack> list) { list.add(new ItemStack(item,1,0)); list.add(new ItemStack(item,1,1)); list.add(new ItemStack(item,1,2)); list.add(new ItemStack(item,1,3)); list.add(new ItemStack(item,1,4)); list.add(new ItemStack(item,1,5)); } @Override protected BlockStateContainer createBlockState() { return new BlockStateContainer(this, new IProperty[] { TYPE }); } @Override public IBlockState getStateFromMeta(int meta) { if(meta == 0){ return this.getDefaultState().withProperty(TYPE, EnumHandler.BlockBreakerTypes.WOOD); } if(meta == 1){ return this.getDefaultState().withProperty(TYPE, EnumHandler.BlockBreakerTypes.STONE); } if(meta == 2){ return this.getDefaultState().withProperty(TYPE, EnumHandler.BlockBreakerTypes.IRON); } if(meta == 3){ return this.getDefaultState().withProperty(TYPE, EnumHandler.BlockBreakerTypes.GOLD); } if(meta == 4){ return this.getDefaultState().withProperty(TYPE, EnumHandler.BlockBreakerTypes.DIAMOND); } if(meta == 5){ return this.getDefaultState().withProperty(TYPE, EnumHandler.BlockBreakerTypes.COPPER); } return this.getDefaultState().withProperty(TYPE, EnumHandler.BlockBreakerTypes.WOOD); } @Override public int getMetaFromState(IBlockState state) { EnumHandler.BlockBreakerTypes type = (EnumHandler.BlockBreakerTypes) state.getValue(TYPE); return type.getID(); } @Override public int damageDropped(IBlockState state) { return getMetaFromState(state); } @Override public String getSpecialName(ItemStack stack) { if(stack.getItemDamage() == 0){ return "wood"; } if(stack.getItemDamage() == 1){ return "stone"; } if(stack.getItemDamage() == 2){ return "iron"; } if(stack.getItemDamage() == 3){ return "gold"; } if(stack.getItemDamage() == 4){ return "diamond"; } if(stack.getItemDamage() == 5){ return "copper"; } return "wood"; } @Override public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) { return new ItemStack(Item.getItemFromBlock(this),1, this.getMetaFromState(world.getBlockState(pos))); } } [/code]
-
[1.10.2] Meta Blocks have no texture
So i am trying to register blocks with metadata, They do register ingame fine, but when i look, theres no texture, my ModBlocks.java package Fatal1tyGC.BitofTuts.init; import net.minecraft.block.Block; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.common.registry.GameRegistry; import Fatal1tyGC.BitofTuts.Reference; import Fatal1tyGC.BitofTuts.blocks.BlockBlockBreaker; import Fatal1tyGC.BitofTuts.blocks.ItemBlockMeta; import Fatal1tyGC.BitofTuts.blocks.blockCopperBlock; import Fatal1tyGC.BitofTuts.blocks.blockCopperOre; import Fatal1tyGC.BitofTuts.handlers.EnumHandler; public class ModBlocks { public static Block copper_ore; public static Block copper_block; public static Block block_breaker; public static void init(){ copper_ore = new blockCopperOre("copper_ore"); copper_block = new blockCopperBlock("copper_block"); block_breaker = new BlockBlockBreaker("block_breaker"); } public static void register(){ registerBlock(copper_ore, "copper_ore"); registerBlock(copper_block, "copper_block"); //DEPRECATED BUT STILL WORKING GameRegistry.registerBlock(block_breaker,ItemBlockMeta.class, "block_breaker"); } public static void registerRenders(){ registerRender(copper_ore); registerRender(copper_block); for(int i = 0; i< EnumHandler.BlockBreakerTypes.values().length; i++){ registerRender(block_breaker, i, EnumHandler.BlockBreakerTypes.values()[i].getName() + "_block_breaker"); } } public static void registerBlock(Block block,String registryName){ //GameRegistry.register(block.setRegistryName("copper_ore")); /* GameRegistry.register(copper_ore.setRegistryName("copper_ore")); GameRegistry.register(new ItemBlock(copper_ore).setRegistryName(copper_ore.getRegistryName())); GameRegistry.register(copper_block.setRegistryName("copper_block")); GameRegistry.register(new ItemBlock(copper_block).setRegistryName(copper_block.getRegistryName())); */ /* GameRegistry.register(copper_ore.setRegistryName(Reference.MODID + ":" + "copper_ore")); GameRegistry.register(new ItemBlock(block)); GameRegistry.register(copper_block.setRegistryName(Reference.MODID + ":" + "copper_block")); GameRegistry.register(new ItemBlock(block)); */ GameRegistry.register(block.setRegistryName(registryName)); GameRegistry.register(new ItemBlock(block).setRegistryName(registryName)); System.out.println("Registered Block: " + block.getUnlocalizedName().substring(5)); } public static void registerRender(Block block){ Item item = Item.getItemFromBlock(block); ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(),"inventory")); } public static void registerRender(Block block, int meta, String fileName){ Item item = Item.getItemFromBlock(block); ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(Reference.MODID + ":" + fileName,"inventory")); } } And yes, i know that GameRegistry.registerBlock is deprecated The errors coming up: I guess myself its something with public static void registerRender(Block block, int meta, String fileName){ Item item = Item.getItemFromBlock(block); ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(Reference.MODID + ":" + fileName,"inventory")); } It refers to bot:models/item/stone_block_breaker.json but the stone_block_breaker is in models/block .... Thanks for the help in advance!
-
[1.10.2] Multiple Items/Blocks crash launcher
I fixed it, i had a setregistryname ALSO in each class Thankyou both for ur amazing help:D!
-
[1.10.2] Multiple Items/Blocks crash launcher
So only use this one? GameRegistry.register(item.setRegistryName(registryName));
-
[1.10.2] Multiple Items/Blocks crash launcher
i fixed it tho, my ModItems crashes me now, package Fatal1tyGC.BitofTuts.init; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemSword; import net.minecraft.item.ItemTool; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.fml.common.registry.GameRegistry; import Fatal1tyGC.BitofTuts.Reference; import Fatal1tyGC.BitofTuts.items.ItemModAxe; import Fatal1tyGC.BitofTuts.items.ItemModHoe; import Fatal1tyGC.BitofTuts.items.ItemModPickaxe; import Fatal1tyGC.BitofTuts.items.ItemModShovel; import Fatal1tyGC.BitofTuts.items.ItemModSword; public class ModItems { public static Item copper_ingot; //Tool Materials public static ToolMaterial copperMaterial = EnumHelper.addToolMaterial("copper", 2, 300, 5.0F, 2.0F, 10); //Tools public static ItemPickaxe copper_pickaxe; public static ItemHoe copper_hoe; //public static ItemAxe copper_axe; public static ItemSpade copper_shovel; public static ItemSword copper_sword; public static void init(){ copper_ingot = new Item().setUnlocalizedName("copper_ingot").setCreativeTab(CreativeTabs.MISC).setMaxStackSize(64); //Tools copper_pickaxe = new ItemModPickaxe(copperMaterial, "copper_pickaxe"); copper_hoe = new ItemModHoe(copperMaterial, "copper_hoe"); //copper_axe = new ItemModAxe(copperMaterial, "copper_axe"); copper_shovel = new ItemModShovel(copperMaterial, "copper_shovel"); copper_sword = new ItemModSword(copperMaterial, "copper_sword"); } public static void register(){ registerItem(copper_ingot, "copper_ingot"); //Tools registerItem(copper_pickaxe,"copper_pickaxe"); ///////////registerItem(copper_axe); WONT WORK IN 1.9 registerItem(copper_hoe,"copper_hoe"); registerItem(copper_shovel, "copper_shovel"); registerItem(copper_sword, "copper_sword"); } public static void registerRenders(){ registerRender(copper_ingot); //Tools registerRender(copper_pickaxe); ////////////registerRender(copper_axe); WONT WORK IN 1.9 registerRender(copper_hoe); registerRender(copper_shovel); registerRender(copper_sword); } public static void registerItem(Item item, String registryName){ GameRegistry.register(item.setRegistryName(registryName)); GameRegistry.register(new Item().setRegistryName(registryName)); //GameRegistry.register(item.setRegistryName(item.getUnlocalizedName().substring(5))); System.out.println("Registered Item: " + item.getUnlocalizedName().substring(5)); //GameRegistry.registerItem(item, item.getUnlocalizedName().substring(5)); } public static void registerRender(Item item){ //Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(Reference.MODID + ":" + item.getUnlocalizedName().substring(5), "inventory")); //Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(),"inventory")); //ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(Reference.MODID + ":" + item.getUnlocalizedName().substring(5), "inventory")); ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(),"inventory")); //Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory")); } } I tried the same way as the blocks... no luck
-
[1.10.2] Multiple Items/Blocks crash launcher
That worked!!! Fixed Thankyou for your help, using this register method, will it work for items too?
-
[1.10.2] Multiple Items/Blocks crash launcher
Once changed that, it says java.lang.IllegalArgumentException: No registry name set for object net.minecraft.item.ItemBlock@788be73c (net.minecraft.item.ItemBlock) at net.minecraftforge.fml.common.registry.GameData.register_impl(GameData.java:251)
-
[1.10.2] Multiple Items/Blocks crash launcher
No, this is not what I am talking about. The code you have shown luckie12 is completely fine. But there is code somewhere else (which you have not shown) that already calls setRegistryName on these Blocks so that the calls which you have shown here fail. The only thing i use to attach to blocks is the class itself: package Fatal1tyGC.BitofTuts.blocks; import net.minecraft.block.Block; import net.minecraft.block.material.Material; public class blockCopperOre extends Block{ public blockCopperOre(String unlocalizedName) { super(Material.ROCK); this.setUnlocalizedName(unlocalizedName); } } EDIT AGAIN my ClientProxy: package Fatal1tyGC.BitofTuts.proxy; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import Fatal1tyGC.BitofTuts.init.ModBlocks; import Fatal1tyGC.BitofTuts.init.ModItems; public class ClientProxy extends CommonProxy{ public void PreInit(FMLPreInitializationEvent event){ ModItems.registerRenders(); ModBlocks.registerRenders(); } public void registerRenders() { ModItems.registerRenders(); ModBlocks.registerRenders(); } }
-
[1.10.2] Multiple Items/Blocks crash launcher
Aaah alright! I changed that, this is what my code looks like now: package Fatal1tyGC.BitofTuts.init; import Fatal1tyGC.BitofTuts.Reference; import Fatal1tyGC.BitofTuts.blocks.blockCopperBlock; import Fatal1tyGC.BitofTuts.blocks.blockCopperOre; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.common.registry.GameRegistry; public class ModBlocks { public static Block copper_ore; public static Block copper_block; public static void init(){ copper_ore = new blockCopperOre("copper_ore").setCreativeTab(CreativeTabs.MISC); copper_block = new blockCopperBlock("copper_block").setCreativeTab(CreativeTabs.MISC); } public static void register(){ registerBlock(copper_ore); registerBlock(copper_block); } public static void registerRenders(){ registerRender(copper_ore); registerRender(copper_block); } public static void registerBlock(Block block){ //GameRegistry.register(block.setRegistryName("copper_ore")); GameRegistry.register(block.setRegistryName("copper_ore")); GameRegistry.register(new ItemBlock(block)); GameRegistry.register(block.setRegistryName("copper_block")); GameRegistry.register(new ItemBlock(block)); System.out.println("Registered Block: " + block.getUnlocalizedName().substring(5)); } public static void registerRender(Block block){ Item item = Item.getItemFromBlock(block); ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(),"inventory")); } } Getting a new error: I thought it WAS beingset by calling registerBlock(copper_ore); **EDITTTT: ModItems is not causing an error anymore, i turned off the lines with the crash results to fix the block issue first
-
[1.10.2] Multiple Items/Blocks crash launcher
When you remove GameRegistry.register(copper_ore.setRegistryName("copper_ore")); You get if you keep that one and remove the one with new ItemBlock, then it comes back to the same starting error
-
[1.10.2] Multiple Items/Blocks crash launcher
I guess you are talking about: //GameRegistry.register(copper_ore.setRegistryName("copper_ore")); GameRegistry.register(new ItemBlock(copper_ore).setRegistryName(copper_ore.getRegistryName())); If so, ill remove the one with new ItemBlock
-
[1.10.2] Multiple Items/Blocks crash launcher
So, i tried to add new items + blocks to the mod, but everytime when i do that, at the blocks it says : My ModBlocks.java package Fatal1tyGC.BitofTuts.init; import Fatal1tyGC.BitofTuts.Reference; import Fatal1tyGC.BitofTuts.blocks.blockCopperBlock; import Fatal1tyGC.BitofTuts.blocks.blockCopperOre; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fml.common.registry.GameRegistry; public class ModBlocks { public static Block copper_ore; public static Block copper_block; public static void init(){ copper_ore = new blockCopperOre("copper_ore").setCreativeTab(CreativeTabs.MISC); copper_block = new blockCopperBlock("copper_block").setCreativeTab(CreativeTabs.MISC); } public static void register(){ registerBlock(copper_ore); registerBlock(copper_block); } public static void registerRenders(){ registerRender(copper_ore); registerRender(copper_block); } public static void registerBlock(Block block){ //GameRegistry.register(block.setRegistryName("copper_ore")); GameRegistry.register(copper_ore.setRegistryName("copper_ore")); GameRegistry.register(new ItemBlock(copper_ore).setRegistryName(copper_ore.getRegistryName())); GameRegistry.register(copper_block.setRegistryName("copper_block")); GameRegistry.register(new ItemBlock(copper_block).setRegistryName(copper_block.getRegistryName())); //Add blocks System.out.println("Registered Block: " + block.getUnlocalizedName().substring(5)); } public static void registerRender(Block block){ Item item = Item.getItemFromBlock(block); ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(),"inventory")); } } My ModItems.java gives this: Its code: package Fatal1tyGC.BitofTuts.init; import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemHoe; import net.minecraft.item.ItemPickaxe; import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemSword; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.common.util.EnumHelper; import net.minecraftforge.fml.common.registry.GameRegistry; import Fatal1tyGC.BitofTuts.Reference; import Fatal1tyGC.BitofTuts.items.ItemModAxe; import Fatal1tyGC.BitofTuts.items.ItemModHoe; import Fatal1tyGC.BitofTuts.items.ItemModPickaxe; import Fatal1tyGC.BitofTuts.items.ItemModShovel; import Fatal1tyGC.BitofTuts.items.ItemModSword; public class ModItems { public static final Set<Item> ITEMS = new HashSet<Item>(); public static List<Item>ItemList=new ArrayList<Item>(); public static Item copper_ingot; //Tool Materials public static ToolMaterial copperMaterial = EnumHelper.addToolMaterial("copper", 2, 300, 5.0F, 2.0F, 10); //Tools public static ItemPickaxe copper_pickaxe; public static ItemHoe copper_hoe; //public static ItemAxe copper_axe; public static ItemSpade copper_shovel; public static ItemSword copper_sword; public static void init(){ copper_ingot = new Item().setUnlocalizedName("copper_ingot").setCreativeTab(CreativeTabs.MISC).setMaxStackSize(64); //Tools copper_pickaxe = new ItemModPickaxe(copperMaterial, "copper_pickaxe"); copper_hoe = new ItemModHoe(copperMaterial, "copper_hoe"); //copper_axe = new ItemModAxe(copperMaterial, "copper_axe"); copper_shovel = new ItemModShovel(copperMaterial, "copper_shovel"); copper_sword = new ItemModSword(copperMaterial, "copper_sword"); } public static void register(){ registerItem(copper_ingot); //Tools registerItem(copper_pickaxe); ///////////registerItem(copper_axe); WONT WORK IN 1.9 registerItem(copper_hoe); registerItem(copper_shovel); registerItem(copper_sword); } public static void registerRenders(){ registerRender(copper_ingot); //Tools registerRender(copper_pickaxe); //registerRender(copper_axe); registerRender(copper_hoe); registerRender(copper_shovel); registerRender(copper_sword); } public static void registerItem(Item item){ GameRegistry.register(item.setRegistryName(item.getUnlocalizedName().substring(5))); System.out.println("Registered Item: " + item.getUnlocalizedName().substring(5)); //GameRegistry.registerItem(item, item.getUnlocalizedName().substring(5)); } public static void registerRender(Item item){ //Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(Reference.MODID + ":" + item.getUnlocalizedName().substring(5), "inventory")); //Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(),"inventory")); //ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(Reference.MODID + ":" + item.getUnlocalizedName().substring(5), "inventory")); ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(item.getRegistryName(),"inventory")); //Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory")); } } I have tried on both alot of ways to get it working, changing the code everytime etc, nothing works
IPS spam blocked by CleanTalk.