[1.5.2] Как реализовать перезарядку по onItemRightClick

Здравствуйте, собственно в названии темы вся суть.
Занимаюсь совсем недавно, хочу реализовать перезарядку как в Dota 2 Items
Видео:
[youtube]o54BAiOMa-8[/youtube]
Попытки:
Код:
    int coolDown = 20*50;
    public RuneAr(int id) {
        super(id);
        maxStackSize = 1;
        setCreativeTab();
    }
    public void addInformation(ItemStack itemStack, EntityPlayer EntityPlayer, List list, boolean par4) {
        list.add("Перезарядка: 50 секунд");
        list.add("Время действия: 20 секунд");
        list.add("ПКМ - Сопротивление V: 20 секунд");
    }
    public void onUpdate(ItemStack is, World world, Entity entity, int i, boolean b)
    {
        this.coolDown++;
    }
    public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player)
    {
        if(this.coolDown >= 20*30){
            player.addPotionEffect(new PotionEffect(Potion.resistance.id, 20*20, 4));
            player.addPotionEffect(new PotionEffect(Potion.blindness.id, 5, 10));
                this.coolDown = 0;
        }
        return itemStack;
    }
 
По поводу чисел посмотри здесь . Рендер заднего фона - не подскажу.
 
Вообще Это называется GameOverlay. Рендерить задний фон можно с помощью RenderGameOverlayEvent'a
 
Очень интересная вещь, когда решишь, как сделать, пожалуйста напиши здесь)
 
И еще один человек, не знающий о том, что класс Item - описывающий. И что его экземпляр только один на всю игру. Соответственно все переменные, объявленные в нём - глобальны для всех предметов этого типа.
NBT надо юзать, доставая его из стака в методах.
 
Назад
Сверху