private static final ResourceLocation rocketTextures = new ResourceLocation(MyMod.MODID + ":" + "textures/entity/Rocket.png");
public class Item_Ammo_2mmEC extends Item
{
public Item_Ammo_2mmEC()
{
super();
this.setUnlocalizedName("Ammo_2mmEC");
this.setTextureName(MyMod.MODID + ":" + "Ammo_2mmEC");
this.setCreativeTab(CommonProxy.tabAmmo);
this.setMaxStackSize(64);
}
}
public class ItemBase extends Item{
public ItemBase(String unlocalizedName){
super();
setUnlocalizedName(unlocalizedName.substring(unlocalizedName.indexOf(":") + 1));
setTextureName(unlocalizedName);
GameRegistry.registerItem(this, getUnlocalizedName().substring(5));
}
}
Item item = new ItemBase("modid:icon");
Та то я вырезаю в setUnlocalizedName, в setTextureName я ничего не трогаю.TaoGunner написал(а):Я там пример предмета сбросил. Проверяй, ты походу зря вырезаешь часть текста.
Majestic написал(а):setTextureName("modid:icon.png");
public class ItemMetadataBase extends Item{
@SideOnly(Side.CLIENT)
private IIcon[] icons;
public int numberOfItems;
public String textureName;
public ItemMetadataBase(int numberItems, String unlocalizedName){
super();
setUnlocalizedName(unlocalizedName.substring(unlocalizedName.indexOf(":") + 1));
textureName = unlocalizedName;
numberOfItems = numberItems;
setHasSubtypes(true);
setMaxDamage(0);
GameRegistry.registerItem(this, getUnlocalizedName().substring(5));
}
public String getUnlocalizedName(ItemStack iStack){
return super.getUnlocalizedName() + "_" + iStack.getItemDamage();
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister reg){
icons = new IIcon[numberOfItems];
for(int i = 0; i < icons.length; i++){
icons[i] = reg.registerIcon(textureName + "_" + i);
}
}
@SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tab, List list){
for(int x = 0; x < numberOfItems; x++){
list.add(new ItemStack(this, 1, x));
}
}
}
@Override
@SideOnly(Side.CLIENT)
public Icon getIconFromDamage(int meta) {
return icons[meta];
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister reg) {
for(int i = 0; i < subNames.length; i++) {
icons[i] = reg.registerIcon(ModInfo.MOD_ID + ":" + getUnlocalizedName().substring(12) + "_" + subNames[i]);
}
}
package net.anti344.rcircuits.content
import net.minecraft.item.{ItemStack, Item}
import net.minecraft.client.renderer.texture.IIconRegister
import net.minecraft.util.IIcon
import collection.mutable.ArrayBuffer
import net.minecraft.creativetab.CreativeTabs
import java.util.{List => JList}
import net.minecraft.client.resources.I18n
import net.anti344.rcircuits.RedstoneMicrocircuits
class MetaItem(names: String*)
extends Item{
setCreativeTab(RedstoneMicrocircuits.tab)
setHasSubtypes(true)
private val iconExcludes: ArrayBuffer[String] = ArrayBuffer()
private var icons: Seq[IIcon] = Seq()
def get(name: String, size: Int = 1): ItemStack =
if(names.contains(name))
new ItemStack(this, size, names.indexOf(name))
else null
def getName(meta: Int): String =
if(names.isDefinedAt(meta))
names(meta)
else null
def excludeIcons(excludes: String*): MetaItem = {
excludes.foreach(iconExcludes += _)
this
}
override def getSubItems(item: Item, tab: CreativeTabs, jlist : JList[_]) = {
val list = jlist.asInstanceOf[JList[ItemStack]]
names.foreach(n => list.add(get(n)))
}
override def getItemStackDisplayName(is: ItemStack): String =
if(names.isDefinedAt(is.getItemDamage))
I18n.format("rcircuits." + names(is.getItemDamage))
else "BROKEN NAME"
override def getIconFromDamage(meta: Int): IIcon =
if(icons.isDefinedAt(meta))
icons(meta)
else null
override def registerIcons(register: IIconRegister) =
icons = for(n <- names) yield{
val icon = register.registerIcon("rcircuits:" + n)
if(!iconExcludes.contains(n))
icon
else null
}
}