Мне понравился данный способ описания предметов и решил разузнать его. Способ выучил и делюсь с Вами. Пример разберем на (новогодний рецепт).
Создаем класс ItemMatrix.java.
package net.minecraft.src;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ItemMatrix extends Item
{
public final String itemName;
protected ItemMatrix(int par1, String par2Str)
{
super(par1);
this.itemName = par2Str;
this.maxStackSize = 1;
this.setCreativeTab(CreativeTabs.tabMisc);
}
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{
par3List.add("ID: §620032");
par3List.add(this.getItemTitle());
}
public String getItemTitle()
{
return "Утерянный рецепт новогодних украшений 2014-2015";
}
}
public final String itemName;
this.itemName = par2Str;
public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4)
{
par3List.add("ID: §620032");
par3List.add(this.getItemTitle());
}
public String getItemTitle()
{
return "Утерянный рецепт новогодних украшений 2014-2015";
}
То самое описание, что будет в выводится при наведении курсора на предмет
В Item.java пишем:
public static Item matrix = (new ItemMatrix(20032, "")).setUnlocalizedName("matrix");
, "" - дополнительное описание. Если нам его нужно вставить в описание, то в getItemTitle() нужно дописать + this.itemName
Готово! У нас появилось описание!
Также можно хранить любую информацию, например, координаты.
if (world.getWorldInfo().getDimension() == 0){
s.setItemName("\u0422\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0435\u0440: \u041C\u0438\u0440,
"+Integer.toString((int)p.posX)+", "+Integer.toString((int)p.posY)+", "+Integer.toString((int)p.posZ));
}else if (world.getWorldInfo().getDimension() == 1){
s.setItemName("\u0422\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0435\u0440: \u0410\u0434,
"+Integer.toString((int)p.posX)+", "+Integer.toString((int)p.posY)+", "+Integer.toString((int)p.posZ));
}else if (world.getWorldInfo().getDimension() == 2){
s.setItemName("\u0422\u0435\u043B\u0435\u043F\u043E\u0440\u0442\u0435\u0440: \u041A\u0440\u0430\u0439,"+Integer.toString((int)p.posX)+", "+Integer.toString((int)p.posY)+", "+Integer.toString((int)p.posZ));
}
Или при нажатии определенной клавиши высвечивается больше информации
Цикл тем "Помощь игрокам":
[Помощь игрокам] Работа с моделями блоков
[Помощь игрокам] Работа с Techne
[Помощь игрокам] Создание различных полублоков
[Помощь игрокам] Создание и настройка моба
[Помощь игрокам] Дополнительные поля описания предмета