MFF

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

    Seau random

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    20 Messages 5 Publieurs 3.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.
    • purplewarrior65P Hors-ligne
      purplewarrior65
      dernière édition par

      @‘Plaigon’:

      Bah voici la fonction à placer dans la classe de ton item:

      
      public boolean onItemUse(ItemStack p_77648_1_, EntityPlayer p_77648_2_, World p_77648_3_, int p_77648_4_, int p_77648_5_, int p_77648_6_, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_)
      {
      Block var11 = p_77648_3_.getBlock(p_77648_4_, p_77648_5_, p_77648_6_);
      if (p_77648_2_.canPlayerEdit(p_77648_4_, p_77648_5_, p_77648_6_, p_77648_7_, p_77648_1_) && var11 == Blocks.lava)
      {
      Random rand = new Random();
      int randomNumber = rand.nextInt(10 + 1);//laisse le + 1 car cette fonction va habituellement de 0 jusqu'au nombre entré en commentaire - 1\. Le +1 exclut donc le 0 et permet d'aller jusqu'au nombre
      if(!p_77648_2_.worldObj.isRemote)
      {
      if(randomNumber == 1)
      p_77648_2_.inventory.addItemStackToInventory(new ItemStack(TonMod.tonSeauAvecMinerais));
      else
      p_77648_2_.inventory.addItemStackToInventory(new ItemStack(TonMod.tonSeauAvecDebris));
      }
      p_77648_1_.stackSize–;
      return true;
      }
      else
      {
      return false;
      }
      }
      
      

      Merci mec tu gère j’aurai jamais réussi tt seul [emoji28] mais juste pour comprendre ce que je fait pk y a plein de variable déclarer au début et elle ne serve pas toute après ?

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

        Elles servent pas dans notre cas mais dans d’autres elles pourraient.
        Si tu n’as pas d’autre question, pense à mettre la balise résolue 😉

        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

          Mieux comme ça :

            public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
            {
                Block block = world.getBlock(x, y, z);
                if (player.canPlayerEdit(x, y, z, side, stack) && block == Blocks.lava)
                {
                 Random rand = new Random();
                 int randomNumber = rand.nextInt(10);
                 if(!world.isRemote)
                 {
                 if(randomNumber == 0)
                     player.inventory.addItemStackToInventory(new ItemStack(TonMod.tonSeauAvecMinerais));
                 else
                     player.inventory.addItemStackToInventory(new ItemStack(TonMod.tonSeauAvecDebris));
                 }
                 stack.stackSize–;
                 return true;
                }
                else
                {
                return false;
                }
            }
          

          Les variables en question sont en fait utilisées dans d’autres cas, on est obligé de les mettre même si non utilisé car sinon la fonction n’est plus la même est donc elle n’est plus appelée.

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

            @‘robin4002’:

            Mieux comme ça :

              public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
              {
                  Block block = world.getBlock(x, y, z);
                  if (player.canPlayerEdit(x, y, z, side, stack) && block == Blocks.lava)
                  {
                   Random rand = new Random();
                   int randomNumber = rand.nextInt(10);
                   if(!world.isRemote)
                   {
                   if(randomNumber == 0)
                       player.inventory.addItemStackToInventory(new ItemStack(TonMod.tonSeauAvecMinerais));
                   else
                       player.inventory.addItemStackToInventory(new ItemStack(TonMod.tonSeauAvecDebris));
                   }
                   stack.stackSize–;
                   return true;
                  }
                  else
                  {
                  return false;
                  }
              }
            

            Les variables en question sont en fait utilisées dans d’autres cas, on est obligé de les mettre même si non utilisé car sinon la fonction n’est plus la même est donc elle n’est plus appelée.

            Je peux utiliser se code là a la place de l’autre?Et a quoi sert stack.stackSize–

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

              stack.stackSize–;
              stack, c’est l’ itemstack actuellement tenu par le joueur.
              La variable stackSize, c’est tout simplement la taille de l’itemstack.
              Et on en soustrait 1 unité grâce au signe --, symbole de la décrémentation en Java.
              En gros après avoir fait clic droit sur de la lave avec le seau de feu en main, tu auras récolté un nouveau seau et tu auras en échange perdu le seau de feu.

              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

                C’est exactement le code de Plaigon mais avec des noms de variable plus explicite 😉
                La seule autre chose que j’ai changé c’est le random, rand.nextInt(10) génère un nombre entre 0 inclut et 10 exclut, donc ça fait déjà 10 possibilité (0, 1, 2, 3, 4, 5, 6, 7, 8 et 9), pas besoin de +1.

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

                  @‘robin4002’:

                  C’est exactement le code de Plaigon mais avec des noms de variable plus explicite 😉
                  La seule autre chose que j’ai changé c’est le random, rand.nextInt(10) génère un nombre entre 0 inclut et 10 exclut, donc ça fait déjà 10 possibilité (0, 1, 2, 3, 4, 5, 6, 7, 8 et 9), pas besoin de +1.

                  pour la class je fait un extends de seau ou sinon un extends de quoi?.

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

                    Bah t’as pas besoin de faire un extends ItemBucket. Après si tu voulais juste que ton item ait les propriétés énoncés lors de ton poste, à savoir n’interagir qu’avec de la lave et donner des item en échange, alors NON pas besoin d’extends ItemBucket. Un simple extends Item suffira.

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

                      @‘Plaigon’:

                      Bah t’as pas besoin de faire un extends ItemBucket. Après si tu voulais juste que ton item ait les propriétés énoncés lors de ton poste, à savoir n’interagir qu’avec de la lave et donner des item en échange, alors NON pas besoin d’extends ItemBucket. Un simple extends Item suffira.

                      Okay merci  😉

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

                        Désolé pour le double post mais vs pouvez mettre le sujet en résolu

                        Envoyé de mon 6039Y en utilisant Tapatalk

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

                          Tu peux le faire toi même en éditant le premier message du topic et en changeant la balise 🙂

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

                            @‘Plaigon’:

                            Tu peux le faire toi même en éditant le premier message du topic et en changeant la balise 🙂

                            Je peux pas chui sur mon tel

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

                              Tu peux je lai déjà fait sur tel

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

                                @‘AymericRed’:

                                Tu peux je lai déjà fait sur tel

                                J’y arrive pas[SMILING FACE WITH OPEN MOUTH AND COLD SWEAT]

                                Envoyé de mon 6039Y en utilisant Tapatalk

                                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

                                  Je m’en charge.

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

                                    @‘robin4002’:

                                    Je m’en charge.

                                    Merci[emoji4]

                                    Envoyé de mon 6039Y en utilisant Tapatalk

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • 1 / 1
                                    • Premier message
                                      Dernier message
                                    Design by Woryk
                                    ContactMentions Légales

                                    MINECRAFT FORGE FRANCE © 2024

                                    Powered by NodeBB