MFF

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

    Double drop

    Planifier Épinglé Verrouillé Déplacé Résolu Anciennes versions
    1.6.4
    20 Messages 6 Publieurs 5.2k 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.
    • isadorI Hors-ligne
      isador Moddeurs confirmés Modérateurs
      dernière édition par

      voila j’ai réussi a faire loot des item a mon bloc, mais j’aimerai lui en faire loot deux, mais cette méthode ne marche pas…

      public int idDropped(int metadata, Random rand, int fortune)
      {
         return MineralherbMain.coppermineralitem.itemID;
      }
      
      public int idDropped1(int metadata, Random rand, int fortune)
      {
         return MineralherbMain.pierrebruteitem.itemID;
      }
      
      public int quantityDropped(Random par1Random)
      {
      int randomloot;
      int lower = 1;
      int higher = 6;
      
      int random = (int)(Math.random() * (higher-lower)) + lower;
      return this.blockID == MineralherbMain.coppermineralitem.itemID ? 4 + par1Random.nextInt(3) : random;
      }
      
      public int quantityDropped1(Random par1Random)
      {
      int randomloot;
      int lower = 2;
      int higher = 8;
      
      int random = (int)(Math.random() * (higher-lower)) + lower;
      return this.blockID == MineralherbMain.pierrebruteitem.itemID ? 4 + par1Random.nextInt(3) : random;
      }
      

      comment faire?

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

        Alors, petite leçon de java:
        La méthode quantityDropped(Random rand) n’est pas exécutée toute seule, c’est justement pour ça que la classe est extends Block, car dans la classe Block tu as exatement la même méthode qui elle, est exécutée par le jeu lui même, etc etc.
        Donc, créer un méthode avec juste un 1 dedans ne sera pas appelée sauf si tu l’appelle, ce qui ici n’est pas possible sans modification des classes de Minecraft.
        Il existe donc la méthode:

        public ArrayList <itemstack>getDrops(World world, int x, int y, int z, int metadata, int fortune)
        
        

        qui permet de dropper plusieurs items, pour l’utiliser tu créé une ArrayList d’ItemStack et tu lui ajoute les ItemStack que le bloc doit dropper:

        
        ArrayList <itemstack>ret = new ArrayList<itemstack>();
        ItemStack stack1 = new ItemStack(item1, 1);
        ItemStack stack2 = new ItemStack(item2, 1);
        ret.add(0, stack1);
        ret.add(1, stack2);
        return ret;
        
        

        A mettre dans la méthode.</itemstack></itemstack></itemstack>


        Mettez à jours vers la dernière version stable (1.8.9 voir même…

        1 réponse Dernière réponse Répondre Citer 0
        • isadorI Hors-ligne
          isador Moddeurs confirmés Modérateurs
          dernière édition par

          ok merci je teste ca

          bon je n’ai pas du tout compris comme marche le public ArrayList<itemstack></itemstack>

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

            public ArrayList <itemstack>getDrops(World world, int x, int y, int z, int metadata, int fortune)
            {
            ArrayList <itemstack>ret = new ArrayList<itemstack>();
            ItemStack stack1 = new ItemStack(item1, 1);
            ItemStack stack2 = new ItemStack(item2, 1);
            ret.add(0, stack1);
            ret.add(1, stack2);
            return ret;
            }
            ```</itemstack></itemstack></itemstack>


            Mettez à jours vers la dernière version stable (1.8.9 voir même…

            1 réponse Dernière réponse Répondre Citer 1
            • isadorI Hors-ligne
              isador Moddeurs confirmés Modérateurs
              dernière édition par

              sa je sais mais du coup j’ai plein d’erreur et il veux me modifier du code dans block.java

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

                Mais ça, sa marche.

                
                @Override
                public ArrayList <itemstack>getBlockDropped(World world, int x, int y, int z, int metadata, int fortune)
                {
                ArrayList <itemstack>ret = new ArrayList<itemstack>();
                ret.add(new ItemStack(Item.appleGold, 1, damageDropped(metadata)));
                ret.add(new ItemStack(Item.arrow, 1, damageDropped(metadata)));
                {
                return ret;
                }
                }
                
                

                “Item.arrow”, “Item.appleGold” = les items que tu veut dropper
                “1” = quantité dropper par chacun

                Si tu veut du random dit le moi et je te modifirai le code.</itemstack></itemstack></itemstack>

                1 réponse Dernière réponse Répondre Citer 0
                • isadorI Hors-ligne
                  isador Moddeurs confirmés Modérateurs
                  dernière édition par

                  oui je veux du random, le minerai de cuivre: en 1 et 5 item et la pierre brute: entre 3 et 8

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

                    Le mieux que je peut te faire vite comme ça, c’est ceci:

                    
                    @Override
                    public ArrayList <itemstack>getBlockDropped(World world, int x, int y, int z, int metadata, int fortune)
                    {
                    ArrayList <itemstack>ret = new ArrayList<itemstack>();
                    for(int i = 0; 0 < world.rand.nextInt(3); i++)
                    ret.add(new ItemStack(Item.appleRed, 1, damageDropped(metadata)));
                    for(int i = 0; i < world.rand.nextInt(3); i++)
                    ret.add(new ItemStack(Item.arrow, 1, damageDropped(metadata)));
                    }
                    return ret;
                    }
                    
                    

                    Le problème avec ce code c’est que tu peut aussi ne rien dropper. Joue avec les pourcentage et les randoms et tu arrivera peut-être à ce que tu veut.

                    Je chercherai une autre solution quand j’aurai du temps :)</itemstack></itemstack></itemstack>

                    1 réponse Dernière réponse Répondre Citer 0
                    • isadorI Hors-ligne
                      isador Moddeurs confirmés Modérateurs
                      dernière édition par

                      ok merci

                      Syntax error on token “return”, invalid Type

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

                        world.rand, pour une instance de random


                        Mettez à jours vers la dernière version stable (1.8.9 voir même…

                        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

                          @Override
                          public ArrayList <itemstack>getBlockDropped(World world, int x, int y, int z, int metadata, int fortune)
                          {
                          ArrayList <itemstack>ret = new ArrayList<itemstack>();
                          for(int i = 0; i < world.rand.nextInt(3) + 1; i++)
                          ret.add(new ItemStack(Item.appleRed, 1, damageDropped(metadata)));
                          for(int i = 0; i < world.rand.nextInt(3) + 1; i++)
                          ret.add(new ItemStack(Item.arrow, 1, damageDropped(metadata)));
                          return ret;
                          }
                          

                          Pas de problème comme ça.</itemstack></itemstack></itemstack>

                          1 réponse Dernière réponse Répondre Citer 0
                          • isadorI Hors-ligne
                            isador Moddeurs confirmés Modérateurs
                            dernière édition par

                            Pour l’item je met coppermineralitem ou coppermineralitem.itemID?

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

                              cheminItem.tonItem

                              car comme tu peux le voire, y’a pas de .itemID dans les codes que l’on a fournis 😉

                              >! Bonjour/Bonsoir,
                              >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

                              1 réponse Dernière réponse Répondre Citer 0
                              • isadorI Hors-ligne
                                isador Moddeurs confirmés Modérateurs
                                dernière édition par

                                Je préféré demander. Mineralherb.Items.coppermineralitem?

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

                                  Items.coppermineralitem

                                  >! Bonjour/Bonsoir,
                                  >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • isadorI Hors-ligne
                                    isador Moddeurs confirmés Modérateurs
                                    dernière édition par

                                    Daccord bha des que je go au pc je teste___
                                    bug: “coppermineralitem cannot be resolved or is not a field” je fait quoi?

                                    -create field
                                    ou
                                    -create constant?

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • isadorI Hors-ligne
                                      isador Moddeurs confirmés Modérateurs
                                      dernière édition par

                                      ca marche.

                                      par contre ca drop 1 copper et 2 pierre. on peut pas ajouter un random?

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

                                        De la part de Fireblade51: nom je n’ai pas réussi pour l’instant pour le drop aléatoire je le test dès que j’ai internet et du temps

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • isadorI Hors-ligne
                                          isador Moddeurs confirmés Modérateurs
                                          dernière édition par

                                          Tu pourra lui dire que ce n’est plus la peine, j’ai réussi

                                          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

                                            Il faut passer en résolu dans cas !

                                            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