Problème ItemValide dans un Slot custom



  • Bonjour j'ai créer un Slot custom pour mon inventaire pour des anneaux mais je ne veux pas que l'on équipe deux même anneaux en même temps.

    J'ai donc créer une condition dans ma fonction isItemValid mais ceci ne fonctionne pas

    public boolean isItemValid(ItemStack itemstack)
     {
    EntityPlayer player = (FMLClientHandler.instance().getClientPlayerEntity());
    ExtendedEntityPropCaracteristique ext = ExtendedEntityPropCaracteristique.get(player);
    
       if(ext.inventory.getStackInSlot(6).getItem() == TutoMod.anneau1)//verifie le slot de l'anneau
       {
        return (itemstack.getItem() == TutoMod.anneau2);//accepte l'anneau2
       }
       if(ext.inventory.getStackInSlot(6).getItem() == TutoMod.anneau2)//verifie le slot de l'anneau
       {
        return (itemstack.getItem() == TutoMod.anneau1);//accepte l'anneau1
       }
       return (itemstack.getItem() == TutoMod.anneau1) || (itemstack.getItem() == TutoMod.anneau2);//accepte les deux
     }
    
    

    Merci d'avance de votre aide


  • Administrateurs

    Salut,
    La logique du code me semble bonne, il va donc falloir debugguer pour voir ce qui ne va pas.
    Ajoutes des print des différentes valeurs pour voir ce qui se passe dans la console.
    (print par exemple ext.inventory.getStackInSlot(6).getItem())

    Par contre, ton code actuel causera un npe s'il n'y a pas d'item dans le slot 6.



  • Effectivement mon code marche, j'ai du me louper dans mes test ,problème résolue merci encore robin