MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Item qui rend de la durabilité

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    19 Messages 7 Publieurs 3.5k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Salut,
      getIsRepairable c’est pour la réparation via enclume.
      Ce que tu souhaites c’est que lorsque l’item est porté dans l’inventaire l’armure se restaure. Mais comment ? D’un coup ? Progressivement ? L’item doit-il s’user en même temps ?

      1 réponse Dernière réponse Répondre Citer 0
      • M Hors-ligne
        mosca421
        dernière édition par

        Elle se restaure petit a petit en enlevant de la durabilité sur l’item une fois que l’item est a 0 il ne casse pas mais ne regen plus

        1 réponse Dernière réponse Répondre Citer 0
        • BrokenSwingB Hors-ligne
          BrokenSwing Moddeurs confirmés Rédacteurs
          dernière édition par

          Un truc comme ça ?

          
          @Override
          public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean selected)
          {
          if(entity instanceof EntityPlayer) //Si c'est un joueur
          {
          EntityPlayer player = (EntityPlayer) entity; //On cast
          for(int i = 0; i < 4; i++) //Il y a 4 pièces d'armure
          {
          ItemStack armor = player.getCurrentArmor(i); //On récupère la pièce
          if(armor != null) //Cas où le slot est vide on ne rentre pas
          {
          //Vérifie qu'on répare pas un item entièrement réparé et qu'il reste de la durabilité à l'item qui répare
          if(armor.getItemDamage() > 0 && stack.getItemDamage() < stack.getMaxDamage())
          {
          stack.setItemDamage(stack.getItemDamage() + 1); //On enlève de la durabilité à l'item qui répare
          armor.setItemDamage(armor.getItemDamage() - 1); //On rajoute de la durabilité à la pièce d'armure
          }
          }
          }
          }
          }
          
          

          Et pense à mettre :

          
          this.setMaxDamage(le nombre que tu veux);
          
          

          Dans le constructeur

          1 réponse Dernière réponse Répondre Citer 0
          • DeletedD Hors-ligne
            Deleted
            dernière édition par

            Lis bien ton code bodri, quand tu dis que tu enlèves de la durabilité tu mets +1 et vice-versa. De plus dans ta condition, tu as inversé le nom des variables, elle devrait plutôt être comme ça :

            
            //Vérifie qu'on répare pas un item entièrement réparé et qu'il reste de la durabilité à l'item qui répare
            if(stack.getItemDamage() > 0 && armor.getItemDamage() < armor.getMaxDamage())
            {
            stack.setItemDamage(stack.getItemDamage() - 1); //On enlève de la durabilité à l'item qui répare
            armor.setItemDamage(armor.getItemDamage() +1); //On rajoute de la durabilité à la pièce d'armure
            }
            
            
            1 réponse Dernière réponse Répondre Citer 0
            • M Hors-ligne
              mosca421
              dernière édition par

              Et il y moyen de faire que je puisse réparer avec un item lui rendre 50 dura par item

              1 réponse Dernière réponse Répondre Citer 0
              • DeletedD Hors-ligne
                Deleted
                dernière édition par

                Tu veux dire rendre instantanément après clic droit, 50 de dura à l’armure ?
                Si oui, tout se passe dans la méthode onItemRightClick et c’est quasiment le même code qu’on t’a donné 😃

                1 réponse Dernière réponse Répondre Citer 0
                • M Hors-ligne
                  mosca421
                  dernière édition par

                  Non je veux dire que mettre un ingot plus l’anneau dans la table de craft = donné 50 dura a l’anneau en plus

                  1 réponse Dernière réponse Répondre Citer 0
                  • SCAREXS Hors-ligne
                    SCAREX
                    dernière édition par

                    Regarde les crafts de minecraft avec l’armure et les outils

                    Site web contenant mes scripts : http://SCAREXgaming.github.io

                    Pas de demandes de support par MP ni par skype SVP.
                    Je n'accepte sur skype que l…

                    1 réponse Dernière réponse Répondre Citer 0
                    • BrokenSwingB Hors-ligne
                      BrokenSwing Moddeurs confirmés Rédacteurs
                      dernière édition par

                      @‘Julot10085’:

                      Lis bien ton code bodri, quand tu dis que tu enlèves de la durabilité tu mets +1 et vice-versa. De plus dans ta condition, tu as inversé le nom des variables, elle devrait plutôt être comme ça :

                      
                      //Vérifie qu'on répare pas un item entièrement réparé et qu'il reste de la durabilité à l'item qui répare
                      if(stack.getItemDamage() > 0 && armor.getItemDamage() < armor.getMaxDamage())
                      {
                      stack.setItemDamage(stack.getItemDamage() - 1); //On enlève de la durabilité à l'item qui répare
                      armor.setItemDamage(armor.getItemDamage() +1); //On rajoute de la durabilité à la pièce d'armure
                      }
                      
                      

                      Tu t’es embrouillé, mon code était bon (je l’avais testé), quand on fait ```java
                      stack.setItemDamage(stack.getItemDamage() + 1);

                      Effectivement on exprime la durabilité de cette façon :
                      ```java
                      int durability = stack.getMaxDamage() - stack.getItemDamage();
                      

                      Ainsi en ajout 1 à itemDamage on enlève 1 à la durabilité.
                      J’espère que tu as compris.

                      Même raisonnement pour la condition, imagine l’item qui répare a pour itemDamageMax 100 et pour itemDamage 100 aussi, alors sa durabilité sera égale à 100 - 100 = 0 (0 de durabilité on ne devrait pas pouvoir réparer), cependant 100 > 0 donc ton code dirait que l’on peut réparer.

                      Tout ça pour dire qu’il ne faut confondre durabilité et damageValue.

                      –-----------------------------------------------------------------------------------------

                      Quand à l’histoire de rajouter de la durabilité on craftant il faut que tu passe par une implémentation de IRecipe, regard dans la classe se trouvant dans net.minecraft.item.crafting.RecipeRepairItem et il y a un tuto sur MFF qui explique comment créer un implémentation de IRecipe

                      1 réponse Dernière réponse Répondre Citer 0
                      • DeletedD Hors-ligne
                        Deleted
                        dernière édition par

                        A ok autant pour moi, tu m’apprends quelque chose 😃

                        1 réponse Dernière réponse Répondre Citer 0
                        • M Hors-ligne
                          mosca421
                          dernière édition par

                          Alors j’ai chercher un peu mais je ne trouve pas comment réparer mon item dans l’inventaire grâce a un lingot donc si jamais quelqu’un connais la classe de minecraft qui gère ça je prendrais bien
                          Merci !

                          1 réponse Dernière réponse Répondre Citer 0
                          • SCAREXS Hors-ligne
                            SCAREX
                            dernière édition par

                            Si c’est en craft :
                            @‘SCAREX’:

                            Regarde les crafts de minecraft avec l’armure et les outils

                            Site web contenant mes scripts : http://SCAREXgaming.github.io

                            Pas de demandes de support par MP ni par skype SVP.
                            Je n'accepte sur skype que l…

                            1 réponse Dernière réponse Répondre Citer 0
                            • M Hors-ligne
                              mosca421
                              dernière édition par

                              Si c’est en craft :

                              Je me doute mais où qu’on le trouve car je me balade dans net.minecraft.item.crafting mais je ne vois pas où

                              1 réponse Dernière réponse Répondre Citer 0
                              • SCAREXS Hors-ligne
                                SCAREX
                                dernière édition par

                                Effectivement minecraft fait ces crafts directement dans le CraftingManager, mais tu peux utiliser le tutoriel sur le forum pour faire un IRecipe custom

                                Site web contenant mes scripts : http://SCAREXgaming.github.io

                                Pas de demandes de support par MP ni par skype SVP.
                                Je n'accepte sur skype que l…

                                1 réponse Dernière réponse Répondre Citer 0
                                • M Hors-ligne
                                  mosca421
                                  dernière édition par

                                  Voila Voila J’ai le Irecipe ça marche Merci =p

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • M Hors-ligne
                                    MLNgamer
                                    dernière édition par

                                    tu peux me donner le code en entier avec la durabilité a definir stp

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • L Hors-ligne
                                      Loko_Liveh
                                      dernière édition par

                                      Évite de remonter des si anciens sujets 😉

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • DeletedD Hors-ligne
                                        Deleted
                                        dernière édition par

                                        Et toi évite quand tu ajoutes un message de citer 3 ou 4 autres messages aussi longs que ça 😉
                                        Et si tu as du mal avec un post aussi vieux (effectivement) @MLNGamer, recrée un nouveau topic à la place de déterrer 😃

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • 1 / 1
                                        • Premier message
                                          Dernier message
                                        Design by Woryk
                                        ContactMentions Légales

                                        MINECRAFT FORGE FRANCE © 2024

                                        Powered by NodeBB