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