25 oct. 2016, 18:31

@‘LeBossMax2’:

@‘Laserflip33’:

@‘AymericRed’:

Quelle est cette erreur, un problème de cast ou la fonction qui n’existe pas ?

" The method getItem() is undefined for the type EntityEquipmentSlot "

C’est normal, getItem() n’existe pas sur les EntityEquipmentSlot je pense que tu devrais mettre “itemStack.getItem() == TestModItems.PANTALON” à la place de “legs.getItem() == TestModItems.PANTALON”.
Ensuite, “EntityEquipmentSlot.LEGS != null” n’a aucun sens car EntityEquipmentSlot.LEGS n’est jamais null.

Merci. En faisant ça, je ne peux pas fly. J’ai changé onArmorTickUpdate en orArmorTick et je peux désormais fly, mais le soucis c’est que si j’enlève le pantalon du slot je peux tout de même continuer à fly … Mon code ressemble à ça :

public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) 
    {
        if (itemStack.getItem() == TestModItems.PANTALON)
        {
            player.fallDistance = 0.0F;
            player.capabilities.allowFlying = true;
        }

        else 
        {
            player.capabilities.allowFlying = false;
            player.capabilities.isFlying = false;
        }
    }

En fait j’aimerai que le joueur ne puisse fly QUE si le pantalon est équipé, pas si il est seulement dans l’inventaire. Et qu’il ne puisse plus fly si le pantalon est déséquipé, bien que présent dans l’inventaire.