我正在编码我的第一个Minecraft mod,但我无法获得加载纹理的项目。我是Minecraft mod的新手,我有点困惑。这是基本商品的代码:
package com.danielroberts.firstmod.item;
import com.danielroberts.firstmod.reference.Reference;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class item1 extends Item
{
public item1()
{
super();
}
@Override
public String getUnlocalizedName()
{
return String.format("item.%s%s", Reference.MOD_ID.toLowerCase() + ":", getUnwrappedUnlocilizedName(super.getUnlocalizedName()));
}
@Override
public String getUnlocalizedName(ItemStack itemStack)
{
return String.format("item.%s%s", Reference.MOD_ID.toLowerCase() + ":", getUnwrappedUnlocilizedName(super.getUnlocalizedName()));
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconRegister)
{
itemIcon = iconRegister.registerIcon(this.getUnlocalizedName().substring(this.getUnlocalizedName().indexOf(".") + 1));
}
protected String getUnwrappedUnlocilizedName(String unlocilizedName)
{
return unlocilizedName.substring(unlocilizedName.indexOf(".") + 1);
}
}
这是实际项目的代码:
package com.danielroberts.firstmod.item;
public class ItemDiamondtwo extends item1
{
public ItemDiamondtwo()
{
super();
this.setUnlocalizedName("doubleDiamond");
this.setMaxStackSize(64);
}
}
最佳答案
我可以说的一件事是,要为某个项目注册纹理,您将需要调用setTextureName(modId +“:” + itemName)函数。
即setTexture(“ firstmod:doublediamond”);
它将在初始化时查找:“ assets / firstmod / textures / items / doublediamond.png”。