Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

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

  • Author

Thanks for your answer.

I'll try that tomorrow and answer again in this thread.

 

Mike

  • 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 :D

 

Mike

  • 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

  • Author

Where you register your texture (registerIcon).

Ok, first of all thanks for your support :D

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

  • 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

  • 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

  • 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? :D

Thanks

Mike

 

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]

  • 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 :D

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.