Bienvenue à toi, cher joueur, dans la zone de test ! Ici, on passe au grill les idées reçues, on soumet les légendes urbaines à la rigueur des expériences afin de vérifier leur exactitude. Ensemble, nous allons soumettre le jeu à l’analyse afin de démêler le vrai du faux. Aujourd’hui, nous allons nous étudier l’effet de la poudre d’os sur l’herbe, méthode très connue pour faire pousser herbe et fleurs.
Mise en contexte :
Les fleurs et l’herbe sont générées naturellement dans les biomes comportant de l’herbe. Depuis la version 1.7.2, nommée à juste titre « La mise à jour qui a changé le monde », le nombre de biomes a considérablement augmenté avec l’apparition de nouvelles plantes et fleurs pour l’occasion.
Vue d’un biome Forêt de fleurs, variation du biome Forêt depuis 1.7.2
Un moyen commun de faire apparaître des fleurs utilise de la poudre d’os : effectuer un clic droit avec de la poudre d’os sur un bloc d’herbe fera apparaître de l’herbe et diverses fleurs. Comprendre comment fonctionne ce mécanisme permettrait d’automatiser cette action et d’améliorer les usines à graines, à fleurs et à colorants.
Avant de décrire le système, penchons-nous sur quelques principes de base sur le sujet :
- comme colorant : la poudre d’os est considérée comme le colorant blanc, elle permet de colorer le verre et l’argile cuite. La laine sur un mouton peut redevenir blanche également. en effectuant un clic droit
- comme ingrédient : elle permet de fabriquer les colorants clairs à partir des colorants foncés.
- comme engrais : elle permet de faire pousser plus rapidement les pousses d’arbres et des plantes.
L’utilisation qui nous intéresse ici est sa propriété de former de l’herbe et des fleurs sur de l’herbe. Pour cela, deux manières de procéder : faire un clic droit avec la poudre d’os sur le bloc d’herbe ou placer la poudre d’os dans un distributeur dirigé vers le bloc d’herbe.
Nous avions indiqués lors de notre étude de la canne à sucre l’existence des Data Values, ces données supplémentaires qui permettent de déterminer les diverses versions d’un bloc. Voici la liste des fleurs et des herbes générées lors de la création d’un biome disposant d’herbe :
[table id=47 /]
Vous verrez rapidement que la poudre d’os ne permet pas de générer tout ceci. Sont seulement générées :
- les hautes herbes : minecraft:tallgrass 0
- les fleurs d’un bloc de haut : minecraft:yellow_flower et minecraft:red_flower
- une fois cassée, les herbes hautes donnent des graines de blé.
- les fleurs ne sont pas détruites et vous pouvez donc les récupérer pour la décoration.
- une grande diversité de colorants peut être obtenue à partir de la simple transformation des fleurs.
Dans les usines, beaucoup de manières différentes de récolter existent (déplacer les blocs d’herbe, verser de l’eau…) mais nous n’en discuterons pas ici.
Voilà, nous pouvons entrer dans le vif du sujet : l’expérimentation.
Montages expérimentaux
Le but ici est de faire une étude la plus globale du phénomène, donc nous serons amenés à faire plusieurs expériences avec des montages différents. Ceci est la partie technique, elle n’est pas obligatoire si seules les conclusions vous intéressent.
Vue globale des montages utilisés
Nous avons en tout cinq parties pour effectuer les essais, accumuler des données et les traiter. Décrivons le système :
- Zone de pousse
- Evaluer la zone de distribution
- Tester les fleurs possibles
- Enregistrer les essais
- Traiter les données recueillies
- Représenter les résultats
Décrivons comment se déroule la phase de déclenchement du distributeur :
- le distributeur est réinitialisé en copiant un distributeur de référence (à gauche près de blocs de commande) pour remplacer le distributeur central.
- on fait apparaître un bloc de redstone sous le distributeur, ce qui déclenche ce dernier.
- on remplace le bloc de redstone par un bloc d’air.
Reste à savoir comment tirer parti de ces cycles pour nos mesures.
/clone <départ 1> <départ 2> <arrivée> filtered move minecraft:<bloc>
Vous constatez qu’il ne s’agit pas d’un copier-coller simple comme le fait la fonction /clone classique :
- filtered indique qu’on va préciser qu’on ne copie que les <blocs> présents dans la zone.
- move précise que les blocs seront déplacés : l’original n’existera plus une fois la copie créée.
L’endroit où seront copiés les blocs est une zone de 17×17 blocs : la zone (-1,27,25) à (15,27,15) consiste en des tapis sous lesquels se trouvent de la laine verte. Expliquons la démarche pas-à-pas :
- on déplace les deux types de fleurs qui vont remplacer une partie des tapis noirs :
/clone -1 27 -1 15 27 15 -1 27 25 filtered move minecraft:yellow_flower
/clone -1 27 -1 15 27 15 -1 27 25 filtered move minecraft:red_flower
- on déplace les hautes herbes avec le même type de commande :
/clone -1 27 -1 15 27 15 -1 27 25 filtered move minecraft:tallgrass
- les fleurs et les herbes hautes sur les tapis vont se casser et générer des items qu’il faudra supprimer :
/kill @e[type=Item]
On se retrouve donc avec un espace vide dans les tapis qui correspondent aux localisations des hautes herbes et des fleurs générées. En accumulant des cycles, on enlève d’autres tapis et les laines vertes en dessous illustrent les endroits accessibles au distributeur.
/fill <départ 1> <départ 2> minecraft:<item 2> <DataValue> replace minecraft:<item 1>
Cette permet de remplacer, dans la zone déterminée, tous les blocs <item 1> par les blocs <item 2>. Ici, on a :
/fill -1 27 -1 15 27 15 minecraft:air 0 replace minecraft:tallgrass
Dès qu’un bloc d’herbe haute est généré, il est remplacé immédiatement par un bloc d’air. En utilisant de la poudre d’os sur toute la surface, on finit par la remplir entièrement de fleurs.
Pour rendre la chose plus visuelle, un module permet de remplacer chaque fleur par un bloc en utilisant des commandes /fill similaires :
/fill -1 27 -1 15 27 15 minecraft:wool 3 replace minecraft:red_flower 1
Cette commande permet, par exemple, de remplacer les orchidées bleues par des blocs de laine bleu clair.
Les différents objectifs définis dans le scoreboard sont :
- un objectif Cycles pour savoir le nombre de fois qu’on a actionné le distributeur.
- un objectif est créé à chaque fleur : Pissenlit, Coquelicot, Allium, OrchidéeBleue, Houstonie, Marguerite, TulipeRouge, TulipeOrange, TulipeBlanche et TulipeRose.
- un objectif Herbe est également créé pour les hautes herbes.
- on compte également les blocs d’air avec l’objectif Air, qui correspondent aux blocs où cela n’a pas poussé.
Sur chaque bloc de la zone d’étude, on invoque un ArmorStand qui surveillera le bloc. On décale ces ArmorStand par translation pour ne pas gêner visuellement et on effectue des actions sur le scoreboard depuis chacun avec la commande /execute (ce qui donne fatalement des commandes à rallonge) :
/execute @e[type=ArmorStand] ~ ~ ~ detect ~-22 27 ~ minecraft:red_flower 1 /scoreboard players add @e[r=0] OrchidéeBleue 1
La commande ci-dessus veut dire que chaque ArmorStand va regarder s’il détecte 27 blocs plus à l’ouest une orchidée bleue et, si c’est le cas, ajouter 1 à son compteur d’orchidée bleue.
- l’objectif Total qui compte toutes les herbes et fleurs générées. Il est calculé à la fin des cycles en effectuant la différence entre Cycles et Air avec la fonction operation du scoreboard :
/execute @e[type=ArmorStand] ~ ~ ~ /scoreboard players operation @e[r=0] Total = @p Cycles
/execute @e[type=ArmorStand] ~ ~ ~ /scoreboard players operation @e[r=0] Total -= @e[r=0] Air
La première commande copie la valeur le nombre de cycles chez tous les ArmorStand, puis la seconde commande soustrait à cette valeur le nombre de blocs d’air compté par l’ArmorStand.
- l’objectif Fleurs qui compte le nombre total de fleurs générées. Il est calculé à la fin en effectuant la différence entre Total et Herbe.
/execute @e[type=ArmorStand] ~ ~ ~ /scoreboard players operation @e[r=0] Fleurs = @e[r=0] Total
/execute @e[type=ArmorStand] ~ ~ ~ /scoreboard players operation @e[r=0] Fleurs -= @e[r=0] Herbe
Vous commencez à comprendre le principe : on initialise la valeur de Fleurs avec le nombre de blocs de Total, puis on enlève le nombre de hautes herbes.
Pour conserver la dispersion des données selon la loi normale (la cloche n’est plus une courbe mais une surface dans l’espace 3D), le code couleur est calculé de façon à suivre cette progression. Les valeurs présentes sont valables lorsqu’on fait 10 000 cycles, ce que nous ferons par la suite.
Résumons nos objectifs :
- déterminer la zone sur laquelle est distribuée la poudre d’os depuis un distributeur.
- déterminer les fleurs présentes dans chaque biome.
- déterminer les probabilités associées.
Reste plus qu’à nous mettre au travail !
Analyse des résultats :
Les expériences ont fourni beaucoup de données à traiter et ont permis de mettre en évidence certaines mécaniques très intéressantes. Nous allons expliquer pas-à-pas ce que nous avons ici :
Zone de distribution de la poudre d’os
Débutons par utiliser le premier système pour nous donner une idée préliminaire :
Zone de répartition de la poudre d’os depuis un distributeur (sur 1 000 000 essais)
Tous les points n’ont pas été révélé, mais une évidence semble surgir : l’aire de répartition est un carré de 17×17 blocs centré sur le bloc d’herbe sous lequel se trouve le distributeur. C’est un premier renseignement utile lors de la fabrication d’une usine : rajouter des blocs d’herbe supplémentaires serait inutile.
Vous comprenez certainement maintenant pourquoi certaines zones construites dans les systèmes étaient plus petites : cette information connue, on a pu enlever certains ArmorStands en trop qui auraient ajoutés des calculs et des données supplémentaires, mais surtout inutiles.
Population florale selon les biomes
En utilisant le deuxième système, on peut rapidement explorer une surface données d’un biome afin d’avoir une idée des fleurs qui peuvent être crées dans celui-ci. Cela nous amène à classer les biomes selon les fleurs obtenues :
Ainsi, pour obtenir cette fleur et le colorant bleu clair qui lui est associé, l’usine à fleur devra être construite dans un biome marais.
Il existe également des grandes fleurs (lilas, rosier et pivoine) mais elles ne sont pas générées avec la poudre d’os.
Dans les biomes « Plaine de tournesols », vous pourrez trouver des tournesols (cela semble évident) mais ils ne sont pas générés par la poudre d’os, uniquement à la génération initiale du biome.
Pour la poudre d’os, on s’attend à trouver donc les mêmes fleurs que dans les plaines avec une fleur supplémentaire : l’allium, endémique à ce biome.
L’existence de ses grands groupes justifie la limitation du nombre de biomes sur lequel nous effectuerons les longues expériences de probabilité ci-après.
Probabilités associée à l’usage de la poudre d’os
On utilisera 3 biomes représentatifs : un biome Jungle, un biome Plaine et un biome Forêt de fleurs. On compare tout d’abord l’aire de dispersion avec Total.
Au total, 230 319 blocs ont été générés, soit 23 blocs environ par cycle.
Regardons maintenant le rapport entre l’herbe et les fleurs :
Au total, 201 530 hautes herbes ont été générées, soit 20 hautes herbes environ par cycle.
Répartition des fleurs (sur 10 000 essais en biome Jungle)
Au total, 28 789 fleurs ont été générées, soit 3 fleurs environ par cycle.
Au total, 201 299 hautes herbes ont été générées, soit 20 hautes herbes environ par cycle.
Répartition des fleurs (sur 10 000 essais en biome Plaines)
Au total, 28 753 fleurs ont été générées, soit 3 fleurs environ par cycle.
Au total, 201 423 hautes herbes ont été générées, soit 20 hautes herbes environ par cycle.
Répartition des fleurs (sur 10 000 essais en biome Forêt de fleurs)
Au total, 28 886 fleurs ont été générées, soit 3 fleurs environ par cycle.
Pourcentages associés à chaque fleur
Commençons par le biome jungle, où on s’attend à trouver deux types de fleurs :
Voilà la répartition des fleurs pour comparaison.
- Les probabilités de chaque fleur suivent la répartition globale des fleurs (probabilité maximale centrale).
- Les deux fleurs ne sont pas équiprobables : on a 201 pissenlits pour 100 coquelicots.
Continuons avec le biome plaine : on s’attend à trouver 4 types de fleurs avec plus rarement des tulipes.
- Plaine - Fleurs
- Plaine - Pissenlit
- Plaine - Coquelicot
- Plaine - Houstonie
- Plaine - Marguerite
- Plaine - Tulipes (toutes couleurs confondues)
Voilà la répartition des fleurs pour comparaison.
Au total, 9 649 pissenlits ont été générés, soit 1 pissenlit environ par cycle.
Au total, 6 282 coquelicots ont été générés, soit 0.6 coquelicot environ par cycle.
Au total, 6 528 houstonies ont été générées, soit 0.7 houstonie environ par cycle.
- Les probabilités de chaque fleur suivent la répartition globale des fleurs (probabilité maximale centrale).
- Les deux fleurs ne sont pas équiprobables : pour 10 coquelicots, on a environ 15 pissenlits, 10 houstonies et 10 marguerites.
- Les tulipes ont un statut particulier, l’expérience semble indiquer que les tulipes apparaissent seulement localement dans les biomes Plaines. Nous reviendrons sur ce problème plus loin.
Pourcentages associés à chaque fleur
On s’attend à trouver une grande diversité avec 9 types de fleurs :
- Forêt de fleurs - Fleurs
- Forêt de fleurs - Pissenlit
- Forêt de fleurs - Coquelicot
- Forêt de fleurs - Tulipe rouge
- Tulipe orange
- Tulipe blanche
- Tulipe rose
- Forêt de fleurs - Houstonie
- Forêt de fleurs - Marguerite
- Population florale
Voilà la répartition des fleurs pour comparaison.
Sur cette parcelle, aucun pissenlit n’a été généré.
Répartition des coquelicots (sur 10 000 essais en biome Forêt de fleurs)
Sur cette parcelle, aucun coquelicot n’a été généré.
Sur cette parcelle, 265 tulipes rouges ont été générées.
Sur cette parcelle, 11 632 tulipes orange ont été générées.
Sur cette parcelle, 16 928 tulipes blanches ont été générées.
Sur cette parcelle, 60 tulipes roses ont été générées.
Sur cette parcelle, une houstonie a été générée, ce qui est négligeable.
Sur cette parcelle, aucune marguerite n’a été générée.
Si on remplit avec de la poudre d’os la parcelle en fleurs, on obtient des bandes qui correspondent aux contours des répartitions ci-dessus.
Les répartitions par type de fleurs sont en fait l’intersection de la répartition des fleurs avec la bande correspondante de la population florale de la zone.
Pour la légende : la laine gris clair représente les houstonies et les différentes couleurs d’argile correspondent aux différentes tulipes.
- Les fleurs ne peuvent pas apparaître partout : elles suivent des zones prédéfinies.
- La probabilité d’apparition dépend donc de chaque zone choisie.
Du coup, beaucoup de questions se posent sur ces zones prédéfinies, ce que nous allons tester de suite.
Population florale du biome Forêt des fleurs
On génère pour l’occasion un biome plat avec un graine de monde (obtenable avec /seed) où on précise qu’on désire avoir que le biome Forêt des fleurs. On utilise l’équivalent du deuxième système qui remplace les blocs d’herbe par des blocs d’air, la seule différence est que la zone où s’applique l’effet est relative au joueur et donc se déplace avec lui. On remplace ensuite les fleurs avec le code couleur présenté précédemment :
Répartition des fleurs dans un biome Forêt des fleurs (centre en 0,0)
On voit donc une répartition des fleurs par zone qui ressemble beaucoup à des courbes de niveau : si vous imaginez que chaque couleur est une altitude, vous avez l’équivalent d’une carte topographique. Vous pouvez remarquer qu’on a toujours le même ordre :
- pissenlit (laine jaune) : minecraft yellow_flower
- coquelicot (laine rouge) : minecraft red_flower 0
- allium (laine magenta) : minecraft red_flower 2
- houstonie (laine grise) : minecraft red_flower 3
- tulipe rouge (argile rouge) : minecraft red_flower 4
- tulipe orange (argile orange) : minecraft red_flower 5
- tulipe blanche (argile blanche) : minecraft red_flower 6
- tulipe rose (argile rose) : minecraft red_flower 7
- marguerite (laine blanche) : minecraft red_flower 8
Répartition des fleurs dans un biome Forêt des fleurs (centre en 45,94)
Chose encore plus intéressante : cette répartition est constante horizontalement. Elle ne dépend ni de la hauteur, ni de la graine de génération de la map utilisée.
Répartition des fleurs dans un biome Forêt des fleurs à différentes altitudes
Ainsi, si vous avez un biome Forêt de fleurs en 133,62, je peux vous prédire que la fleur qui poussera sera un allium. Conclusion : si vous voulez faire une usine à fleurs, choisissez judicieusement l’emplacement où vous la construisez puisque cela conditionne les types de fleurs récoltées et les rendements associées.
Population de tulipes dans les biomes Plaines
Nous avions des doutes sur le caractère local de la génération des tulipes, voilà l’occasion de le vérifier :
Exemple de zone d’apparition de tulipes dans un biome Plaine
On voit qu’il y a une répartition locale restreinte qui forme des zones arrondies. Elles sont relativement rares, si vous avez de la chance vous pouvez rencontrer des zones relativement proches :
Exemple de zones d’apparition de tulipes proches dans un biome Plaine
Plusieurs points sont à remarquer :
- comme précédemment, la génération des tulipes ne dépend ni de l’altitude, ni de la graine du monde.
- elle ne dépend pas du type de biomes : la zone ne change pas, par exemple, entre le biome Plaine et le biome Plaine de tournesols, tant que cela reste un biome de type Plaine.
- mais, chose très intéressante, la distribution des tulipes dans la zone change à chaque essai : il est donc plus avantageux de faire des usines à tulipes dans ces zones que dans les biomes Forêt de fleurs si c’est l’ensemble des tulipes qui vous intéresse.
Si vous désirez voir d’autres expérimentations sur la poudre d’os, vous pouvez voir par exemple les résultats de Accidental Games et de nombreux autres expérimentateurs.
Conclusion :
Nous avons terminé nos expérimentations : le sujet est donc très complexe. Nous connaissons donc l’aire de distribution de la poudre d’os depuis un distributeur et les probabilités associées. Les fleurs obtenues dépendent donc de beaucoup de paramètre : le biome, et dans des cas particuliers (dans les Forêts de fleurs et pour les tulipes dans les Plaines) des coordonnées horizontales. J’espère que cet article vous aura intéressé et que vous avez eu autant de plaisir à le lire que moi à l’écrire. N’hésitez pas à donner vos retours dans les commentaires, ainsi que des expériences que vous voudriez tester sur les mécaniques de jeu dans Minecraft. À bientôt dans la TestZone.
je suis très impressionner, injecter une telle quantité de réflexion, mettre en place un protocole scientifique aussi poussé pour découvrir qu’elle sont les paramètres implémenté dans un jeux… c’est fabuleux, et ce a plein de niveau.
chapeau!
Merci pour vos commentaires, vos encouragements font plaisir et vos remarques sont très utiles !
@Teneombre : elle était présente, mais à la relecture il est vrai qu’elle n’est pas très visible. Je vais essayer d’arranger ça.
Excellent article super complet, j’adore ce genre de contenu :3
Expérience remarquablement intéressante, surtout du point de vue des biomes foret de fleur. Je regrette juste l’absence d’échelle pour les couleurs (à moins que je ne l’ai loupée)
Très bel article, félicitation ! Tes testes sont très intéressant, continue comme ça !
Salut ! Super article très interessant mais je n’est pas compris grand chose. :)