А как указать временный промежуток?Majestic написал(а):onUpdate
К сожалению, я так и не понял. Обьявил переменную t, в метод onUpdate вписал "t = t + 1"Oldestkon написал(а):Переменная-таймер. Заводишь переменную, в onUpdate инкрементишь и смотришь, прошел ли нужный тебе промежуток времени через оператор %, если да - твои действия.
Игра тикает 20 раз в секунду.
public void onUpdate()
{
t = t + 1;
if (t%20==0)//20 - каждую секунду?
{
//Но как мне вызвать тут ItemStack?
}
}
public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) {
if (par1ItemStack.stackTagCompound == null)
{
par1ItemStack.stackTagCompound = new NBTTagCompound();
par1ItemStack.stackTagCompound.setInteger("repairIncrement", 0);
}
else
{
int tag = par1ItemStack.stackTagCompound.getInteger("repairIncrement");
par1ItemStack.stackTagCompound.setInteger("repairIncrement", tag + 1);
if (tag % 6000 == 0) // Каждые 5 минут
{
par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() - 1);
}
}
}
Majestic написал(а):Лучше таг обнулять переодически, а то вдруг переполнится(врятли, но все равно) о_О.
if ((tag %= 6000) == 0)