1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

Mapping GENERATEUR ALEATOIRE (1-INFINI)

Discussion dans 'Tutoriels' créé par marcpolo55, 15 Mai 2016.

  1. marcpolo55

    marcpolo55 Nouveau

    Inscrit:
    17 Avr 2016
    Messages:
    12
    Points:
    2
    Bonjour à tous ! Je vous propose aujourd'hui ma première astuce de Map Making ! Cela vous permettra de faire un générateur de nombre jusqu'à l'infini.
    [ATTENTION] le générateur ne fera pas des nombres avec le chiffre "0"
    Sommaire:
    • Générateur de 1 à 9999.
    • Explications.
    • Prolonger un générateur jusqu'à l'infini.
    • Générer un nombre.
    • Téléchargement.
    Générateur de 1 à 9999:
    2016-05-14_11.45.26.png
    (voici à quoi il ressemble)
    Il y a plusieurs zones. La partie commande bloc à gauche et le "générateur" à droite.
    La partie commande bloc :
    Examinons de plus près : nombre.png
    /!\ les commandes blocs 4, 5, 6, 8, 9 et 10 doivent être en chaîne et toujours actif. /!\
    • 1 : /setblock ["COORDONNEES COMMANDE BLOC 22" + 1 (en "y")] minecraft:redstone_block
    • 2 : /tellraw @a [{"text":"Nombre aléatoire : ","color":"aqua"},{"score":{"name":"@a","objective":"Générateur"},"color":"gold"}]
    • 3 : /scoreboard objectives remove Générateur
    • 4 : /scoreboard objectives add Générateur dummy
    • 5 : /kill @e[type=Pig,r=50]
    • 6 : /setblock ["COORDONNEES COMMANDE BLOC 21" + 1 ("y")] minecraft:redstone_block
    • 7 : /summon Pig ~ ~1 ~ {CustomName:lol,CustomNameVisible:1,Silent:1,NoAI:1}
    • 8 : /summon Pig ~ ~1 ~ {CustomName:lool,CustomNameVisible:1,Silent:1,NoAI:1}
    • 9 : /summon Pig ~ ~1 ~ {CustomName:loool,CustomNameVisible:1,Silent:1,NoAI:1}
    • 10 : /summon Pig ~ ~1 ~ {CustomName:looool,CustomNameVisible:1,Silent:1,NoAI:1}
    • 11-12-13-14 : PLUS BAS
    • 15 : /setblock ["COORDONNEES COMMANDE BLOC 20" + 1 (en "y")] minecraft:redstone_block
    • 16 : /setblock ["COORDONNEES COMMANDE BLOC 18" + 1 (en "y")] minecraft:redstone_block
    • 17 : /setblock ["COORDONNEES COMMANDE BLOC 19" + 1 (en "y")] minecraft:redstone_block
    • 18 - 23 : /setblock ~ ~1 ~ minecraft:air
    Le "générateur":
    Examinons de plus près :
    nombrelapis.png
    • 11 : /spreadplayers [COORDONNEES DU BLOC DE LAPIS LAZULI "A" (EN X ET Z)] 0 1 true @e[type=Pig,name=lol]
    • 12 : /spreadplayers [COORDONNEES DU BLOC DE LAPIS LAZULI "B" (EN X ET Z)] 0 1 true @e[type=Pig,name=lool]
    • 13 : /spreadplayers [COORDONNEES DU BLOC DE LAPIS LAZULI "C" (EN X ET Z] 0 1 true @e[type=Pig,name=loool]
    • 14 : /spreadplayers [COORDONNEES DU BLOC DE LAPIS LAZULI "D" (EN X ET Z)] 0 1 true @e[type=Pig,name=looool]
    Les nombres 1 à 4 en gras:
    • 1 : Neuf commandes blocs avec la commande : /scoreboard players add @a Générateur [chaque commande bloc avec le nombre "1, 2, 3, 4, 5, 6, 7, 8, 9"]
    • 2 : Neuf commandes blocs avec la commande : /scoreboard players add @a Générateur [chaque commande bloc avec le nombre "10, 20, 30, 40, 50, 60, 70, 80, 90"]
    • 3 : Neuf commandes blocs avec la commande : /scoreboard players add @a Générateur [chaque commande bloc avec le nombre "100, 200, 300, 400, 500, 600, 700, 800, 900"]
    • 4 : Neuf commandes blocs avec la commande : /scoreboard players add @a Générateur [chaque commande bloc avec le nombre "1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000"]
    Explications :
    un scoreboard va être crée, se qui permettra au nombre de se générer. Sur l'image du générateur, la section "1" va créer aléatoirement le score de 1 à 9. La section "2" va créer aléatoirement le score de 10 à 90. La section "3" va créer aléatoirement le score de 100 à 900. la section "4" va créer le score de 1000 à 9000. Tout les nombres générés vont s’additionner et le nombre final va apparaître dans le tchat.
    Prolonger jusqu'à l'infini:
    Si vous n'avez pas trouver comment le prolonger jusqu'à l'infini, envoyez moi un message et je vous répondrai.
    Générer un nombre:
    C'est tout simple, vous n'avez qu'à poser un bloc de redstone manuellement ou par un commande bloc
    au dessus du commande bloc 23.
    Téléchargement :
    Si vous voulez essayer la map, voici le lien pour la télécharger:

    En espérant que cette astuce vous ai plus, je vous dis : "A la prochaine et vive Minecraft !"

     
    • J'aime J'aime x 1
    • Informatif Informatif x 1
    #1 marcpolo55, 15 Mai 2016
    Dernière édition: 16 Mai 2016
  2. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    180
    Sexe:
    Homme
    Sans 0, ça te fait un générateur allant de 1111 à 9999. Pour un générateur allant de 0 à 9999, il ignore beaucoup trop de valeurs.
    Il existe des solutions à base de rapide horloge pour les petits nombres si c'est uniquement un nombre que l'on veut.
    Quand on veut faire autre chose qu'obtenir un nombre, il y a un grand nombre de solution que l'on peut appliquer en fonction de ce que l'on veut (en partant du /time ou du /spreadplayers souvent).
     
  3. Tibalo123

    Tibalo123 Explorateur

    Inscrit:
    16 Sept 2015
    Messages:
    89
    Points:
    73
    Ba en soi pas tant que ça, il suffirait de se débrouiller pour rajouter un command block dans chaque "générateur" avec "/scoreboard players add @a Générateur 0", je suppose qu'on peut empecher les cohons de se spread quelque part en mettant du feu ou autre...

    Tiens, un truc qui m'intrigue, tu vas peut etre pouvoir m'en apprendre :p ! J'comprend pas le rapport entre un random et le /time en fait :smile:
     
  4. Mlakuss

    Mlakuss Rédacteur

    Inscrit:
    7 Sept 2013
    Messages:
    1 694
    Points:
    180
    Sexe:
    Homme
    Sur 10 000 valeurs théoriques, 2620 sont manquantes. Ça fait 26,2% de pertes.

    Pour obtenir une valeur aléatoire, une solution très simple consiste à considérer que le moment où l'on a besoin de la valeur est aléatoire. Le /time possède une fonction "query" qui peut te donner le temps de jeu depuis création du monde. Avec un peu de math, tu peux borner cette valeur entre deux valeurs limites. Replica fonctionne un peu sur ce système pour déterminer la 1ere image. Ensuite c'est une combinaison de spreadplayer et de clone pour empêcher la même image de revenir trop vite.
     
  5. Tibalo123

    Tibalo123 Explorateur

    Inscrit:
    16 Sept 2015
    Messages:
    89
    Points:
    73
    Pas bete le /time !

    .
    Ba justement, en faisant ça:
    Il me semble que le "truc" est complété :smile:
     

Partager cette page