Выполнение действия 5 раз за 5 сек

Версия Minecraft
1.7.10
46
0
Всем привет, как мне сделать чтобы
Java:
player.heal(1.0F);
выполнилось 5 раз за 5 секунд (1 раз = 1 сек) в методе onItemRightClick ?
 

timaxa007

Модератор
5,831
409
672
Создать задачу, которая активируется через "onItemRightClick", в каком нибудь подходящем тикере (эвент на тики) отсчитываешь время и выполняешь задачу, а затем её завершаешь или проваливаешь.
 
241
20
75
Держи.
Код от @timaxa007
Java:
@Override
    public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) {
        if (itemStack.hasTagCompound() && itemStack.getTagCompound().hasKey("time", NBT.TAG_LONG)) {
            if (world.getTotalWorldTime() >= itemStack.getTagCompound().getLong("time")) {
                itemStack.getTagCompound().setLong("time", world.getTotalWorldTime() + (20 * 1));
                player.heal(1F);
            }
        } else {
            NBTTagCompound nbt = new NBTTagCompound();
            nbt.setLong("time", world.getTotalWorldTime() + (20 * 1));
            itemStack.setTagCompound(nbt);
            player.heal(1F);
        }
        return super.onItemRightClick(itemStack, world, player);
    }
 
46
0
Создать задачу, которая активируется через "onItemRightClick", в каком нибудь подходящем тикере (эвент на тики) отсчитываешь время и выполняешь задачу, а затем её завершаешь или проваливаешь.
Можно пример ?
 
Сверху