Système d'aléatoire



  • Salut, j'aimerai créer un item, et que quand on clique droit avec ça nous donne des récompenses plus ou moins rares, genre un bloc de dirt 99% de chance et un diamant 1%, sauf que je ne trouve pas le code pour faire ceci.



  • @'Degraduck':

    Salut, j'aimerai créer un item, et que quand on clique droit avec ça nous donne des récompenses plus ou moins rares, genre un bloc de dirt 99% de chance et un diamant 1%, sauf que je ne trouve pas le code pour faire ceci.

    utilise la méthode onItemRightClick et instancie la class Random
    ensuite tu trouveras cette méthode nextShort avec comme argument à mettre le nombre maximal, attention la méthode part de 0 donc ça ne sera pas 100 mais 99, si je ne dis pas de bêtises.
    tu crées une variable et tu lui assignes un nextShort et avec une condition si le nombre générée (la variable) est compris entre 0 (0 y compris) et 98 alors ce sera de la dirt sinon c'est un diamant ça sera forcément 10 dans ce cas



  • Pour éviter d'instancier un objet supplémentaire, tu as Math.random()



  • @'Julot10085':

    @'Degraduck':

    Salut, j'aimerai créer un item, et que quand on clique droit avec ça nous donne des récompenses plus ou moins rares, genre un bloc de dirt 99% de chance et un diamant 1%, sauf que je ne trouve pas le code pour faire ceci.

    utilise la méthode onItemRightClick et instancie la class Random
    ensuite tu trouveras cette méthode nextShort avec comme argument à mettre le nombre maximal, attention la méthode part de 0 donc ça ne sera pas 100 mais 99, si je ne dis pas de bêtises.
    tu crées une variable et tu lui assignes un nextShort et avec une condition si le nombre générée (la variable) est compris entre 0 (0 y compris) et 98 alors ce sera de la dirt sinon c'est un diamant ça sera forcément 10 dans ce cas

    J'avais essayé comme cela mais sauf que vu que je comptes mettre plus de 15 objets c'était compliqué.

    Et sinon le Math.random() je ne vois pas comment l'utiliser.



  • @'Degraduck':

    @'Julot10085':

    @'Degraduck':

    Salut, j'aimerai créer un item, et que quand on clique droit avec ça nous donne des récompenses plus ou moins rares, genre un bloc de dirt 99% de chance et un diamant 1%, sauf que je ne trouve pas le code pour faire ceci.

    utilise la méthode onItemRightClick et instancie la class Random
    ensuite tu trouveras cette méthode nextShort avec comme argument à mettre le nombre maximal, attention la méthode part de 0 donc ça ne sera pas 100 mais 99, si je ne dis pas de bêtises.
    tu crées une variable et tu lui assignes un nextShort et avec une condition si le nombre générée (la variable) est compris entre 0 (0 y compris) et 98 alors ce sera de la dirt sinon c'est un diamant ça sera forcément 10 dans ce cas

    J'avais essayé comme cela mais sauf que vu que je comptes mettre plus de 15 objets c'était compliqué.

    Et sinon le Math.random() je ne vois pas comment l'utiliser.

    bah tu plein de else if,  la méthode va pas tomber du ciel faut se donner les moyens et avoir le courage de faire toutes les conditions. A ma connaissance si tu veux que chaque objet ait chacun un taux différent d’apparition je ne vois pas d'autres procédés.



  • J'ai réussi mais je voulais juste savoir si en utilisant Math.random() mon code serait plus léger.



  • Désolé je voulais t'envoyer un message avec mon tel mais ça a complétement bugé x)
    Je voulais dire que ça ne changera rien du tout puisque toute faço Random a été instancé par Minecraft donc te servir de Math.random() ne servirait pas à grand chose.



  • @'Julot10085 a écrit :':

    @'(Hier:

    J'ai réussi mais je voulais juste savoir si en utilisant Math.random() mon code serait ban il ne serait pas plus léger du tout

    [size=x-smallpourquoi a tu modifier mon message en disant que mon code serait ban?]



  • Désolé je voulais t'envoyer un message avec mon tel mais ça a complétement bugé x)

    Je voulais dire que ça ne changera rien du tout puisque toute façon Random a été instancé par Minecraft.Et donc te servir de Math.random() ne servirait pas à grand chose.



  • mdr, l'éditeur qui j'écrit un message, et ça change un message existant xD



  • D'accord merci



  • @'Julot10085':

    Désolé je voulais t'envoyer un message avec mon tel mais ça a complétement bugé x)

    Je voulais dire que ça ne changera rien du tout puisque toute façon Random a été instancé par Minecraft.Et donc te servir de Math.random() ne servirait pas à grand chose.

    Random est une classe, plusieurs objet peuvent en découler.
    Si tu possède déjà une référence vers un objet de type Random, oui ça revient au même.
    Ce que je veux dire c'est qu'a partir du moment ou tu fais un new, tu instancies un nouvel objet en plus de celui déjà créé par Minecraft.
    (Il est où d'ailleur ce Random ?)



  • @'Blackout':

    @'Julot10085':

    Désolé je voulais t'envoyer un message avec mon tel mais ça a complétement bugé x)

    Je voulais dire que ça ne changera rien du tout puisque toute façon Random a été instancé par Minecraft.Et donc te servir de Math.random() ne servirait pas à grand chose.

    Random est une classe, plusieurs objet peuvent en découler.
    Si tu possède déjà une référence vers un objet de type Random, oui ça revient au même.
    Ce que je veux dire c'est qu'a partir du moment ou tu fais un new, tu instancies un nouvel objet en plus de celui déjà créé par Minecraft.
    (Il est où d'ailleur ce Random ?)

    Oui ce que tu viens de dire je le savais mais ce que je lui fait comprendre c'est que ça ne rajouteras pas de ligne supplémentaires puisque la classe Random a déjà été instancié par Minecraft. Regarde fais this. dans la classe de ton item et tu verras l'instance rand