Отключение полёта

Версия Minecraft
1.7.10
71
1
Доброго времени суток, подскажите пожалуйста, как отключить полёт? если снять броню, то полёт остается.
P.S. тапком не бить
Java:
public void onArmorTick(World world, EntityPlayer player, ItemStack stack) {

        if (stack.getItem() == MyMod.set2Body) {
            if (!world.isRemote) return;
            player.capabilities.allowFlying = true;
            player.capabilities.disableDamage = true;
        } else {
            if (player.capabilities.isCreativeMode) {
                player.capabilities.allowFlying = true;
                player.capabilities.disableDamage = true;
            } else  {
                player.capabilities.allowFlying = false;
                player.capabilities.disableDamage = false;
            }
        }
}
 

tox1cozZ

aka Agravaine
8,454
598
2,890
 

tox1cozZ

aka Agravaine
8,454
598
2,890
 
676
20
315
Доброго времени суток, подскажите пожалуйста, как отключить полёт? если снять броню, то полёт остается.
P.S. тапком не бить
Java:
public void onArmorTick(World world, EntityPlayer player, ItemStack stack) {

        if (stack.getItem() == MyMod.set2Body) {
            if (!world.isRemote) return;
            player.capabilities.allowFlying = true;
            player.capabilities.disableDamage = true;
        } else {
            if (player.capabilities.isCreativeMode) {
                player.capabilities.allowFlying = true;
                player.capabilities.disableDamage = true;
            } else  {
                player.capabilities.allowFlying = false;
                player.capabilities.disableDamage = false;
            }
        }
}
Обьясняю для тех кто в танке, судя по твоему коду, когда на тебе одета броня, у тебя каждый тик проходит твое действие в onArmorTick, но а если снять броню, проходить уже оно не будет, тебе нужно отловить эвент, проверить на то что именно вся броня одета и именно этот сет и выдавать и уберать все что хочешь
 
269
8
19
@Dablex
Java:
    @SubscribeEvent
    public void armorFlyingCheck(PlayerTickEvent e) {
        if (e.player != null) {
            EntityPlayer player = e.player;
            ItemStack stack = e.player.getCurrentArmor(2);
            if (stack != null) {
                if (stack.getItem() == jscitemregister.juggernautChestplate) {
                    player.capabilities.allowFlying = true;
                    player.capabilities.disableDamage = true;
                }else {
                    player.capabilities.allowFlying = false;
                    player.capabilities.disableDamage = false;
                }
            }else {
                if(!player.capabilities.isCreativeMode) {
                    player.capabilities.allowFlying = false;
                    player.capabilities.disableDamage = false;
                }
            }
        }
    }
 
Сверху