Jump to content

Recommended Posts

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

Posted

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

Posted

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

Posted

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

Posted

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

Posted

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

Posted

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

 

Posted

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]

Posted

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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