Method pour réparer un objet avec durabilité.



  • Bonjour! Je viens ici car j'ai besoin d'aide de la part de moddeurs plus expérimentés que moi pour mon premier projet de mod. [font='Open Sans', Helvetica, Arial, sans-serifAvec][font='Open Sans', Helvetica, Arial, sans-serif l'arrivé de la 1.9, les elytres sont apparues, et je trouve bizarre qu'on puisse les réparer avec du cuir. Voilà donc m][font='Open Sans', Helvetica, Arial, sans-serifo][font='Open Sans', Helvetica, Arial, sans-serifn i][font='Open Sans', Helvetica, Arial, sans-serifdée: ][font='Open Sans', Helvetica, Arial, sans-serifles ][font='Open Sans', Helvetica, Arial, sans-serifch][font='Open Sans', Helvetica, Arial, sans-serifau][font='Open Sans', Helvetica, Arial, sans-serifve][font='Open Sans', Helvetica, Arial, sans-serifs s][font='Open Sans', Helvetica, Arial, sans-serifou][font='Open Sans', Helvetica, Arial, sans-serifri][font='Open Sans', Helvetica, Arial, sans-serifs drop][font='Open Sans', Helvetica, Arial, sans-seriferait u][font='Open Sans', Helvetica, Arial, sans-serifn item que j'appellerai "membrane"][font='Open Sans', Helvetica, Arial, sans-serif p][font='Open Sans', Helvetica, Arial, sans-serifermet][font='Open Sans', Helvetica, Arial, sans-serifta][font='Open Sans', Helvetica, Arial, sans-serifn][font='Open Sans', Helvetica, Arial, sans-serift de réparer les elytres, mais on ne pourrait plus les réparer avec du][font='Open Sans', Helvetica, Arial, sans-serif cuir][font='Open Sans', Helvetica, Arial, sans-serif. J'ai donc besoin d'une méthode permettant de faire en sorte qu'un item puisse réparer un autre item doté d'une durabilité, et une autre pour que le cuir ne soit plus capable de réparer les elytres. Avez vous une idée de quelles méthodes utiliser? P.S: Avant que ça commence à gueuler, oui, j'ai cherché ce que je cherche sur Internet et dans le code de plusieurs mods  😄 ]


  • Administrateurs

    Salut,
    Pour retirer une recette : https://www.minecraftforgefrance.fr/showthread.php?tid=3917#bonus
    Pour la réparation, il faudrait une classe à part implémentant l'interface Irecipe.



  • Merci! Mais ça marche aussi retirer une recette dans l'enclume?


  • Administrateurs

    Pour l'enclume non 😕
    Je ne sais pas si c'est possible, à voir s'il y a un event pour ou non.



  • Mince…



  • Grâce à ton (super) tutoriel de modding forge, je me suis rendu compte que si on peut bloquer le spawn d'un zombie avec un event, alors on peut certainement le faire pour empêcher le réparage de l'élytre avec le cuir! Bon, je pense que pour empêcher le cuir de réparer l'élytre, c'est bon, il me manque un truc pour faire en sorte que la membrane augmente la durabilité des elytras…



  • Je pense savoir comment faire, cela devra peu etre etre comme la durabilité des outils, dans mon mod, j'ai mon item qui répare mes armures et mes outils. Je vais manger puis je te marque cela 😄 en attendant, je cherche un tuto qui pourra t'aider
    [EDIT] Voila mon code, rajoute le dans une classe qui entends l'elytra.

    1. public boolean getIsRepairable(ItemStack input, ItemStack repair)
    2. {
    3. if(repair.getItem() == ModTutoriel.itemTutoriel)
    4. {
    5. return true;
    6. }
    7. return false;
    8. }


  • Je pense qu'il y a une solution plus simple si les Elytres sont gérées comme les autres armures : il faut récupérer le ArmorMaterial des Elytres et faire :

    material.customCraftingMaterial = tonItem;
    

    Comme ça, tu vas directement à la source du problème.



  • @'LeBossMax2':

    Je pense qu'il y a une solution plus simple si les Elytres sont gérées comme les autres armures : il faut récupérer le ArmorMaterial des Elytres et faire :

    material.customCraftingMaterial = tonItem;
    

    Comme ça, tu vas directement à la source du problème.

    D'accord, mais où tu veux en venir?



  • Je veux dire par là que les Elytres sont une partie d'arme donc possédent un ArmorMaterial ( ce qui enregistre les informations sur l'armure comme la durabilité, la résistance et l'objet qui permet de la réparer). Donc il doit exister quelque chose comme "ArmorMaterial. ELYTRA" pour récupérer l'Armormaterial. Ensuite tu peux changer sa variable "customCraftingMaterial" qui correspond à l'item nécessaire pour réparer l'armure.



  • Aaah j'ai compris! Merci!


  • Rédacteurs

    Et si cela ne marche pas, ce que tu cherches est l'event AnvilUpdateEvent



  • Oui! Rien qu'au nom je pense que c'est ce que j'ai besoin! Merci encore!