MFF

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

    Update Entity,Bloc Machine

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    25 Messages 3 Publieurs 4.7k 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.
    • XeNeX Hors-ligne
      XeNe
      dernière édition par

      Salut,
      ça fait environ 2 semaines(oui,oui 2 semaines) que je cherche de faire un "double update entity"je m’explique:
      Mon block s’update quand la recette débute mais a la fin de la recette elle ne se re-update pas.
      j’ai chercher dans plusieurs mods avec JD-GUI mais j’ai rien trouvé  :s  
      Du coup vous avez une petite idée?

      Aller voir l’état de mon mod sur trello! https://trello.com/b/p0JMg4ki/taqmod2

      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

        Envoies ton code.

        1 réponse Dernière réponse Répondre Citer 0
        • XeNeX Hors-ligne
          XeNe
          dernière édition par

          Voila le code : http://pastebin.com/hfBbNwRa

          Aller voir l’état de mon mod sur trello! https://trello.com/b/p0JMg4ki/taqmod2

          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

            Ta fonction updateEntity n’est pas correcte, c’est pour ça que cela update que dans au début et pas à la fin.
            Regarde la classe TileEntityFurnace

            1 réponse Dernière réponse Répondre Citer 0
            • XeNeX Hors-ligne
              XeNe
              dernière édition par

              ok merci je regarderai 😄
              EDIT: Bon j’ai corriger le truc mais,depuis que j’ai modifier

              
              if (flag != power > 0) {
              flag1 = true;
              PlateMachine.updateFurnaceBlockState(this.power > 0,this.worldObj, this.xCoord, this.yCoord, this.zCoord);
               }
              

              L’update ne se fait plus.

              Aller voir l’état de mon mod sur trello! https://trello.com/b/p0JMg4ki/taqmod2

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

                Mets un @override sur toutes les fonctions qui en ont besoin, çà te permettra de voir quelles fonctions ne sont pas correctes.

                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
                • robin4002R Hors-ligne
                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                  dernière édition par

                  Non, à mon avis il te manque d’autres trucs avec la boolean flag.

                  1 réponse Dernière réponse Répondre Citer 0
                  • XeNeX Hors-ligne
                    XeNe
                    dernière édition par

                    Pourtant quand je regarde dans le TileEntity du furnace(ctrl + f) avec flag il n’y a que

                    boolean flag = this.furnaceBurnTime > 0;
                    

                    et ça

                    
                    if (flag != this.furnaceBurnTime > 0)
                    {
                    flag1 = true;
                    BlockFurnace.updateFurnaceBlockState(this.furnaceBurnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord);
                    }
                    

                    du coup je re-envois pour voir si il n’y a pas de fautes … :s

                    public void updateEntity() {
                    boolean flag = this.power > 0;
                    boolean flag1 = false;
                    
                    if (hasPower() && isMacerating()) {
                    this.power--;
                    }
                    if (!this.worldObj.isRemote) {
                    if(this.power  !=0 ||this.slots[0] != null){
                    
                    if (this.power == 0 && this.canSmelt()){
                                       if (this.power > 0)
                                       {
                                           flag1 = true;
                                       }
                    }
                    
                    if (this.canSmelt() && this.hasPower() ) {
                    ++this.cookTime;
                    
                    if (this.cookTime == this.maceratingSpeed) {
                    
                    this.cookTime = 0;
                    this.smeltItem();
                    flag1 = true;
                    }
                    } else {
                    this.cookTime = 0;
                    }
                    }
                    
                    if (flag != power > 0) {
                    flag1 = true;
                    PlateMachine.updateFurnaceBlockState(this.power > 0,this.worldObj, this.xCoord, this.yCoord, this.zCoord);
                    
                    }
                    }
                    if (flag1) {
                    this.markDirty();
                    }
                    if (!addedToEnet) onLoaded();
                    }
                    

                    Aller voir l’état de mon mod sur trello! https://trello.com/b/p0JMg4ki/taqmod2

                    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

                      Mets des System.out.println pour voir ce qu’il se passe.

                      1 réponse Dernière réponse Répondre Citer 0
                      • XeNeX Hors-ligne
                        XeNe
                        dernière édition par

                        Bon ça me spamme de “LA RECETTE MARCHE” xD
                        Mais Parcontre il semble que l’update ne se fasse pas

                        Aller voir l’état de mon mod sur trello! https://trello.com/b/p0JMg4ki/taqmod2

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

                          Mets en plusieurs à plusieurs endroits et c’est mieux de nous dire où tu les a mis.

                          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
                          • XeNeX Hors-ligne
                            XeNe
                            dernière édition par

                            Bon voila le code de l’updateEntity

                            public void updateEntity() {
                            boolean flag = this.power > 0;
                            boolean flag1 = false;
                            
                            if (hasPower() && isMacerating()) {
                            this.power–;
                            }
                            if (!this.worldObj.isRemote) {
                            if(this.power  !=0 ||this.slots[0] != null){
                            
                            if (this.power == 0 && this.canSmelt()){
                                               if (this.power > 0)
                                               {
                                                   flag1 = true;
                                               }
                            }
                            
                            if (this.canSmelt() && this.hasPower() ) {
                            ++this.cookTime;
                            
                            System.out.println("la recette marche");
                            
                            if (this.cookTime == this.maceratingSpeed) {
                            
                            this.cookTime = 0;
                            this.smeltItem();
                            flag1 = true;
                            }
                            } else {
                            this.cookTime = 0;
                            }
                            }
                            
                            if (flag != power > 0) {
                            flag1 = true;
                            PlateMachine.updateFurnaceBlockState(this.power > 0,this.worldObj, this.xCoord, this.yCoord, this.zCoord);
                            System.out.println("update?");
                            }
                            }
                            if (flag1) {
                            this.markDirty();
                            }
                            if (!addedToEnet) onLoaded();
                            }
                            

                            Donc j’en ai mis 2,Hors ça m’en spam qu’un(“La recette marche”)
                            Il ne me spam pas de “update?” donc il y a forcement un problème avec le

                            if(flag!= power > 0)
                            

                            ce qui empêche .updateFurnaceBlockState

                            Aller voir l’état de mon mod sur trello! https://trello.com/b/p0JMg4ki/taqmod2

                            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

                              Affiche la valeur de flag et la valeur de power > 0

                              1 réponse Dernière réponse Répondre Citer 0
                              • XeNeX Hors-ligne
                                XeNe
                                dernière édition par

                                Nope ça n’a rien changé

                                Aller voir l’état de mon mod sur trello! https://trello.com/b/p0JMg4ki/taqmod2

                                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

                                  Non mais je sais très bien que ça va rien changer x)
                                  Ce que je veux c’est la valeur de ces deux booleans x)

                                  Faut vraiment que je fasse un tutoriel pour expliquer comment déboguer du code.

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • XeNeX Hors-ligne
                                    XeNe
                                    dernière édition par

                                    boolean flag = this.power > 0;
                                    

                                    par contre l’autre boolean tu veux parler de this.power?

                                    Aller voir l’état de mon mod sur trello! https://trello.com/b/p0JMg4ki/taqmod2

                                    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

                                      Ok, tu n’as rien compris.
                                      Comme ça :

                                      public void updateEntity() {
                                      boolean flag = this.power > 0;
                                      boolean flag1 = false;
                                      
                                      if (hasPower() && isMacerating()) {
                                      this.power–;
                                      }
                                      if (!this.worldObj.isRemote) {
                                      if(this.power !=0 ||this.slots[0] != null){
                                      
                                      if (this.power == 0 && this.canSmelt()){
                                      if (this.power > 0)
                                      {
                                      flag1 = true;
                                      }
                                      }
                                      
                                      if (this.canSmelt() && this.hasPower() ) {
                                      ++this.cookTime;
                                      
                                      if (this.cookTime == this.maceratingSpeed) {
                                      
                                      this.cookTime = 0;
                                      this.smeltItem();
                                      flag1 = true;
                                      }
                                      } else {
                                      this.cookTime = 0;
                                      }
                                      }
                                      
                                      System.out.println("flag ? " + flag);
                                      System.out.println("power > 0 ? " + Boolean.valueOf(power > 0));
                                      if (flag != power > 0) {
                                      flag1 = true;
                                      PlateMachine.updateFurnaceBlockState(this.power > 0,this.worldObj, this.xCoord, this.yCoord, this.zCoord);
                                      }
                                      }
                                      if (flag1) {
                                      this.markDirty();
                                      }
                                      if (!addedToEnet) onLoaded();
                                      }
                                      

                                      Et je veux savoir ce qui s’affiche dans la console.

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • XeNeX Hors-ligne
                                        XeNe
                                        dernière édition par

                                        ah ok je n’avait vraiment pas compris x)
                                        bon ça me spam:
                                        flag ? true
                                        power > 0 ? true

                                        Aller voir l’état de mon mod sur trello! https://trello.com/b/p0JMg4ki/taqmod2

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

                                          Je trouve çà bizarre le “flag != power > 0”. çà veut dire qu’il faut que les 2 soit différents (par exemple l’un à true et l’autre à false) pour que la condition soit exécutée, que veux-tu faire vraiment ?

                                          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
                                          • robin4002R Hors-ligne
                                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                            dernière édition par

                                            power > 0 est sur true même quand il n’y a rien dans ta machine ?
                                            SCAREX -> c’est normal. flag vaut power > 0 au début de la fonction, donc lorsque la machine arrive à la fin, flag sera true et power > 0 sera faux, donc ça change. Et au début c’est l’inverse, flag faux false et power > 0 vaut true. Ça c’est le fonctionnement normal de ce code.
                                            Or chez lui il y a un problème.

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB