MFF

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

    Probleme résolu + explication a bush à XP

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    118 Messages 5 Publieurs 16.3k 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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Toutes les plantes de Minecraft utilise le tick aléatoire.

      Dans le constructeur du bloc il faut ajouter :
      this.setTickRandomly(true);
      Ensuite il faut utiliser la fonction suivante :

      public void updateTick(World world, int x, int y, int z, Random rand)
      {
      
      }
      

      Dans ton cas il suffit de faire un world.setBlock(x, y, z, this, world.getBlockMetadata(x, y, z) + 1, 3);

      Tu peux utiliser la fonction :

      public int tickRate(World world)
      {
      return 10; // nombre à changer ici
      }
      

      pour influencer la fréquence du tick.

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

        Merci beaucoup Robin !
        Et maintenant pour dire que quand le block et a la metadata 4 que je peux faire un clic droit ?

        EDIT: je me rend compte d’une chose : la meta data 4 passe a 1 alors que j’aimerais qu’elle repasse a 1 que lorsque je fait un clic droit dessus

        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 la fonction onBlockActivated il suffit de faire une condition if(world.getBlockMetadata(x, y, z) >= 4)

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

            oui ça je le sais mais le fait que la metadata passe de 4 a 1 sans que je clic. Mon but est de faire un bush et si on peux recolter que a la 4eme metadata on perd du farm.

            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

              Tu es sur que ça repasse à un 1 et non que ça passe à 5 puis 6 etc …
              Ajoutes :
              if(world.getBlockMetadata(x, y, z) < 4)
              avant :
              world.setBlock(x, y, z, this, world.getBlockMetadata(x, y, z) + 1, 3);

              dans la fonction updateTick

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

                Je vais voir si sa reste a 4 désormais.
                Je le savais pck la texture de ma 4 eme metadata est diferente des 3 autre présedente 😉
                Et je n’en est mis que 4

                EDIT : la metadata change encore

                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 actuelle.

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

                    Voila voila 😄

                    package fr.xperiaonline.xperiamod.common;
                    
                    import java.util.List;
                    import java.util.Random;
                    
                    import javax.swing.Icon;
                    
                    import cpw.mods.fml.relauncher.Side;
                    import cpw.mods.fml.relauncher.SideOnly;
                    import net.minecraft.block.Block;
                    import net.minecraft.block.material.Material;
                    import net.minecraft.client.renderer.texture.IIconRegister;
                    import net.minecraft.creativetab.CreativeTabs;
                    import net.minecraft.item.Item;
                    import net.minecraft.item.ItemStack;
                    import net.minecraft.util.IIcon;
                    import net.minecraft.world.World;
                    
                    public class BlockModBush extends Block
                    {
                       public static String[] subBlock = new String[]{"block1", "block2"};
                       public IIcon[] iconArray = new IIcon[subBlock.length];
                       protected BlockModBush()
                    
                       {
                    super(Material.rock);
                    this.setTickRandomly(true);
                       }
                       public void updateTick(World world, int x, int y, int z, Random rand)
                       {
                    if(world.getBlockMetadata(x, y, z) < 2)
                    world.setBlock(x, y, z, this, world.getBlockMetadata(x, y, z) + 1, 1);
                       }
                       public int tickRate(World world)
                       {
                           return 1; // nombre à changer ici
                       }
                    
                       public int damageDropped(int metadata)
                       {
                    return metadata;
                       }
                    
                       public void getSubBlocks(Item item, CreativeTabs tabs, List list)
                       {
                    for(int i = 0; i < subBlock.length; i++)
                    {
                       list.add(new ItemStack(item, 1, i));
                    }
                    
                       }
                       public void registerBlockIcons(IIconRegister iconRegister)
                       {
                    for(int i = 0; i < subBlock.length; i++)
                    {
                           this.iconArray* = iconRegister.registerIcon("xperiamod:"+ subBlock*);
                           }
                       }
                    
                       public IIcon getIcon(int side, int metadata)
                       {
                    if(metadata >= 0 && metadata < subBlock.length)
                    {
                       return this.iconArray[metadata];
                    }
                    return this.iconArray[0];
                       }
                    
                    }
                    
                    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

                      étrange, il n’y a pas de raison pour que le metadata passe au dessus de 3 …

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

                        Non mais elle reste entre 1 et 2 sauf que elle repasse de 2 a 1… j’aimerais que ça ne se fasse pas. Et que ça se fasse seulement quand on fait un clic droit.

                        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

                          ça ne devrait le faire non plus, c’est ça qui est étrange.

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

                            Pourtant j’ai suivie ton code parfaitement…

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

                              Effectivement il ne devrais pas continuer à augmenter, tu ne t’es pas trompé dans les textures sans faire exprès ?

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

                                non mais il n’augmentent pas ! Il reviens au dépard !___Vous voulez mes sources ?

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

                                  Si ton code à changé depuis que tu l’a posté il y a une heure, oui.
                                  PS : double post attention.

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

                                    Je vous le mets sur qu’elle site ?

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

                                      Comme tu veux, MediaFire par exemple.

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

                                        Sinon zip -> pièce jointe.

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

                                          Tien http://www.mediafire.com/download/5nql3vv3gd4q193/XperiaMod.rar

                                          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

                                            Les textures du metadata 0, 2, et 3 sont identiques.
                                            Il n’y a que le 1 qui est différent.
                                            Pas étonnant que tu ai l’impression que ça revient à 0 …

                                            Et tu avais le mauvais flag (1 au lieu de 3) pour le setBlock, du-coup le bloc n’était pas actualisé.

                                            package fr.xperiaonline.xperiamod.common;
                                            
                                            import java.util.List;
                                            import java.util.Random;
                                            
                                            import javax.swing.Icon;
                                            
                                            import cpw.mods.fml.relauncher.Side;
                                            import cpw.mods.fml.relauncher.SideOnly;
                                            import net.minecraft.block.Block;
                                            import net.minecraft.block.material.Material;
                                            import net.minecraft.client.renderer.texture.IIconRegister;
                                            import net.minecraft.creativetab.CreativeTabs;
                                            import net.minecraft.entity.player.EntityPlayer;
                                            import net.minecraft.init.Items;
                                            import net.minecraft.item.Item;
                                            import net.minecraft.item.ItemStack;
                                            import net.minecraft.util.IIcon;
                                            import net.minecraft.world.World;
                                            
                                            public class BlockModBush extends Block
                                            {
                                            public static String[] subBlock = new String[] {"block1", "block2"};
                                            public IIcon[] iconArray = new IIcon[subBlock.length];
                                            
                                            protected BlockModBush()
                                            
                                            {
                                            super(Material.rock);
                                            this.setTickRandomly(true);
                                            }
                                            
                                            public void updateTick(World world, int x, int y, int z, Random rand)
                                            {
                                            if(world.getBlockMetadata(x, y, z) < 2)
                                            {
                                            world.setBlock(x, y, z, this, world.getBlockMetadata(x, y, z) + 1, 3);
                                            }
                                            }
                                            
                                            public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ)
                                            {
                                            if(world.getBlockMetadata(x, y, z) == 3)
                                            {
                                            world.setBlock(x, y, z, this, 0, 3);
                                            this.dropBlockAsItem(world, x, y, z, new ItemStack(Items.diamond));
                                            }
                                            return false;
                                            }
                                            
                                            public int tickRate(World world)
                                            {
                                            return 1;
                                            }
                                            
                                            public int damageDropped(int metadata)
                                            {
                                            return metadata;
                                            }
                                            
                                            public void getSubBlocks(Item item, CreativeTabs tabs, List list)
                                            {
                                            for(int i = 0; i < subBlock.length; i++)
                                            {
                                            list.add(new ItemStack(item, 1, i));
                                            }
                                            }
                                            
                                            public void registerBlockIcons(IIconRegister iconRegister)
                                            {
                                            for(int i = 0; i < subBlock.length; i++)
                                            {
                                            this.iconArray* = iconRegister.registerIcon("xperiamod:" + subBlock*);
                                            }
                                            }
                                            
                                            public IIcon getIcon(int side, int metadata)
                                            {
                                            if(metadata >= 0 && metadata < subBlock.length)
                                            {
                                            return this.iconArray[metadata];
                                            }
                                            return this.iconArray[0];
                                            }
                                            }
                                            
                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 1 / 6
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB