Recettes et conditions



  • Bonsoir à tous !

    Je vous écris car une question me trotte dans la tête depuis un petit moment : Est-il possible d'ajouter une condition permettant de réaliser un craft ou non ?

    L'idée est de faire en sorte que crafter un item ait un coût.
    Par exemple, lorsque le jour craft un certain item, 10 pièces lui sont retirées.
    Si le joueur a 10 pièces ou plus, il peut crafter l'objet, sinon il ne peut pas.

    Pour le retrait, par de soucis (je pensais utiliser "onCreated" dans la class d'item).

    Je vous remercie d'avance pour vos réponses !
    Myrilandel


  • Administrateurs

    Même avec un IRecipe custom, je vois mal comment faire ça. Il n'y a pas l'instance du joueur, pourtant certains mods arrivent bien à faire un système de recette a débloquer par joueur, donc ça doit être possible, mais je ne sais pas comment 😕



  • Salut robin4002
    Tout d'abord merci de ta réponse je vais essayer de creuser cette piste pour voir ce que ça donne.

    De mon côté, je me suis un peu creusé les méninges et j'ai eu une idée en me servant du onCreated.
    Je pensais faire un test une fois que l'objet est crée de sorte à ce que si le retrait d'argent (ou de points d'action dans mon cas) est impossible, le nouvel objet est supprimé et l'ancien objet est ajouté. Le problème est qu'avec le code qui suit, si le joueur possède plusieurs fois le même objet, ils sont tous delete.

    
    public void onCreated(ItemStack par1ItemStack, World world,
    EntityPlayer player)
    {
    super.onCreated(par1ItemStack, world, player);
    
    ExtendedEntityPropPA propPA = ExtendedEntityPropPA.get(player);
    boolean Suff = propPA.PertePA(3);
    
    if (Suff == false)
    {
    player.inventory.clearInventory(HordeMod.boite_conserve_ouverte, -1);
    player.inventory.addItemStackToInventory(new ItemStack(HordeMod.boite_conserve_ferme, 1));
    }
    }
    

    C'est certes ni esthétique ni pratique mais je dirai que c'est un début. Si jamais tu as une idée pour améliorer tout ça je suis preneur 😉
    Encore merci !

    Myrilandel


  • Administrateurs



  • Génial merci beaucoup !

    Il est un peu tard pour tester tout ça, je le ferai dès demain et je te tiens au courant !

    Encore merci !

    Bonne soirée
    Myrilandel

    EDIT : Après lecture du lien que tu m'as envoyé, tout fonctionne a un petit détail près, mon retrait de points d'action s'effectue deux fois au lieu d'un mais je pense que je peux trouver la solution.

    Encore merci, je passe le sujet en résolu !