• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved UpdateTick

    1.7.x
    1.7.10
    4
    11
    2155
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Yorwan
      Yorwan last edited by

      bonjour j’ai un probléme : j’ai mis la méthode UpdateTick dans la class d’un block mais rien ne se passe
      voici mon code

      package com.mathiasetampes.algorythme.common;
      
      import java.util.Random;
      
      import net.minecraft.block.Block;
      import net.minecraft.block.material.Material;
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.entity.item.EntityItem;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.init.Blocks;
      import net.minecraft.init.Items;
      import net.minecraft.item.ItemStack;
      import net.minecraft.tileentity.TileEntity;
      import net.minecraft.util.ChatComponentTranslation;
      import net.minecraft.world.World;
      
      public class Algo extends Block
      {
      public static boolean Intermediaire = false;
      
      protected Algo(Material material)
      {
      super(material);
          this.setCreativeTab(CreativeTabs.tabBlock);
      }
         @Override
         public TileEntity createTileEntity(World world, int metadata)
         {
             return new TileEntityAire();
         }
      
         @Override
         public boolean hasTileEntity(int metadata)
         {
             return true;
         }
         public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
         {
          if(!world.isRemote)
              {
          Intermediaire = Algorythme(world ,x ,y+1 ,z );
                  TileEntity tile = world.getTileEntity(x, y, z);
                  if(tile instanceof TileEntityAire)
                  {
                  TileEntityAire.update();
                  TileEntityAire tileTuto = (TileEntityAire)tile;
                     player.addChatMessage(new ChatComponentTranslation("tile.tutoriel2.number", tileTuto.getNumber()));
                     return true;
                  }
              }
      
           return false;
         }
      
        public boolean Algorythme(World world ,int x , int y , int z)
        {  
         if((world.getBlock(x, y, z) == Blocks.air ))
      {
      for(int i = y; i < 255 ; i++)
      {
           if(world.getBlock(x, i, z) != Blocks.air)
        {
           break;  
        }  
       else if(i == 254)
       {
      return false;
       }
      }
      world.setBlock(x, y, z,algorythme.air2);
      if(Algorythme(world , x+1 ,  y ,  z)==false) return false;
          if(Algorythme(world , x-1 ,  y ,  z)==false) return false;
      if(Algorythme(world , x ,  y+1 ,  z)==false) return false;
      if(Algorythme(world , x ,  y-1 ,  z)==false) return false;
      if(Algorythme(world , x ,  y ,  z+1)==false) return false;
      if(Algorythme(world , x ,  y ,  z-1)==false){ return false; }
      return true;
      }
      return false;  
        }
      
       public void updateTick(World world, int x, int y, int z, Random random)
       {
      System.out.println("lel");
       }
      
      1 Reply Last reply Reply Quote 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

        Il me semble qu’il faut ajouter setTickRandomly(true) dans le constructeur du bloc.

        1 Reply Last reply Reply Quote 0
        • Deleted
          Deleted last edited by

          @‘Asmath’:

          bonjour j’ai un probléme : j’ai mis la méthode UpdateTick dans la class d’un block mais rien ne se passe
          voici mon code

          package com.mathiasetampes.algorythme.common;
          
          import java.util.Random;
          
          import net.minecraft.block.Block;
          import net.minecraft.block.material.Material;
          import net.minecraft.creativetab.CreativeTabs;
          import net.minecraft.entity.item.EntityItem;
          import net.minecraft.entity.player.EntityPlayer;
          import net.minecraft.init.Blocks;
          import net.minecraft.init.Items;
          import net.minecraft.item.ItemStack;
          import net.minecraft.tileentity.TileEntity;
          import net.minecraft.util.ChatComponentTranslation;
          import net.minecraft.world.World;
          
          public class Algo extends Block
          {
          public static boolean Intermediaire = false;
          
          protected Algo(Material material)
          {
          super(material);
              this.setCreativeTab(CreativeTabs.tabBlock);
          }
             @Override
             public TileEntity createTileEntity(World world, int metadata)
             {
                 return new TileEntityAire();
             }
          
             @Override
             public boolean hasTileEntity(int metadata)
             {
                 return true;
             }
             public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
             {
              if(!world.isRemote)
                  {
              Intermediaire = Algorythme(world ,x ,y+1 ,z );
                      TileEntity tile = world.getTileEntity(x, y, z);
                      if(tile instanceof TileEntityAire)
                      {
                      TileEntityAire.update();
                      TileEntityAire tileTuto = (TileEntityAire)tile;
                         player.addChatMessage(new ChatComponentTranslation("tile.tutoriel2.number", tileTuto.getNumber()));
                         return true;
                      }
                  }
             
               return false;
             }
             
            public boolean Algorythme(World world ,int x , int y , int z)
            {  
             if((world.getBlock(x, y, z) == Blocks.air ))
          {
          for(int i = y; i < 255 ; i++)
          {
               if(world.getBlock(x, i, z) != Blocks.air)
            {
               break;  
            }  
           else if(i == 254)
           {
          return false;
           }
          }
          world.setBlock(x, y, z,algorythme.air2);
          if(Algorythme(world , x+1 ,  y ,  z)==false) return false;
              if(Algorythme(world , x-1 ,  y ,  z)==false) return false;
          if(Algorythme(world , x ,  y+1 ,  z)==false) return false;
          if(Algorythme(world , x ,  y-1 ,  z)==false) return false;
          if(Algorythme(world , x ,  y ,  z+1)==false) return false;
          if(Algorythme(world , x ,  y ,  z-1)==false){ return false; }
          return true;
          }
          return false;  
            }
           
           public void updateTick(World world, int x, int y, int z, Random random)
           {
          System.out.println("lel");
           }
          

          Ajoutes dans cette méthode super.updateTick(world, x, y, z, random);
          et dis moi tout 😉 En tout cas je fais comme ça pour mes entity avec onUpdate et onLivingUpdate et pour mes items avec onUpdate aussi

          1 Reply Last reply Reply Quote 0
          • SCAREX
            SCAREX last edited by

            @‘Julot10085’:

            @‘Asmath’:

            bonjour j’ai un probléme : j’ai mis la méthode UpdateTick dans la class d’un block mais rien ne se passe
            voici mon code

            package com.mathiasetampes.algorythme.common;
            
            import java.util.Random;
            
            import net.minecraft.block.Block;
            import net.minecraft.block.material.Material;
            import net.minecraft.creativetab.CreativeTabs;
            import net.minecraft.entity.item.EntityItem;
            import net.minecraft.entity.player.EntityPlayer;
            import net.minecraft.init.Blocks;
            import net.minecraft.init.Items;
            import net.minecraft.item.ItemStack;
            import net.minecraft.tileentity.TileEntity;
            import net.minecraft.util.ChatComponentTranslation;
            import net.minecraft.world.World;
            
            public class Algo extends Block
            {
            public static boolean Intermediaire = false;
            
            protected Algo(Material material)
            {
            super(material);
                this.setCreativeTab(CreativeTabs.tabBlock);
            }
               @Override
               public TileEntity createTileEntity(World world, int metadata)
               {
                   return new TileEntityAire();
               }
            
               @Override
               public boolean hasTileEntity(int metadata)
               {
                   return true;
               }
               public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
               {
                if(!world.isRemote)
                    {
                Intermediaire = Algorythme(world ,x ,y+1 ,z );
                        TileEntity tile = world.getTileEntity(x, y, z);
                        if(tile instanceof TileEntityAire)
                        {
                        TileEntityAire.update();
                        TileEntityAire tileTuto = (TileEntityAire)tile;
                           player.addChatMessage(new ChatComponentTranslation("tile.tutoriel2.number", tileTuto.getNumber()));
                           return true;
                        }
                    }
               
                 return false;
               }
               
              public boolean Algorythme(World world ,int x , int y , int z)
              {  
               if((world.getBlock(x, y, z) == Blocks.air ))
            {
            for(int i = y; i < 255 ; i++)
            {
                 if(world.getBlock(x, i, z) != Blocks.air)
              {
                 break;  
              }  
             else if(i == 254)
             {
            return false;
             }
            }
            world.setBlock(x, y, z,algorythme.air2);
            if(Algorythme(world , x+1 ,  y ,  z)==false) return false;
                if(Algorythme(world , x-1 ,  y ,  z)==false) return false;
            if(Algorythme(world , x ,  y+1 ,  z)==false) return false;
            if(Algorythme(world , x ,  y-1 ,  z)==false) return false;
            if(Algorythme(world , x ,  y ,  z+1)==false) return false;
            if(Algorythme(world , x ,  y ,  z-1)==false){ return false; }
            return true;
            }
            return false;  
              }
             
             public void updateTick(World world, int x, int y, int z, Random random)
             {
            System.out.println("lel");
             }
            

            Ajoutes dans cette méthode super.updateTick(world, x, y, z, random);
            et dis moi tout 😉 En tout cas je fais comme ça pour mes entity avec onUpdate et onLivingUpdate et pour mes items avec onUpdate aussi

            Le problème étant que ce n’est pas une entitée.

            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 Reply Last reply Reply Quote 0
            • Deleted
              Deleted last edited by

              @‘SCAREX’:

              @‘Julot10085’:

              @‘Asmath’:

              bonjour j’ai un probléme : j’ai mis la méthode UpdateTick dans la class d’un block mais rien ne se passe
              voici mon code

              package com.mathiasetampes.algorythme.common;
              
              import java.util.Random;
              
              import net.minecraft.block.Block;
              import net.minecraft.block.material.Material;
              import net.minecraft.creativetab.CreativeTabs;
              import net.minecraft.entity.item.EntityItem;
              import net.minecraft.entity.player.EntityPlayer;
              import net.minecraft.init.Blocks;
              import net.minecraft.init.Items;
              import net.minecraft.item.ItemStack;
              import net.minecraft.tileentity.TileEntity;
              import net.minecraft.util.ChatComponentTranslation;
              import net.minecraft.world.World;
              
              public class Algo extends Block
              {
              public static boolean Intermediaire = false;
              
              protected Algo(Material material)
              {
              super(material);
                  this.setCreativeTab(CreativeTabs.tabBlock);
              }
                 @Override
                 public TileEntity createTileEntity(World world, int metadata)
                 {
                     return new TileEntityAire();
                 }
              
                 @Override
                 public boolean hasTileEntity(int metadata)
                 {
                     return true;
                 }
                 public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
                 {
                  if(!world.isRemote)
                      {
                  Intermediaire = Algorythme(world ,x ,y+1 ,z );
                          TileEntity tile = world.getTileEntity(x, y, z);
                          if(tile instanceof TileEntityAire)
                          {
                          TileEntityAire.update();
                          TileEntityAire tileTuto = (TileEntityAire)tile;
                             player.addChatMessage(new ChatComponentTranslation("tile.tutoriel2.number", tileTuto.getNumber()));
                             return true;
                          }
                      }
                 
                   return false;
                 }
                 
                public boolean Algorythme(World world ,int x , int y , int z)
                {  
                 if((world.getBlock(x, y, z) == Blocks.air ))
              {
              for(int i = y; i < 255 ; i++)
              {
                   if(world.getBlock(x, i, z) != Blocks.air)
                {
                   break;  
                }  
               else if(i == 254)
               {
              return false;
               }
              }
              world.setBlock(x, y, z,algorythme.air2);
              if(Algorythme(world , x+1 ,  y ,  z)==false) return false;
                  if(Algorythme(world , x-1 ,  y ,  z)==false) return false;
              if(Algorythme(world , x ,  y+1 ,  z)==false) return false;
              if(Algorythme(world , x ,  y-1 ,  z)==false) return false;
              if(Algorythme(world , x ,  y ,  z+1)==false) return false;
              if(Algorythme(world , x ,  y ,  z-1)==false){ return false; }
              return true;
              }
              return false;  
                }
               
               public void updateTick(World world, int x, int y, int z, Random random)
               {
              System.out.println("lel");
               }
              

              Ajoutes dans cette méthode super.updateTick(world, x, y, z, random);
              et dis moi tout 😉 En tout cas je fais comme ça pour mes entity avec onUpdate et onLivingUpdate et pour mes items avec onUpdate aussi

              Le problème étant que ce n’est pas une entitée.

              Oui mais c’est une méthode qui s’update comme ce que je viens de citer dans mon message précédent :
              @‘Julot10085’:

              mes entity avec** onUpdate **et **onLivingUpdate **et pour mes items avec onUpdate aussi

              EDIT : Autant pour moi je pensais que ça marcherait.

              1 Reply Last reply Reply Quote 0
              • Yorwan
                Yorwan last edited by

                çà ne marche pas

                1 Reply Last reply Reply Quote 0
                • SCAREX
                  SCAREX last edited by

                  @‘Asmath’:

                  çà ne marche pas

                  Que veux-tu faire avec ? Je ne comprends pas vraiment. Si tu veux, il y a la fonction onNeighborChange qui est appelé dès qu’un bloc adjacent le met à jour.

                  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 Reply Last reply Reply Quote 0
                  • Yorwan
                    Yorwan last edited by

                    je suis stupide vraiment je viens de m’appercevoir que cette commande devais ce trouvés dans le tileEntity et donc çà marche

                    1 Reply Last reply Reply Quote 0
                    • Yorwan
                      Yorwan last edited by

                      en fait je cherche à faire une méthode qui test des condition comme par exemple si le bloc à tel coordonnées est de l’air et cela en permanence pour pouvoir faire les actions en conséquence quasi instantanément donc il faudrait faire une méthode qui s’active à chaque tick ou au moins 2 fois par seconde

                      1 Reply Last reply Reply Quote 0
                      • robin4002
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                        Je remet dans non résolu alors ?
                        La fonction onUpdate des tile entity est mit à jour à chaque tick (donc 20 fois / secondes)

                        1 Reply Last reply Reply Quote 0
                        • Yorwan
                          Yorwan last edited by

                          non laisse dans dans résolu c’est bon je n’avais pas vue ton message et maintenant çà marche merci

                          1 Reply Last reply Reply Quote 0
                          • 1 / 1
                          • First post
                            Last post
                          Design by Woryk
                          Contact / Mentions Légales

                          MINECRAFT FORGE FRANCE © 2018

                          Powered by NodeBB