MFF

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

    [1.7.10] Créer une deuxième Barre D'Armure

    Planifier Épinglé Verrouillé Déplacé Non résolu Sans suite
    1.7.10
    14 Messages 3 Publieurs 1.2k Vues 3 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.
    • blixow14B Hors-ligne
      blixow14
      dernière édition par blixow14

      Si tu veux que tes armures moddées soient plus puissante que le diamant et que ce soit géré correctement je te conseille d’utiliser l’interface ISpecialArmor. Celle-ci te permet de créer des armures plus puissantes que le diamant, et d’avoir un gestion très précise des dégâts et durabilité des armures.
      Cela t’évite de devoir t’embêter à créer des barres d’armures, car je pense que c’est plus compliqué.

      J'aime les pâtes

      FayDownF 1 réponse Dernière réponse Répondre Citer 0
      • FayDownF Hors-ligne
        FayDown @blixow14
        dernière édition par

        @blixow14 Donc avec ISpecialArmor, une deuxième barre de points d’armures apparaitra ?

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

          Bonsoir,

          Non il n’y a pas de deuxième ligne d’armure nativement.
          Il faut la dessiner soit même avec l’évent RenderGameOverlayEvent.

          FayDownF 2 réponses Dernière réponse Répondre Citer 0
          • FayDownF Hors-ligne
            FayDown @robin4002
            dernière édition par

            Ce message a été supprimé !
            1 réponse Dernière réponse Répondre Citer 0
            • FayDownF Hors-ligne
              FayDown @robin4002
              dernière édition par FayDown

              @robin4002 Salut, j’ai tester comme de faire sa :

              if(event.type == RenderGameOverlayEvent.ElementType.ARMOR)
                      {
                          Minecraft mc = Minecraft.getMinecraft();
                          event.setCanceled(true);
                          
                          float ard = mc.thePlayer.getTotalArmorValue();
                          String armore = EnumChatFormatting.AQUA + "Armure TEST" + EnumChatFormatting.BLUE + ard;
                          this.drawString(mc.fontRenderer, armore, 230, 290, 16777215);
                      }
              

              Et la barre de nourriture est devenue Bleu enfin regarde le résultat.
              Mais à la place du String armor j’aimerais ajouter la texture de la barre d’armure pour la rajouter
              D’ailleurs voici le résultat que j’ai réussi à obtenir 🙂
              Résultat

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

                Il faut réinitialiser la couleur après le draw avec un GL11.glColor3f(1.0F, 1.0F, 1.0F); sinon la dernière couleur utilisée reste.

                FayDownF 1 réponse Dernière réponse Répondre Citer 0
                • FayDownF Hors-ligne
                  FayDown @robin4002
                  dernière édition par FayDown

                  @robin4002 Ok, mais je ne comprends pas où écrir ce que tu m’as dis de rajouter, et comment je peux faire pour récupérer la texture de l’armure pour rajouter ma deuxième Barre ? Ou alors comment ajouter une texture nouvelle (exemple : Bouclier, qui se remplit au fur et à mesure que l’armure est puissante) mais je préfère quand meme la première idée 🙂

                              this.drawString(mc.fontRenderer, armore, 230, 290, 16777215);
                              GL11.glColor3f(1.0F, 1.0F, 1.0F); //Ici ?
                  
                  
                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    dernière édition par

                    Oui ici pour le color3f

                    Pour ajouter une texture il faut bind la ressource location contenant la texture et utiliser les fonctions de draw de la classe gui.

                    FayDownF 1 réponse Dernière réponse Répondre Citer 0
                    • FayDownF Hors-ligne
                      FayDown @robin4002
                      dernière édition par

                      @robin4002 J’ai pas compris comment il fallait faire …
                      Tu as surement bien expliqué mais je débute donc j’ai pas compris ce que tu as dis, tu pourrais-m’expliqué ?

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

                        Je n’ai plus de workspace 1.7 sur mon pc depuis bien longtemps et je ne connais plus par coeur le nom de fonction donc je ne vais pas pouvoir te donner de code d’exemple.

                        Regardes dans la classe GuiIngame de Minecraft, localises où le rendu de l’armure est fait, c’est le même principe que tu dois réaliser.

                        FayDownF 2 réponses Dernière réponse Répondre Citer 0
                        • FayDownF Hors-ligne
                          FayDown @robin4002
                          dernière édition par

                          @robin4002 Ok mais je trouve pas le nom que cela porte, il me semble que c’est actionsbar mais je suis pas sûr.

                          if (!this.mc.playerController.enableEverythingIsScrewedUpMode())
                                  {
                                      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                                      this.mc.getTextureManager().bindTexture(widgetsTexPath);
                                      InventoryPlayer inventoryplayer = this.mc.thePlayer.inventory;
                                      this.zLevel = -90.0F;
                                      this.drawTexturedModalRect(k / 2 - 91, l - 22, 0, 0, 182, 22);
                                      this.drawTexturedModalRect(k / 2 - 91 - 1 + inventoryplayer.currentItem * 20, l - 22 - 1, 0, 22, 24, 22);
                                      this.mc.getTextureManager().bindTexture(icons);
                                      GL11.glEnable(GL11.GL_BLEND);
                                      OpenGlHelper.glBlendFunc(775, 769, 1, 0);
                                      this.drawTexturedModalRect(k / 2 - 7, l / 2 - 7, 0, 0, 16, 16);
                                      OpenGlHelper.glBlendFunc(770, 771, 1, 0);
                                      this.mc.mcProfiler.startSection("bossHealth");
                                      this.renderBossHealth();
                                      this.mc.mcProfiler.endSection();
                          
                                      if (this.mc.playerController.shouldDrawHUD())
                                      {
                                          this.func_110327_a(k, l);
                                      }
                          
                                      this.mc.mcProfiler.startSection("actionBar");
                                      GL11.glEnable(GL12.GL_RESCALE_NORMAL);
                                      RenderHelper.enableGUIStandardItemLighting();
                          
                                      for (i1 = 0; i1 < 9; ++i1)
                                      {
                                          j1 = k / 2 - 90 + i1 * 20 + 2;
                                          k1 = l - 16 - 3;
                                          this.renderInventorySlot(i1, j1, k1, p_73830_1_);
                                      }
                          
                                      RenderHelper.disableStandardItemLighting();
                                      GL11.glDisable(GL12.GL_RESCALE_NORMAL);
                                      this.mc.mcProfiler.endSection();
                                      GL11.glDisable(GL11.GL_BLEND);
                                  }
                          
                                  int l4;
                          
                                  if (this.mc.thePlayer.getSleepTimer() > 0)
                                  {
                                      this.mc.mcProfiler.startSection("sleep");
                                      GL11.glDisable(GL11.GL_DEPTH_TEST);
                                      GL11.glDisable(GL11.GL_ALPHA_TEST);
                                      l4 = this.mc.thePlayer.getSleepTimer();
                                      float f2 = (float)l4 / 100.0F;
                          
                                      if (f2 > 1.0F)
                                      {
                                          f2 = 1.0F - (float)(l4 - 100) / 10.0F;
                                      }
                          
                                      j1 = (int)(220.0F * f2) << 24 | 1052704;
                                      drawRect(0, 0, k, l, j1);
                                      GL11.glEnable(GL11.GL_ALPHA_TEST);
                                      GL11.glEnable(GL11.GL_DEPTH_TEST);
                                      this.mc.mcProfiler.endSection();
                                  }
                          
                                  l4 = 16777215;
                                  GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                                  i1 = k / 2 - 91;
                                  int l1;
                                  int i2;
                                  int j2;
                                  int k2;
                                  float f3;
                                  short short1;
                          
                                  if (this.mc.thePlayer.isRidingHorse())
                                  {
                                      this.mc.mcProfiler.startSection("jumpBar");
                                      this.mc.getTextureManager().bindTexture(Gui.icons);
                                      f3 = this.mc.thePlayer.getHorseJumpPower();
                                      short1 = 182;
                                      l1 = (int)(f3 * (float)(short1 + 1));
                                      i2 = l - 32 + 3;
                                      this.drawTexturedModalRect(i1, i2, 0, 84, short1, 5);
                          
                                      if (l1 > 0)
                                      {
                                          this.drawTexturedModalRect(i1, i2, 0, 89, l1, 5);
                                      }
                          
                                      this.mc.mcProfiler.endSection();
                                  }
                                  else if (this.mc.playerController.gameIsSurvivalOrAdventure())
                                  {
                                      this.mc.mcProfiler.startSection("expBar");
                                      this.mc.getTextureManager().bindTexture(Gui.icons);
                                      j1 = this.mc.thePlayer.xpBarCap();
                          
                                      if (j1 > 0)
                                      {
                                          short1 = 182;
                                          l1 = (int)(this.mc.thePlayer.experience * (float)(short1 + 1));
                                          i2 = l - 32 + 3;
                                          this.drawTexturedModalRect(i1, i2, 0, 64, short1, 5);
                          
                                          if (l1 > 0)
                                          {
                                              this.drawTexturedModalRect(i1, i2, 0, 69, l1, 5);
                                          }
                                      }
                          
                                      this.mc.mcProfiler.endSection();
                          
                                      if (this.mc.thePlayer.experienceLevel > 0)
                                      {
                                          this.mc.mcProfiler.startSection("expLevel");
                                          boolean flag2 = false;
                                          l1 = flag2 ? 16777215 : 8453920;
                                          String s3 = "" + this.mc.thePlayer.experienceLevel;
                                          j2 = (k - fontrenderer.getStringWidth(s3)) / 2;
                                          k2 = l - 31 - 4;
                                          boolean flag1 = false;
                                          fontrenderer.drawString(s3, j2 + 1, k2, 0);
                                          fontrenderer.drawString(s3, j2 - 1, k2, 0);
                                          fontrenderer.drawString(s3, j2, k2 + 1, 0);
                                          fontrenderer.drawString(s3, j2, k2 - 1, 0);
                                          fontrenderer.drawString(s3, j2, k2, l1);
                                          this.mc.mcProfiler.endSection();
                                      }
                                  }
                          
                                  String s2;
                          
                                  if (this.mc.gameSettings.heldItemTooltips)
                                  {
                                      this.mc.mcProfiler.startSection("toolHighlight");
                          
                                      if (this.remainingHighlightTicks > 0 && this.highlightingItemStack != null)
                                      {
                                          s2 = this.highlightingItemStack.getDisplayName();
                                          k1 = (k - fontrenderer.getStringWidth(s2)) / 2;
                                          l1 = l - 59;
                          
                                          if (!this.mc.playerController.shouldDrawHUD())
                                          {
                                              l1 += 14;
                                          }
                          
                                          i2 = (int)((float)this.remainingHighlightTicks * 256.0F / 10.0F);
                          
                                          if (i2 > 255)
                                          {
                                              i2 = 255;
                                          }
                          
                                          if (i2 > 0)
                                          {
                                              GL11.glPushMatrix();
                                              GL11.glEnable(GL11.GL_BLEND);
                                              OpenGlHelper.glBlendFunc(770, 771, 1, 0);
                                              fontrenderer.drawStringWithShadow(s2, k1, l1, 16777215 + (i2 << 24));
                                              GL11.glDisable(GL11.GL_BLEND);
                                              GL11.glPopMatrix();
                                          }
                                      }
                          
                                      this.mc.mcProfiler.endSection();
                                  }
                          
                          1 réponse Dernière réponse Répondre Citer 0
                          • FayDownF Hors-ligne
                            FayDown @robin4002
                            dernière édition par

                            @robin4002 Dailleurs il faut que je lui donne la priorité dans le proxy client normalement non ?

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

                              Je n’ai pas l’impression que l’armure soit dans la partie que tu as envoyée.
                              On voit par contre la barre d’xp, la barre des items et le rendu de la vie des bosses.

                              Je ne vois pas de quelle priorité tu parles.

                              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