Вверх ↑
Этот топик читают: Гость
Ответов: 4557
#1: 2016-02-24 18:49:37 ЛС | профиль | цитата
Вывод 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();
}
}
Логично взять непосредственно this.itemID;:

Но ID на 256 больше. Это нам не годится.

Решение проблемы - вместо this.itemID; использовать this.shiftedIndex;:


Поменяв значение указателя this, мы получили нужный результат.
Таким образом, мы научились добавлять ID в описание предмета
карма: 6
3
Голосовали:HAP_KoTuK, K.R.A.K.E.N., _Vaas_
1
Сообщение
...