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

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB