Анимации

Версия Minecraft
1.7.10
1,193
31
182
Тут назрел вопрос, как лучше анимировать перемещение модели
Создаю в классе рендера моего итема две флоат переменные
public static float runProgress = 0F, lastRunProgress = 0F;
Далее проверяю свою булев переменную и делаю так
Java:
if(!aiming){
            runProgress *= 0.8F;
        }
        else{
            runProgress = 1F - (1F - runProgress) * 0.65F;
        }
Потом так)
float runSwitch = this.lastRunProgress + (this.runProgress - this.lastRunProgress);
И например если надо передвинуть модель на 1F:
GL11.glTranslatef(1F * runSwitch, 0F, 0F);
Обьясните как это все правильно называется, и стоит ли использовать данный метод плавности перемещения модельки?
 
Решение
Как заставить тикать только тот итемстак, который в руках?
Переменная, которая boolean.
Код:
@Override
public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
    super.onUpdate(stack, worldIn, entityIn, itemSlot, isSelected);
}
Если isSelected тру, то он в руках.
1,193
31
182
Верхний вопрос актуален
Дабы не создавать нью тему
________________________________


В IEEP записываю shootTimer, так называемая скорострельность
В апдейте итема достаю из IEEP эту интшку и каждый тик минушу ее на 1
Потом проверяю в этом же апдейте, если инт равна 0, то совершить код выстрела, проиграть звук и выставить этой интшке значение скорострельности оружия (в моем случае это 2), получается своеобразная скорострельность со скоростью 600 выстрелов в минуту
Однако, как мы знаем, метод онапдейт итема срабатывает каждый тик если находится в ИНВЕНТАРЕ. И если положить 2 одинаковых итемстака (в моем случае 2 пушки со скорострельностью 600), они начинают тикать, и минусить мою интшку shootTimer одновременно, что дает возможность совершить код выстрела раньше и быстрее в 2 раза аля 1200 выстрелов в минуту
Как заставить тикать только тот итемстак, который в руках?
Через нбт не вариант, ибо анимация стрельбы и вообще плавность стрельбы катится в никуда и получается совершенно некрасиво >_<
Хелп ми(
 
3,005
192
592
Как заставить тикать только тот итемстак, который в руках?
Переменная, которая boolean.
Код:
@Override
public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
    super.onUpdate(stack, worldIn, entityIn, itemSlot, isSelected);
}
Если isSelected тру, то он в руках.
 
Сверху