MFF

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

    Par1ItemStack.stackSize; a une dysfonctionnement

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.7.2
    25 Messages 5 Publieurs 5.8k 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.
    • P Hors-ligne
      Portuar
      dernière édition par

      non sa fais tout beugé ^^'.

      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

        Remplace player.getCurrentEquippedItem() par stack pour un soucis d’optimisation.
        À mon avis le serveur sait que l’item doit être retiré, mais pas le client. Et quand tu tape ça syncro. Donc ça le consume en client.
        Le problème est surement au niveau de la condition te.isUse == false, essaye de la retirer et regarde si ça fonctionne.
        Si oui, envoie le code de ton tile entity. Sinon, je sais pas trop x)

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

          ok je vais essayer!


          Non sa ne marche pas bon autant exposer un autre problème ^^', alors voila je voudrais que mon item s’anime si mon boolean est true et ce boolean c’est is.use mais apparemment sa ne fonctionne pas voila mon tileEntity

          package portuar.cubicBeyond.client.blocks.decondenseur;
          
          import net.minecraft.entity.passive.EntityPig;
          import net.minecraft.nbt.NBTTagCompound;
          import net.minecraft.tileentity.TileEntity;
          
          public class TileEntityDecondenseur extends TileEntity
          
          {
          public int coolDown = 100;
          public float motorAngle, prevMotorAngle;
          public boolean isUse;
          public int itemId;
          
          public void readFromNBT(NBTTagCompound nbtTag)
          {
          super.readFromNBT(nbtTag);
          isUse = nbtTag.getBoolean("isUse");
          itemId = nbtTag.getInteger("itemId");
          }
          
          public void writeToNBT(NBTTagCompound nbtTag)
          {
          super.writeToNBT(nbtTag);
          nbtTag.setBoolean("isUse", isUse);
          nbtTag.setInteger("itemId", itemId);
          }
          
          public void updateEntity()
          {
          if(this.isUse == true)
          {
          this.prevMotorAngle = this.motorAngle;
          this.motorAngle += 0.05F;
          this.coolDown–;
          
          if(this.coolDown < 0)
          {
          if(this.itemId == 1)
          {
          EntityPig entity = new EntityPig(this.worldObj);
          entity.setLocationAndAngles(this.xCoord, this.yCoord + 1, this.zCoord, 0, 0);
          this.worldObj.spawnEntityInWorld(entity);
          this.itemId = 0;
          }
          
          this.coolDown = 100;
          this.isUse = false;
          }
          
          }
          }
          }
          
          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

            Dans ton tile entity ajoute :

            public Packet getDescriptionPacket()
            {
            NBTTagCompound nbttagcompound = new NBTTagCompound();
            this.writeToNBT(nbttagcompound);
            return new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 4, nbttagcompound);
            }
            
            public void onDataPacket(INetworkManager net, Packet132TileEntityData pkt)
            {
            this.readFromNBT(pkt.data);
            }
            

            Pour que les valeurs soit synchronisées client / serveur

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

              Je ne peux pas importez INetworkManager et Packet132TileEntityData
              ps : je suis en 1.7

              1 réponse Dernière réponse Répondre Citer 0
              • Superloup10S Hors-ligne
                Superloup10 Modérateurs
                dernière édition par

                version 1.7 :

                
                public Packet getDescriptionPacket()
                {
                NBTTagCompound nbttagcompound = new NBTTagCompound();
                this.writeToNBT(nbttagcompound);
                return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 4, nbttagcompound);
                }
                
                public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity updateTileEntity)
                {
                this.readFromNBT(updateTileEntity.func_148857_g());
                }
                
                

                Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

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

                  Ouai sa fonctionne mais ne change absolument rien au deux problèmes.

                  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

                    Sinon tu peux faire :

                    player.getCurrentEquippedItem().damageItem(1, player);
                    if(player.getCurrentEquippedItem().stackSize == 0)
                    {
                    player.setCurrentEquippedItem(null);
                    }
                    

                    Si c’est toujours pas bon, je vois vraiment pas 😕

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

                      nop toujours pas :S

                      1 réponse Dernière réponse Répondre Citer 0
                      • isadorI Hors-ligne
                        isador Moddeurs confirmés Modérateurs
                        dernière édition par

                        Met les syso un peut partout pour voir ou ça bloque

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

                          Mais sa bloque pas c’est juste un beug ^^

                          1 réponse Dernière réponse Répondre Citer 0
                          • isadorI Hors-ligne
                            isador Moddeurs confirmés Modérateurs
                            dernière édition par

                            oue mais avec les syso on vera quelle partie bug

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

                              mais enfete c’est même pas un beug juste pas la bonne fonction je pense.

                              1 réponse Dernière réponse Répondre Citer 0
                              • isadorI Hors-ligne
                                isador Moddeurs confirmés Modérateurs
                                dernière édition par

                                Envoi tout le code par pastebin stp

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

                                  je n’utilise pas pastebin

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

                                    Sur pastebin.com tu n’es pas obligé d’avoir un compte…

                                    Moddeur à la retraite et développeur de trucs en Java.

                                    J'aide les gens comme je peux, alors si mon message v…

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

                                      Mon tile entity :

                                      http://pastebin.com/XCYUXL3i

                                      Mon block :

                                      http://pastebin.com/NTPR7cW4

                                      Ps : j’ai fais un Sytem.out.println et j’ai u problème quand isUse est true et bah il varie en réalité entre true et false ce qui empeche l’animation.

                                      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

                                        @‘Superloup10’:

                                        version 1.7 :

                                        
                                        public Packet getDescriptionPacket()
                                        {
                                        NBTTagCompound nbttagcompound = new NBTTagCompound();
                                        this.writeToNBT(nbttagcompound);
                                        return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 4, nbttagcompound);
                                        }
                                        
                                        public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity updateTileEntity)
                                        {
                                        this.readFromNBT(updateTileEntity.func_148857_g());
                                        }
                                        
                                        

                                        Mets ce code dans ton tile entity pour avoir une synchro client / serveur de tes variables.
                                        Mets aussi world/markBlockForUpdate(x, y, z); dans ta fonction onBlockClicked

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

                                          Bon je ne sais pas si ce que tu m’as donnés fonctionnent (j’ai testé mais rien ne chnage) parcontre mon PS cité ci-dessus est rectifié tout fonction apar cette histoire d’item et de c’est 1 stack et aussi de l’animation qui se fait pour tout les blocks en même temps.

                                          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