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.6k 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.
    • 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