Выдача Эффекта Скорости передвижения при надевании определенной брони

Версия Minecraft
1.7.10
API
Forge
23
2
Хочу выдать Эффект скорости передвижения при надевании определенной брони, условно Алмазной, делаю что-то вроде

public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) { JuggernautArmor.checkArmorOwner(world, player, itemStack); if (player.getActivePotionEffect(Potion.moveSpeed) == null) { player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, -127)); }
Ничего не получается, есть предложения?
 
Во первых, почему -127? :unsure:
Во вторых, проверка на != null, тут вообще лишняя.

Готовый вариант(без проверки на броню, думаю тут сам уже справишься).

gives speed effect to the player:
    @SubscribeEvent
    public void onLivingUpdate(LivingUpdateEvent event) {
        if (event.entityLiving instanceof EntityPlayerMP) {
            EntityPlayerMP player = (EntityPlayerMP) event.entityLiving;
            if(player.ticksExisted % 40 == 0) {
                //Если у игрока не активен эффект скорости, выполняем действие.
                if(!player.isPotionActive(Potion.moveSpeed.getId())) {
                    //Выдаем эффект скорости.
                    //на 1 минуту(1200 тиков).
                    //2 уровня(счёт от 0).
                    player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 1200, 1));
                }
            }
        }
    }
 
Сверху