Индивидуальная переменная

Как сделать так чтоб переменная i была индивидуальна к разным предметам MyItem,то есть у меня в инвентаре есть 3 прeдмeта MyItem и каждый из них считал свою переменную i+1.

public class MyItem extends Item
{
int i = 0;
    public MyItem (int id)
    {
   
        super(id);
        this.setCreativeTab(CreativeTabs.tabCombat);
        this.maxStackSize = 1;
    }
    
    public void registerIcons(IconRegister tex)
    {
        this.itemIcon = tex.registerIcon(ModInf.MODID + ":MyItem ");
    }


    
    public ItemStack onItemRightClick (ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer){
    i=-1
   
        return par1ItemStack;
    }
public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5)
    {
 EntityPlayer player = (EntityPlayer)par3Entity;
    ItemStack is = player.inventory.getCurrentItem();
 if(MyKEY.keyPressed){
     
    if (is != null && is.getItem().itemID == MyMod.MyItem.itemID) {
i=+1
    }
}
 
1. Лучше использовать NBT.
2.
Код:
if(MyKEY.keyPressed){
Уже писал, что нажатие кнопок дело клиента. Если какие-то образом работает правильно на серверной стороне, то ладно.
 
timaxa007 написал(а):
1. Лучше использовать NBT.
2.
Код:
if(MyKEY.keyPressed){
Уже писал, что нажатие кнопок дело клиента. Если какие-то образом работает правильно на серверной стороне, то ладно.
Можно подробней что такое NBT ?
 
YouUBegammer, извини, но я сам подробно не знаю. (Просто примерно знаю как пользоваться, примерно делаю.)
 
я бы тоже почитал...
 
NBTTagCompound
Там есть методы,как в Properties,только с разделением на типы.Если в Properties только String,то ту все типы(int,long,byte и тд).Всё просто.Создаёте таг(если его нету,конечно же),таг сохраняется в папку (папку с данными об игроке.Не помню где она).В таг записываете то,что вам нужно.И потом получаете,если нужно.Типа того
Код:
NBTTagCompound nbt=new NBTTagCompound();//Надо записать сам таг в игрока.Делается через IExtendedEntityProperties
//P.S.В IExtendedEntityProperties и так даётся NBTTagCompound.Новый не нужен
nbt.setInteger("test",666);
.........................................
int i=nbt.getInteger("test");//i==666
 
Назад
Сверху