Drop aleatoire en pourcentage



  • Bonjour j'ai déjà essayé plusieurs type de drop qui ne me convienne pas.

    public Item getItemDropped(int metadata, Random random, int fortune)
       {
        if(metadata == 0 && rand.nextInt(10) > 9)
        {
        return TutoMod.item;
        }
        else if(metadata == 0)
        {
        return null;
        }
    return null;
       }
    public int quantityDropped(Random rand)
       {
           return 1;
       }
    

    j'aimerais avoir 10% de chance de drop un item mais la je ne drop jamais rien avec cette fonction


  • Administrateurs

    rand.nextInt(10) génère un nombre aléatoire entre 0 inclut et 10 exclut (donc 0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
    Le plus grand nombre possible est 9 et 9 > 9 sera toujours faux.
    Remplace donc par : rand.nextInt(10) == 9
    ou rand.nextInt(10) > 8



  • D'accord je ne savais pas je pensais que le 0 été exclut et le 10 inclut mais malheureusement même après modification ceci ne drop toujours rien ….


  • Administrateurs

    Essaye comme ça :

    public Item getItemDropped(int metadata, Random random, int fortune)
        {
            if(metadata == 0)
            {
    int randInt = rand.nextInt(10)
    System.out.println(randInt);
    if(randInt > 8)
    {
             return TutoMod.item;
    }
            }
            return null;
        }
        public int quantityDropped(Random rand)
        {
            return 1;
        }
    


  • Je ne drop toujours rien même avec ta méthode je trouve çà bizarre je comprend pas pourquoi.


  • Administrateurs

    Il affiche quoi dans la console ?



  • Résolu merci j'ai utilisé

    public void dropFewItems(boolean b, int looting)
    

Log in to reply