Posted May 25, 201411 yr Hi! I'm coding on a new mod. I created a new Item, the problem is that ingame there is the "no texture" texture So my question: Where should I put the texture files? Thanks Mike
May 25, 201411 yr Author Thanks for your answer. I'll try that tomorrow and answer again in this thread. Mike
May 25, 201411 yr Author Assets go in src/main/resources/assets/modId/ Ok, i made these folder. So my folder structure ist like that: src/main/resources/assets/modId/textures/items/file.png Ist that wrong? Because it's not working. In the Item Class i coded it like that: package Example.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; public class GreenDiamond extends Item { @SideOnly(Side.CLIENT) private String texture; public GreenDiamond(int par1, String texture) { super(par1); this.texture = texture; this.setCreativeTab(CreativeTabs.tabMaterials); this.setMaxStackSize(64); } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.itemIcon = par1IconRegister.registerIcon("MikesMod.items:" + texture); } } Pleas help me Mike
May 25, 201411 yr Author You need to use "modId:textureName" when registering your textures. It will automatically select between the blocks and items folder. How do you mean that? Please write the code line Thanks
May 25, 201411 yr Author Where you register your texture (registerIcon). Ok, first of all thanks for your support Ok, i corrected my code in the Item Class but theres the same problem. My Item Class looks now like this: package MikesMod.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; public class GreenDiamond extends Item { @SideOnly(Side.CLIENT) private String texture; public GreenDiamond(int par1, String texture) { super(par1); this.texture = texture; this.setCreativeTab(CreativeTabs.tabMaterials); this.setMaxStackSize(64); } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.itemIcon = par1IconRegister.registerIcon("Mike:greendiamond"); } } Thanks Mike
May 25, 201411 yr Author Can you post your main class? Here is my Main Class: package MikesMod; import net.minecraft.item.Item; 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.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import MikesMod.items.*; @Mod(modid = "Mike", name = "MikesMod", version = "1.0.0") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class MainClass { @Instance("MikesMod") public static MainClass instance; //ID Variablen private static int GreenDiamondID = 4000; //Items public static Item GreenDiamond = new GreenDiamond(GreenDiamondID, "GreendDiamond").setUnlocalizedName("greendiamond"); @EventHandler public void preInit(FMLPreInitializationEvent event) { Items(); } @EventHandler public void load(FMLInitializationEvent event) { } @EventHandler public static void postInit(FMLPostInitializationEvent event) { } private void Items() { //GreenDiamond GameRegistry.registerItem(GreenDiamond, "greendiamond"); LanguageRegistry.addName(GreenDiamond, "Grüner Diamant"); } } Thanks Mike
May 25, 201411 yr Author ModID has to be all lowercase. Ok, now i changed the ModID to lowercase. But it's not working... Here ist the Item Class: package MikesMod.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; public class GreenDiamond extends Item { @SideOnly(Side.CLIENT) private String texture; public GreenDiamond(int par1, String texture) { super(par1); this.texture = texture; this.setCreativeTab(CreativeTabs.tabMaterials); this.setMaxStackSize(64); } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.itemIcon = par1IconRegister.registerIcon("mike:greendiamond" + texture); } } And here is the Main Class: package MikesMod; import net.minecraft.item.Item; 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.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import MikesMod.items.*; @Mod(modid = "mike", name = "MikesMod", version = "1.0.0") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class MainClass { @Instance("MikesMod") public static MainClass instance; //ID Variablen private static int GreenDiamondID = 4000; //Items public static Item GreenDiamond = new GreenDiamond(GreenDiamondID, "GreendDiamond").setUnlocalizedName("greendiamond"); @EventHandler public void preInit(FMLPreInitializationEvent event) { Items(); } @EventHandler public void load(FMLInitializationEvent event) { } @EventHandler public static void postInit(FMLPostInitializationEvent event) { } private void Items() { //GreenDiamond GameRegistry.registerItem(GreenDiamond, "greendiamond"); LanguageRegistry.addName(GreenDiamond, "Grüner Diamant"); } } Thanks Mike
May 25, 201411 yr Author Is your Texture at src/main/resources/assets/mike/textures/items/greendiamondGreendDiamond.png ? Because that's what you point it to. Also: Only create Items in preInit. My textures are in this folder structure. But if I try to create a Item in preInit. it says that there are not permitted modifieres. And if I delete them it isnt working.. So, could you please write me exactly what I should do? Thanks Mike
May 25, 201411 yr You people overlook the simplest things sometimes. Mike, in your item class @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.itemIcon = par1IconRegister.registerIcon("mike:greendiamond" + texture); } should be @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.itemIcon = par1IconRegister.registerIcon("mike:" + texture); } Legend of Zelda Mod[updated September 20th to 3.1.1] Extra Achievements(Minecraft 1.8!)[updated April 3rd to 2.3.0] Fancy Cheeses[updated May 8th to 0.5.0]
May 26, 201411 yr Author You people overlook the simplest things sometimes. Mike, in your item class @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.itemIcon = par1IconRegister.registerIcon("mike:greendiamond" + texture); } should be @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.itemIcon = par1IconRegister.registerIcon("mike:" + texture); } Ok, I changed the code. But, it's not working. Please help me Here is my code: The Main Class package MikesMod; import net.minecraft.item.Item; 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.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import MikesMod.items.*; @Mod(modid = "mike", name = "MikesMod", version = "1.0.0") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class MainClass { @Instance("MikesMod") public static MainClass instance; //ID Variablen private static int GreenDiamondID = 4000; //Items public static Item GreenDiamond = new GreenDiamond(GreenDiamondID, "GreendDiamond").setUnlocalizedName("greendiamond"); @EventHandler public void preInit(FMLPreInitializationEvent event) { Items(); } @EventHandler public void load(FMLInitializationEvent event) { } @EventHandler public static void postInit(FMLPostInitializationEvent event) { } private void Items() { //GreenDiamond GameRegistry.registerItem(GreenDiamond, "greendiamond"); LanguageRegistry.addName(GreenDiamond, "Grüner Diamant"); } } My Item Class: package MikesMod.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; public class GreenDiamond extends Item { @SideOnly(Side.CLIENT) private String texture; public GreenDiamond(int par1, String texture) { super(par1); this.texture = texture; this.setCreativeTab(CreativeTabs.tabMaterials); this.setMaxStackSize(64); } @SideOnly(Side.CLIENT) public void registerIcons(IconRegister par1IconRegister) { this.itemIcon = par1IconRegister.registerIcon("mike:" + texture); } } The textures are located at: src\main\resources\assets\mike\textures\items I called it one time "GreenDiamond" and one time "greendiamondGreenDiamond" Mike
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.