• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Une question sur les backpacks

    1.7.x
    1.7.10
    3
    10
    2436
    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.
    • Y
      yveslefou dernière édition par

      Bonjour j’ais réaliser le tuto de scarex sur les backpacks (qui est un exellent tuto, https://www.minecraftforgefrance.fr/showthread.php?tid=2197) et j’aimerais savoir deux choses dessus.

      1.Je voudrais savoir comment modifier le gui pour qu’il y est par exemple que 4 slots. Je pense que c’est à ce niveaux :

      public class ContainerBackPack extends Container{
      public InventoryBackPack invBackpack;
      public int rows;
      
      public ContainerBackPack(InventoryPlayer playerInv, InventoryBackPack inv) {
      this.invBackpack = inv;
      this.rows = inv.getSizeInventory() / 9;
      int i = (this.rows - 4) * 18;
      int j;
      int k;
      
      // Juste aprés
      for (j = 0; j < this.rows; ++j) {
      for (k = 0; k < 9; ++k) {
      this.addSlotToContainer(new SlotBackPack(inv, k + j * 9, 8 + k * 18, 18 + j * 18));
      }
      }
      

      Mais je ne comprends pas les valeurs K et J utilisé.

      2. Je souhaiterais savoir comment changé le nom du gui lorsque le joueur l’ouvre ( Ce qui est marqué au dessus des slots dans le gui ) j’ais essayé de mettre ce qui est écrit dans le fichier lang comme pour les items mais cela ne fonctionne apparement pas.

      Ps : en piéce jointe il y a une image du ‘nom du gui’ dont je parle

      1 réponse Dernière réponse Répondre Citer 0
      • AymericRed
        AymericRed dernière édition par

        Ce n’est pas très compliqué, remplaces j par y et k par x, tu comprendras mieux le système ^^, mais n’oublie pas de changer la taille de ton tableau de stack dans la classe InventoryBackPack.
        Pour le titre du gui, montre la ligne où tu dessines le titre, il doit manquer l’appel de la fonction qui traduit.

        Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

        AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

        Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
        Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

        1 réponse Dernière réponse Répondre Citer 1
        • SCAREX
          SCAREX dernière édition par

          Dans mon tutoriel je montrais comment faire un backpack mais de façon général comment afficher un gui et un container grâce à un item : il te faut ajouter tes 4 slots dans ton container de la manière que tu veux et dans le Gui soit tu n’as pas traduit le texte, soit dans le code il manque la partie où le texte est traduit.

          Pour ce qui est des valeurs j et k : j représente le nombre de lignes et k le nombre de colonnes.

          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 1
          • Y
            yveslefou dernière édition par

            @‘AymericRed’:

            Ce n’est pas très compliqué, remplaces j par y et k par x, tu comprendras mieux le système ^^, mais n’oublie pas de changer la taille de ton tableau de stack dans la  classe InventoryBackPack.
            Pour le titre du gui, montre la ligne où tu dessines le titre, il doit manquer l’appel  de la fonction qui traduit.

            Je pense qu’il s’agit de cette classe :

            package fr.extazilia.extaziliamod.common.sac;
            
            import org.lwjgl.opengl.GL11;
            
            import net.minecraft.client.gui.inventory.GuiContainer;
            import net.minecraft.client.resources.I18n;
            import net.minecraft.entity.player.InventoryPlayer;
            import net.minecraft.util.ResourceLocation;
            
            public class GuiBackPack extends GuiContainer
            {
            public static final ResourceLocation texture = new ResourceLocation("textures/gui/container/generic_54.png");
            protected InventoryBackPack inv2;
            protected InventoryPlayer playerinv2;
            public int rows;
            
            public GuiBackPack(InventoryPlayer playerInv, InventoryBackPack inv) {
            
            super(new ContainerBackPack(playerInv, inv));
            this.playerinv2 = playerInv;
            this.inv2 = inv;
            this.allowUserInput = false;
            // Calculate the number of rows
            this.rows = inv.getSizeInventory() / 9;
            // Height of the GUI using the number of rows
            this.ySize = 114 + this.rows * 18;
            }
            
            @Override
            protected void drawGuiContainerForegroundLayer(int x, int y) {
            this.fontRendererObj.drawString(I18n.format(this.inv2.getInventoryName(), new Object[0]), 8, 6, 4210752);
            this.fontRendererObj.drawString(this.playerinv2.hasCustomInventoryName() ? this.playerinv2.getInventoryName() : I18n.format(this.playerinv2.getInventoryName(), new Object[0]), 8, this.ySize - 96 + 2, 4210752);
            }
            
            @Override
            protected void drawGuiContainerBackgroundLayer(float prt, int x, int y) {
            GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
            this.mc.getTextureManager().bindTexture(texture);
            
            // Centering GUI
            int k = (this.width - this.xSize) / 2;
            int l = (this.height - this.ySize) / 2;
            
            // Drawing the first part of the GUI (slots of the backpack)
            this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.rows * 18 + 17);
            // And after the slots from the player's inventory
            this.drawTexturedModalRect(k, l + this.rows * 18 + 17, 0, 126, this.xSize, 96);
            }
            }
            

            enfin surement de cette fonction mais je suis pas sur :

            @Override
            protected void drawGuiContainerForegroundLayer(int x, int y) {
            this.fontRendererObj.drawString(I18n.format(this.inv2.getInventoryName(), new Object[0]), 8, 6, 4210752);
            this.fontRendererObj.drawString(this.playerinv2.hasCustomInventoryName() ? this.playerinv2.getInventoryName() : I18n.format(this.playerinv2.getInventoryName(), new Object[0]), 8, this.ySize - 96 + 2, 4210752);
            }
            
            1 réponse Dernière réponse Répondre Citer 0
            • SCAREX
              SCAREX dernière édition par

              c’est ça, vu que tu fais appelle à I18n tu as oublié de modifier la traduction

              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
              • Y
                yveslefou dernière édition par

                Au final j’ais réussie à modifier le titre du gui mais pas a modifier la taille du container. Je vais voir pour une méthode je pense.

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

                  La taille dépend surtout de ta texture

                  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
                  • Y
                    yveslefou dernière édition par

                    @‘SCAREX’:

                    La taille dépend surtout de ta texture

                    La taille des contenaire dépend de la texture ? ( je parle de la grille de slot )

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

                      ah bah non ça ça dépend de ton container

                      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 1
                      • Y
                        yveslefou dernière édition par

                        @‘SCAREX’:

                        ah bah non ça ça dépend de ton container

                        Un grand merci en revérifiant la classe du container et du gui j’ais réussie a en faire ce je voulé.

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

                        MINECRAFT FORGE FRANCE © 2018

                        Powered by NodeBB