Améliorer recette four double entrée



  • Bonjour à tous

    Donc après avoir réussi à créer un four double entrée qui fonctionne (maintenant il faut même deux charbon pour l'allumer ! Je sens le job à la Nasa qui arrive) J'en suis à un point ou je suis content d'avoir tout qui fonctionne mais ou je suis déçu de ne pas avoir d'XP et de ne pas pouvoir demander dans ma recette un nombre x d'item y. Pour le moment, mes recettes ne demandent que un seul item de chaque, sans pouvoir le modifier.

    J'ai essayé plusieurs choses, remplacer Item par ItemStack etc… m'inspirer du code des recettes de base mais je n'arrive pas à trouver comment tout intégrer dans mon TileEntity sans que tout foire. J'ai aussi regardé quelques tutoriels par-ci par-la mais rien de concluant, à croire que personne n'a essayé d'en faire un. Au final, je reviens toujours au point de départ avec ma fonction toute bidon qui fonctionne à moitié (pas d'XP et un seul item par craft).

    Je vous poste mon TileEntity ainsi que mon fichier Recipe. Si vous pouvez m'indiquez la voie, ça serait super 😄


    </t></t>



  • Tu fais des items stack avec la fraise et la framboise, tu comparé les items des stacks et la stackSize.



  • Bon bah aucune idée de comment faire ça. Je vais plutôt transformer le four 2 entrées en 4, ça au moins je sais faire :d
    Y'aura pas d'xp mais bon, on peut pas tout avoir dans la vie xD



  • stack1.isItemStackEqual(stack2), ça vérifie l'item et la metadata, après tu compare les stack size de stack

    Mais si tu sais faire avec autre chose c'est bon



  • Pour la taille du stack à vérifier, AymericRed te disait de procéder ainsi je pense 🙂 :
    new ItemStack(tonItem).getItem().stackSize //à partir de cette valeur tu peux déjà faire des conditions dans ta classe Recipes



  • @'Plaigon':

    Pour la taille du stack à vérifier, AymericRed te disait de procéder ainsi je pense 🙂 :
    new ItemStack(tonItem).getItem().stackSize //à partir de cette valeur tu peux déjà faire des conditions dans ta classe Recipes

    Et je devrais rajouter ça ou? Pour l'instant, la seule ligne qui me pose problème c'est celle la finalement :

    ItemStack itemstack = FonderieRecipes.getSmeltingResult(fonderieItemStacks[0].getItem(), fonderieItemStacks[1].getItem());
    

    En changeant tous les Item en ItemStack dans Recipe et en faisant ça ici :

    ItemStack itemstack = FonderieRecipes.getSmeltingResult(new ItemStack(fonderieItemStacks[0].getItem()), new ItemStack(fonderieItemStacks[1].getItem()));
    

    Ca met pas d'erreur mais ça marche pas. Je comprends de plus en plus ce code mais j'ai qu'une vague idée de ce que je dois faire ^^' Dans ma tête ça marche mais en pratique non, et je sais pas pourquoi.



  • Essaye plutot avec ça:

    ItemStack itemstack = FonderieRecipes.getSmeltingResult(new ItemStack[]{fonderieItemStacks[0],fonderieItemStacks[1]});
    


  • @'XeNe':

    Essaye plutot avec ça:

    ItemStack itemstack = FonderieRecipes.getSmeltingResult(new ItemStack[]{fonderieItemStacks[0],fonderieItemStacks[1]});
    

    Je vais me renseigner sur les tableaux plus en détail, vu que j'y connais rien (encore) je peux pas tester ça ^^' mais merci 😄