我正在编写我的第一个Minecraft mod,我可以'让我的项目加载纹理。我对Minecraft mods编码很新,我有点困惑。以下是基本项的代码:
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);
}
}
答案 0 :(得分:1)
我可以说的一件事是,要为您想要调用setTextureName(modId +":" + itemName)函数的项目注册纹理。
即。的SetTexture(" firstmod:doublediamond&#34);
将使它找到:" assets / firstmod / textures / items / doublediamond.png"在初始。
答案 1 :(得分:0)
使用此设置我会说你需要将纹理放在 资产/ $ Modid /纹理/项目/ doubleDiamond.png 注意大写和小写的问题!!!所以,如果文件的名称是doublediamond.png它将无法正常工作
我知道这是因为我有这样的设置:p