Posted August 8, 201312 yr Hello people, I would like to start off saying that I love forge, I give all my thanks to people that support the community. But the sad part is that my textures have been broken for a while but I thought maybe I was doing something wrong, but I have rewritten my code and it still dosen't work.. I am using a modified version of pahimars dev enviroment (for 1.6.2) I have been trying to work this out for 2 weeks, I apologize if I did something stupid Here is my code, if you need more ask me please (Main class) package michael.stainingwood.main; import michael.stainingwood.*; 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.minecraftforge.common.MinecraftForge; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLLoadEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @Mod(modid= stainingWood.modID , name="Staining Wood", version="0.1.84") @NetworkMod(clientSideRequired=true, serverSideRequired=false) public class stainingWood { public final static String modID = "stainingwood"; //Creative Tab public static CreativeTabs tabStainingWood = new CreativeTabs("tabStainingWood") { public ItemStack getIconItemStack() { return new ItemStack(Block.blockDiamond); } }; //Block Sections //StainBlock public final static Block StainBlock = new michael.stainingwood.Stain.StainBlock(501, Material.rock) .setHardness(1.0F) .setStepSound(Block.soundStoneFootstep) .setUnlocalizedName("Stain_Block") .setCreativeTab(tabStainingWood) .setHardness(2.0F) .setResistance(5.0F) .func_111022_d(stainingWood.modID + ":" + "stainerblock"); //Item Sections //Staining Cloth public final static Item StainingCloth = new michael.stainingwood.Stain.StainingCloth(502) .setMaxStackSize(1) .setUnlocalizedName("Staining_Cloth") .setCreativeTab(tabStainingWood); //Instance of Mod public static stainingWood instance; @EventHandler public void preInit(FMLPreInitializationEvent event){ System.out.println("[staining Wood] PreInitialization"); //Creative Tab Registering //Staining Wood tab LanguageRegistry.instance().addStringLocalization("itemGroup.tabStainingWood", "en_US", "Staining Wood"); // Block Registering //Block Stainblock LanguageRegistry.addName(StainBlock,"Stain Mixer"); GameRegistry.registerBlock(StainBlock, "stainBlock"); MinecraftForge.setBlockHarvestLevel(Block.stone, "pickaxe", 2); // Item Registering //Staining Cloth LanguageRegistry.addName(StainingCloth, "Staining Cloth"); GameRegistry.registerItem(StainingCloth, "stainingcloth"); //Recipe Registering //Stain Block Crafting //Shapeless Recipe GameRegistry.addShapelessRecipe(new ItemStack(StainBlock, 1), new ItemStack(Block.dirt)); //Shaped Recipe GameRegistry.addShapedRecipe(new ItemStack(StainBlock) ,"yyy","xdx","yyy", 'x', new ItemStack(Item.ingotIron), 'y', new ItemStack(Block.stone), 'd', new ItemStack(Item.diamond)); //Stain Cloth Recipe GameRegistry.addShapedRecipe(new ItemStack(StainingCloth), "s", "p", "t", 's', new ItemStack(Item.silk), 'p', new ItemStack(Item.paper), 't', new ItemStack(Item.stick)); //World Generator GameRegistry.registerWorldGenerator(new WorldGeneration()); } @EventHandler public void load(FMLLoadEvent event){ } @EventHandler public void postInit(FMLPostInitializationEvent event) { //Event's MinecraftForge.EVENT_BUS.register(new EventReciver()); } @EventHandler public void ServerStart(FMLServerStartingEvent event){ } } Block Class package michael.stainingwood.Stain; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.util.Random; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.relauncher.Side; import michael.stainingwood.main.stainingWood; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.entity.EntityClientPlayerMP; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.network.packet.Packet250CustomPayload; import net.minecraft.world.World; public class StainBlock extends Block { //Block Stainblock public StainBlock(int par1, Material par2Material) { super(par1, par2Material); } //Texture Register //@Override //public void registerIcons(IconRegister r){ // this.blockIcon = r.registerIcon(stainingWood.modID + ":" + "stainerblock"); //} } As you can see I have tryed 2 ways, I have tryed registerIcons within the class and .func_111022_d And yes my textures are in "forge/mcp/src/minecraft/assets/%modid%/blocks" and "forge/mcp/src/minecraft/assets/%modid%/items"
August 8, 201312 yr Hello I have looked at your code and I have managed to make your block display a texture. First of all, there are some things you need to remove from your code: //Block Sections //StainBlock public final static Block StainBlock = new michael.stainingwood.Stain.StainBlock(501, Material.rock) .setHardness(1.0F) .setStepSound(Block.soundStoneFootstep) .setUnlocalizedName("Stain_Block") .setCreativeTab(tabStainingWood) .setHardness(2.0F) .setResistance(5.0F) .func_111022_d(stainingWood.modID + ":" + "stainerblock"); the last line ".func_111022..." is no longer required, you can delete that. Now, I have added some other code: @Instance("StainingWood") public static StainingWood instance; Add the @Instance line. I don't know if this is mandatory, but it is cleaner if you add it. @Override @SideOnly(Side.CLIENT) public void registerIcons(IconRegister r){ this.blockIcon = r.registerIcon(StainingWood.modID + ":" + "stainerblock"); } You have to uncomment this whole part first. then add the @SideOnly line. Lastly, your textures have to be at: forge/mcp/src/minecraft/assets/%modID%/textures/blocks forge/mcp/src/minecraft/assets/%modID%/textures/items I hope this works for you.
August 8, 201312 yr Author The texture directory was right, but I typed it wrong on the post.. I did what you said and its still not working, Im guessing It has to be how I setup my dev environment? Because I have 2 different projects one with the default mcp minecraft project and my mod project, I run my project with a dependency on the Minecraft project. Would this affect anything? -Thanks for your time though.
August 8, 201312 yr Move assets to inside the src folder of your mod project, refresh and it should work If you guys dont get it.. then well ya.. try harder...
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.