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

      bah j’ai suivie des tuto p’y c’est de la logique en faite donc plutot facile je devrais apprendre pck rien qu’a faire ça je me suis eclater xD
      Sinon pour faire un bush genre (Oreberry bush de TC)
      C’est un block avec des meta datas qui arriver a un certain stade laisse la posibilité de clic droit ?

      1 réponse Dernière réponse Répondre Citer 0
      • BrokenSwingB Hors-ligne
        BrokenSwing Moddeurs confirmés Rédacteurs
        dernière édition par

        C’est ça en gros

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

          oki je suis en train de regarder le tuto de robin 😉
          Mais j’aurais surment besoin d’aide pour laisser l’acces au clic droit + l’action

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

            ça y est je viens de fini j’ai mon block avec mes 4 metadata !

            Maintenant je doit faire quoi pour lui dire que tout les “X” tick le block change de metadata ?
            Et ensuite pour lui dire que a la 4 eme metadata on peux faire un clic droit dessus( ET PAS AVANT !) pour recuperer un item ?
            Et ensuite dire au block de repartir a la metadata numero 1 ?

            Merci de votre aides !

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

              Malheureusement les blocks ne sont pas tickés, ils peuvent seulement êtres tickés de façon aléatoire, donc tu as 2 options :

              • faire ticker ton block de façon aléatoire
              • lui ajouter une TileEntity qui elle peut être tické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 réponse Dernière réponse Répondre Citer 0
              • YukiShuY Hors-ligne
                YukiShu
                dernière édition par

                Si je le fait ticker de façon aléatoire le lapse de temps est compris entre combien de tick ? y’a forcement une valeur butée je me trompe ?

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

                  Alors en fait c’est plus compliqué (j’avais oublié) : je crois que tu dois indiqué dans ton constructeur que ton block doit être tické de façon aléatoire, ensuite tu dois ré-écrire les fonctions tickRate qui indique le nombre de ticks entre chaque mise à jour et updateTick qui sera appelée lors de la mise à jour, mais tu dois aussi rajouter dans la fonction updateTick la fonction World.scheduleBlockUpdate(x, y, z, block, tickRate) pour mettre à jour ton block dans le futur (de façon non-aléatoire)

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

                    Bon autant dire que c’est impossible a mon niveau……___quelqu’un pour reelement m’aider ? Je suis débutant j’ai besoin de savoir quoi mettre ou.

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

                      Si toujours personne demain, je te montre.
                      Et sinon pour faire que le clic droit ne soit que quand tu as plus de 4 en méta, tu dois récrire la fonction onBlockActivated dans ton block et faire if(world.getBlockMetadata(X, y, z) >= 4) puis faire drop ce que tu veux.

                      Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

                      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

                        oui ça je savais mais c’est pour dire au block de tout les “X” temps de changer de metadata 🙂

                        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

                          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
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 6 / 6
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB