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

Résolu Problème GUI

1.7.x
1.7.10
6
76
10.8k
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.
  • AymericRed
    AymericRed dernière édition par 27 févr. 2016, 22:18

    Euh, c’est normal que workingTimeNeeded soit toujours égal à 0 (cela correspond à un craft instantané), c’est cette valeur qui contrôle la vitesse (en ticks ton si tu met 20 ça fera 1 seconde) et si tu l’augmentes, normalement la flèche s’affichera.

    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 0
    • SpyMan
      SpyMan dernière édition par 27 févr. 2016, 22:29

      ça ne fonctionne pas 😕 c’est toujours instantané

      1 réponse Dernière réponse Répondre Citer 0
      • SpyMan
        SpyMan dernière édition par 27 févr. 2016, 22:34

        Je viens de m’apercevoir que la barre de progression s’affiche en fonction du nombre de craft quelle peut faire et pas en fonction du craft en cour

        1 réponse Dernière réponse Répondre Citer 0
        • AymericRed
          AymericRed dernière édition par 27 févr. 2016, 22:51

          Comment ça en fonction du nombre de craft qu’elle peut faire ?

          Et attention au double-post ^^

          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 0
          • SpyMan
            SpyMan dernière édition par 27 févr. 2016, 22:56

            le craft se lance mais la progress bar augmente en fonction du nombre de craft terminé mais pas pour le craft en cour
            J’ai mit workingTimeNeeded = 200 ça change rien 😕

            1 réponse Dernière réponse Répondre Citer 0
            • AymericRed
              AymericRed dernière édition par 27 févr. 2016, 23:01

              Ah oui c’est bizarre… Je vais regarder où il pourrait avoir une autre erreur

              EDIT:

                  @SideOnly(Side.CLIENT)
                  public int getCookProgress()
                  {
                      return this.workingTime * 41 / this.workingTimeNeeded;
                  }

              Le 41 est censé être la largeur de ta barre, sauf que sur ta texture, la barre fait 24 pixels, donc mets ça à 24.

              Si ça marche pas, la seule autre source possible de l’erreur est la synchro client-serveur.

              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 0
              • SpyMan
                SpyMan dernière édition par 27 févr. 2016, 23:15

                C’est déjà fait depuis longtemps 🙂 c’est que tu a pas le dernier src.zip

                1 réponse Dernière réponse Répondre Citer 0
                • AymericRed
                  AymericRed dernière édition par 27 févr. 2016, 23:21

                  @‘SpyMan’:

                  C’est déjà fait depuis longtemps 🙂 c’est que tu a pas le dernier src.zip

                  Pourtant je suis sur d’avoir le dernier  😕

                  Alors ça ne peut être que la synchro client-serveur, c’est le seul truc différent par rapport à mon four.

                  Mets un condition if(!wordObj.isRemote) avant le contenu de ta méthode updateEntity et dans ton container, mets les fonctions addCraftingToCrafters(), detectAndSendChanges et updateProgressBar() du four vanilla.

                  Si ça toujours marche pas, je sais pas d’où ça vient

                  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 0
                  • SpyMan
                    SpyMan dernière édition par 27 févr. 2016, 23:35

                    Je crains que ça ce fonctionne poins

                    1 réponse Dernière réponse Répondre Citer 0
                    • BrokenSwing
                      BrokenSwing Moddeurs confirmés Rédacteurs dernière édition par 27 févr. 2016, 23:36

                      La vitesse de craft c’est la variable workingTimeNeeded dans ton TE et pour la barre de progression c’est a peu preès ça :

                      if(this.tileAlloyer.isBurning())
                      {
                      /*
                      * this.drawTexturedModalRect(x, y, u, v, width, height)
                      *
                      * x: correspond à la coordonnée x du gui (in-game) où s'affichera la texture de la barre de progression.
                      * y: correspond à la coordonnée y du gui (in-game) où s'affichera la texture de la barre de progression.
                      * u: correspond à la position x de votre barre de progression sur votre texture (dans les ressources, l'image .png).
                      * v: correspond à la position y de votre barre de progression sur votre texture (dans les ressources, l'image .png).
                      * width: correspond à la largeur du morceau de texture que vous voulez afficher.
                      * height: correspond à la hauteur du morceau de texture que vous voulez afficher.
                      */
                      int i = tileAlloyer.getCookProgress() * 41 / 24; //Fix parce que ya pas les bonne valeurs dans ton TE
                      this.drawTexturedModalRect(k + 80, l + 35, 176, 14, i, 24);
                      }
                      1 réponse Dernière réponse Répondre Citer 0
                      • SpyMan
                        SpyMan dernière édition par 27 févr. 2016, 23:44

                        Mais pourquoi la variable workingTimeNeeded ne change pas le vitesse craft

                        1 réponse Dernière réponse Répondre Citer 0
                        • BrokenSwing
                          BrokenSwing Moddeurs confirmés Rédacteurs dernière édition par 27 févr. 2016, 23:49

                          Si ça ne change pas la durée de craft c’est sûrement parce que tu ne repose pas un bloc pour tester, tu utilise le bloc déjà posé contenant l’ancienne valeur de workingTimeNeeded, essai en reposant un bloc

                          1 réponse Dernière réponse Répondre Citer 1
                          • SpyMan
                            SpyMan dernière édition par 27 févr. 2016, 23:56

                            enfin workingTimeNeeded a fait effet, mais cette maudite progress bar est toujours basé sur les craft terminés et pas ceux en cour

                            1 réponse Dernière réponse Répondre Citer 0
                            • BrokenSwing
                              BrokenSwing Moddeurs confirmés Rédacteurs dernière édition par 28 févr. 2016, 00:00

                              C’est à dire les craft terminés ? Dans ton TE tu as ça ?

                              @SideOnly(Side.CLIENT)
                              public int getCookProgress()
                              {
                              return this.workingTime * 24 / this.workingTimeNeeded;
                              }

                              Et dans ton gui :

                              if(this.tileAlloyer.isBurning())
                              {
                              int i = tileAlloyer.getCookProgress();
                              this.drawTexturedModalRect(k + 80, l + 35, 176, 14, i, 24);
                              }
                              1 réponse Dernière réponse Répondre Citer 0
                              • SpyMan
                                SpyMan dernière édition par 28 févr. 2016, 00:01

                                Oui biensur

                                1 réponse Dernière réponse Répondre Citer 0
                                • AymericRed
                                  AymericRed dernière édition par 28 févr. 2016, 00:05

                                  “int i = this.tileAlloyer.getCookProgress() * 41 / 24;”

                                  Retire le “* 41 / 24”

                                  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 0
                                  • BrokenSwing
                                    BrokenSwing Moddeurs confirmés Rédacteurs dernière édition par 28 févr. 2016, 00:06

                                    Ton container :

                                    public class ContainerAlloyer extends Container
                                    {
                                    private TileEntityAlloyer tileAlloyer;
                                    private int workingTime;
                                    private int workingTimeNeeded;
                                    public ContainerAlloyer(TileEntityAlloyer tile, InventoryPlayer inventory)
                                    {
                                    this.tileAlloyer = tile;
                                    this.addSlotToContainer(new Slot((IInventory)tile, 0, 43, 17));//dust 1
                                    this.addSlotToContainer(new Slot((IInventory)tile, 1, 69, 17));//dust 2
                                    this.addSlotToContainer(new Slot((IInventory)tile, 2, 56, 53));//coal
                                    this.addSlotToContainer(new AlloyerSlotResult(tile, 3, 116, 35));//result
                                    this.bindPlayerInventory(inventory);
                                    }
                                    @Override
                                    public boolean canInteractWith(EntityPlayer player)
                                    {
                                    return this.tileAlloyer.isUseableByPlayer(player);
                                    }
                                    private void bindPlayerInventory(InventoryPlayer inventory)
                                    {
                                    int i;
                                    for (i = 0; i < 3; ++i)
                                    {
                                    for (int j = 0; j < 9; ++j)
                                    {
                                    this.addSlotToContainer(new Slot(inventory, j + i * 9 + 9, 8 + j * 18, 84 + i * 18));
                                    }
                                    }
                                    for (i = 0; i < 9; ++i)
                                    {
                                    this.addSlotToContainer(new Slot(inventory, i, 8 + i * 18, 142));
                                    }
                                    }
                                    public ItemStack transferStackInSlot(EntityPlayer player, int quantity)
                                    {
                                    ItemStack itemstack = null;
                                    Slot slot = (Slot)this.inventorySlots.get(quantity);
                                    if (slot != null && slot.getHasStack())
                                    {
                                    ItemStack itemstack1 = slot.getStack();
                                    itemstack = itemstack1.copy();
                                    if (quantity < this.tileAlloyer.getSizeInventory())
                                    {
                                    if (!this.mergeItemStack(itemstack1, this.tileAlloyer.getSizeInventory(), this.inventorySlots.size(), true))
                                    {
                                    return null;
                                    }
                                    }
                                    else if (!this.mergeItemStack(itemstack1, 0, this.tileAlloyer.getSizeInventory(), false))
                                    {
                                    return null;
                                    }
                                    if (itemstack1.stackSize == 0)
                                    {
                                    slot.putStack((ItemStack)null);
                                    }
                                    else
                                    {
                                    slot.onSlotChanged();
                                    }
                                    }
                                    return itemstack;
                                    }
                                    public void onContainerClosed(EntityPlayer player)
                                    {
                                    super.onContainerClosed(player);
                                    this.tileAlloyer.closeInventory();
                                    }
                                    public void detectAndSendChanges()
                                    {
                                    super.detectAndSendChanges();
                                    for(int i = 0; i < this.crafters.size(); ++i)
                                    {
                                    ICrafting icrafting = (ICrafting)this.crafters.get(i);
                                    if(this.workingTime != this.tileAlloyer.workingTime)
                                    {
                                    icrafting.sendProgressBarUpdate(this, 0, this.tileAlloyer.workingTime);
                                    }
                                    if(this.workingTimeNeeded != this.tileAlloyer.workingTimeNeeded)
                                    {
                                    icrafting.sendProgressBarUpdate(this, 1, this.tileAlloyer.workingTimeNeeded);
                                    }
                                    }
                                    this.workingTime = this.tileAlloyer.workingTime;
                                    this.workingTimeNeeded = this.tileAlloyer.workingTimeNeeded;
                                    }
                                    @SideOnly(Side.CLIENT)
                                    public void updateProgressBar(int id, int value)
                                    {
                                    if(id == 0)
                                    {
                                    this.tileAlloyer.workingTime = value;
                                    }
                                    if(id == 1)
                                    {
                                    this.tileAlloyer.workingTimeNeeded = value;
                                    }
                                    }
                                    }

                                    Et tu dois bien sûr passer en public les 2 variables de durée dans ton TE

                                    1 réponse Dernière réponse Répondre Citer 1
                                    • SpyMan
                                      SpyMan dernière édition par 28 févr. 2016, 00:09

                                      Toujours pas 😕

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • SpyMan
                                        SpyMan dernière édition par 28 févr. 2016, 00:17

                                        Merci !!! ça marche 🙂
                                        Mais comment je peut faire le combustible maintenant ? j’ai essayé pas mal de choses sans resusltat

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • BrokenSwing
                                          BrokenSwing Moddeurs confirmés Rédacteurs dernière édition par 28 févr. 2016, 00:23

                                          Tu veux faire quoi comme système ? Un combustible spécifique à chaque recette ? Une liste de combustibles utilisables pour faire cuire tes recettes ? Utiliser les combustibles de minecraft ? Une liste de combustibles spécifique à chaque recette ?

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • 1
                                          • 2
                                          • 3
                                          • 4
                                          • 3 / 4
                                          41 sur 76
                                          • Premier message
                                            41/76
                                            Dernier message
                                          Design by Woryk
                                          Contact / Mentions Légales

                                          MINECRAFT FORGE FRANCE © 2018

                                          Powered by NodeBB