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

      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;
      }
      }
      
      
      1 réponse Dernière réponse Répondre Citer 0
      • 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