Arturo166 Posted October 11, 2013 Posted October 11, 2013 Hi. I'm been following the Generic mod tutorial for 1.6.2, but when I got to block and item texturing, I followed the tutorial, but the texture didn't apply. Could anybody tell me what's going on? Here's my base mod file: package tutorial.basic; 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; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraftforge.common.MinecraftForge; 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.network.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; @Mod(modid = BasicInfo.ID, name = BasicInfo.NAME, version = BasicInfo.VERS) @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class Basic { public final static Block genericDirt = new GenericBlock(500, Material.ground).setHardness(0.5f).setStepSound(Block.soundGravelFootstep).setUnlocalizedName("genericDirt").setCreativeTab(CreativeTabs.tabBlock); public final static Block genericOre = new GenericOre(501, Material.rock); private final static Item genericItem = new GenericItem(5000); private final static Item genericIngot = new GenericItem(5001).setMaxStackSize(16).setCreativeTab(CreativeTabs.tabMisc).setUnlocalizedName("genericIngot"); //The instance of your mod that Forge uses. @Instance("Basic") public static Basic instance; //Says where the client and server 'proxy' code is loaded. @SidedProxy(clientSide = BasicInfo.CLIENTPROXY + "ClientProxy", serverSide = BasicInfo.COMMONPROXY + "CommonProxy") public static CommonProxy proxy; @EventHandler public void preInit(FMLPreInitializationEvent event) { //Stub method } @EventHandler public void load(FMLInitializationEvent event) { proxy.registerRenderers(); ItemStack dirtStack = new ItemStack(Block.dirt); ItemStack diamondStack = new ItemStack(Item.diamond, 64); ItemStack blackWoolStack = new ItemStack(Block.cloth, 10, 15); ItemStack stoneStack = new ItemStack(1, 32, 0); ItemStack saddleStack = new ItemStack(Item.saddle); ItemStack stringStack = new ItemStack(Item.silk, 1); ItemStack gravelStack = new ItemStack(Block.gravel); ItemStack whiteWoolStack = new ItemStack(Block.cloth, 1, 0); GameRegistry.addShapelessRecipe(diamondStack, dirtStack); GameRegistry.addShapelessRecipe(stoneStack, dirtStack, diamondStack); GameRegistry.addRecipe(diamondStack, "xy", "yx", 'x', dirtStack, 'y', stoneStack); GameRegistry.addRecipe(gravelStack, "xyx", "y y", "xyx", 'x', dirtStack, 'y', diamondStack); GameRegistry.addSmelting(Block.dirt.blockID, diamondStack, 0.1f); GameRegistry.registerBlock(genericDirt, "genericDirt"); GameRegistry.registerBlock(genericOre, "genericOre"); FurnaceRecipes.smelting().addSmelting(Block.cloth.blockID, 15, whiteWoolStack, 1.0f); LanguageRegistry.addName(genericDirt, "Generic Dirt"); LanguageRegistry.addName(genericOre, "Generic Ore"); MinecraftForge.setBlockHarvestLevel(genericDirt, "shovel", 1); MinecraftForge.setBlockHarvestLevel(genericOre, "pickaxe", 3); //0 = wood, 1 = stone, 2 = iron, 3 = diamond } @EventHandler public void postInit(FMLPostInitializationEvent event) { //Stub method } } Here's the block file: package tutorial.basic; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; public class GenericOre extends Block { public GenericOre(int id, Material material) { super(id, material); setHardness(4.0f); setStepSound(Block.soundStoneFootstep); setUnlocalizedName("genericOre"); setCreativeTab(CreativeTabs.tabBlock); func_111022_d(BasicInfo.NAME.toLowerCase() + ":iron_ore"); } public int idDropped(int metadata, Random random, int fortune) { return Item.ingotIron.itemID; } } Here's the item file: package tutorial.basic; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; public class GenericOre extends Block { public GenericOre(int id, Material material) { super(id, material); setHardness(4.0f); setStepSound(Block.soundStoneFootstep); setUnlocalizedName("genericOre"); setCreativeTab(CreativeTabs.tabBlock); func_111022_d(BasicInfo.NAME.toLowerCase() + ":iron_ore"); } public int idDropped(int metadata, Random random, int fortune) { return Item.ingotIron.itemID; } } And just in case you're wondering, here's the BasicInfo file: package tutorial.basic; public class BasicInfo { public static final String ID = "Basic"; public static final String NAME = "Basic"; public static final String VERS = "0.0.0"; public static final String CLIENTPROXY = "tutorial.basic.client."; public static final String COMMONPROXY = "tutorial.basic."; } Quote
robin4002 Posted October 11, 2013 Posted October 11, 2013 where did you put the png file ? it should be in : forge/mcp/src/minecraft/assets/basic/textures/blocks/iron_ore.png Quote
Draco18s Posted October 11, 2013 Posted October 11, 2013 where did you put the png file ? it should be in : forge/mcp/src/minecraft/assets/basic/textures/blocks/iron_ore.png Actually that's where it SHOULD NOT be. And one thing you're not doing, that you should be, is overriding RegisterIcon: public void registerIcons(IconRegister par1IconRegister) { this.blockIcon = par1IconRegister.registerIcon("mymodid:myblock"); } Then the texture goes in src/minecraft/assets/mymodid/textures/blocks/myblock.png Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
Draco18s Posted October 12, 2013 Posted October 12, 2013 @Draco: You don't need to override registerIcons for that. Just use setTextureName("mymodid:mytexture") . That one's new to me, thanks Quote Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.