Вывод ID в описании к предмету
В туториале Дополнительные поля описания предмета мы научились делать описание к предметам. Но текстовое описание - не предел возможности этих полей: в них можно вставлять еще и различную информацию (ID, прочность, урон, защита, координаты, ник и т.д.). В этом туториале мы научимся выводить ID в описание.
Для начала работы напишем код, в котором также укажем возможность вставки описания (я для примера взял ):
public static Item magik = (new ItemMagik(2503, EnumToolMaterial.EMERALD, "Посох")).setUnlocalizedName("Magik").setFull3D().setCreativeTab(CreativeTabs.tabTools);
package net.minecraft.src;
import java.util.List;
public class ItemMagik extends Item
{
public final String itemName;
protected EnumToolMaterial theToolMaterial;
public final int shiftedIndex;
public ItemMagik(int par1, EnumToolMaterial par2EnumToolMaterial, String par2Str)
{
super(par1);
this.theToolMaterial = par2EnumToolMaterial;
this.maxStackSize = 1;
this.setMaxDamage(par2EnumToolMaterial.getMaxUses());
this.itemName = par2Str;
this.shiftedIndex = par1;
this.setCreativeTab(CreativeTabs.tabTools);
}
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{
par3List.add("ID: §6" + this.itemID);
par3List.add(this.getItemTitle());
}
public String getItemTitle()
{
return "Магический посох, способный превращать землю в блок травы";
}
/** ТУТ ДОЛЖЕН БЫТЬ КОД РАБОТЫ ПРЕДМЕТА, НО Я ЕГО СКРЫЛ **/
public boolean isFull3D()
{
return true;
}
public String getMaterialName()
{
return this.theToolMaterial.toString();
}
}
![](http://dl3.joxi.net/drive/0000/1614/50766/160224/10be46b683.jpg)
Но ID на 256 больше. Это нам не годится.
Решение проблемы - вместо this.itemID; использовать this.shiftedIndex;:
![](http://dl1.joxi.net/drive/0000/1614/50766/160224/2f5f9839b7.jpg)
Поменяв значение указателя this, мы получили нужный результат.
Таким образом, мы научились добавлять ID в описание предмета