La destruction
Une tornade ne rase pas un disque d'un coup. Elle pèle : le toit d'abord, puis ce que le toit retenait, puis les murs une fois que le vent peut enfin s'y engouffrer. Ce n'est pas une mise en scène : la fouille du terrain part du haut de chaque colonne de blocs et descend d'une couche à chaque passage, si bien qu'une maison se défait dans l'ordre où une maison se défait vraiment. Rien de ce que le vent prend n'est jamais remis en place, et rien n'est illimité non plus : chaque tornade ne peut arracher qu'un nombre fixe de blocs par tick, tout le budget de performance que la destruction coûte au serveur.
Ce que le vent peut arracher
La règle est unique et elle décide de tout : la pression dynamique que porte le vent à cet endroit précis, comparée à la résistance du bloc. Rien d'autre n'entre en jeu, ni la hauteur, ni la nature du bloc au sens large, seulement ce rapport de force recalculé bloc par bloc à chaque tentative. Couper breakBlocks désactive toute cette mécanique d'un coup : le vent souffle et les débris déjà en l'air continuent de voler, mais plus aucun nouveau bloc ne cède. Le multiplicateur resistanceScale déplace le curseur dans l'autre sens : au-dessus de un, une tornade se met à éventrer des constructions pensées pour encaisser une explosion ; en dessous, elle peine à décoiffer les feuilles.
Une échelle calée sur le jeu, pas sur des pascals
La résistance qu'un vent donné peut vaincre grimpe avec le cube de sa vitesse, pas avec sa vitesse elle-même, ce qui explique l'écart entre une EF4 et une EF2 : entre leurs deux planchers, cette capacité plus que triple. Au plancher de chaque catégorie, cette capacité vaut 0,35 pour une EF0 à vingt-neuf mètres par seconde, puis 0,79, 1,79, 3,26 et 6,05 aux planchers des EF1 à EF4, jusqu'à 10,5 au plancher d'une EF5 à quatre-vingt-dix mètres par seconde. Pour un ordre de grandeur emprunté à la table native du jeu : les feuilles valent 0,2 de résistance et une vitre 0,3, ce qui veut dire qu'une tornade tout juste née les arrache déjà.
Ce que devient un bloc qui cède
Un bloc arraché ne tombe pas forcément en objet ramassable : par défaut dropItems est à faux, et ce que le vent prend disparaît, sans rien au sol derrière le passage. Le bloc qui vient de céder ne devient un débris volant que si le vent qui l'a pris en avait largement sous le pied, au moins deux fois et demie sa résistance d'origine, la même résistance que resistanceScale fait justement monter ou descendre. Une tornade qui vient tout juste de franchir le seuil d'un bloc le détruit donc sans le porter, et seul un vent nettement plus fort que nécessaire remplit le ciel de débris.
Ce qui ne cède jamais : toute résistance à partir de 900 reste hors de portée, quelle que soit la force de la tornade, et l'obsidienne, à 1200, n'en approche même pas. Le bedrock n'a même pas de résistance qui se compare : il ne cède jamais, dans aucune version du calcul.
Un budget par tick, pas un balayage
Chaque tornade dispose d'un nombre fixe de blocs qu'elle peut arracher par tick, quatre-vingt-seize par défaut, le seul vrai poste de coût de toute la destruction. Plutôt que de tester le disque entier à chaque fois, un curseur en spirale à angle d'or saute d'un point à l'autre, de façon à ne jamais revisiter la même zone deux fois de suite tout en couvrant la surface de façon régulière. Un bloc qui vient de céder reçoit un coup de pouce de six mètres par seconde vers le haut, en plus du vent qu'il subit déjà, histoire qu'il dégage franchement ce sur quoi il reposait plutôt que de racler dessus pendant les premières fractions de seconde.
Les quatre leviers
| Réglage | Effet | Valeur par défaut |
|---|---|---|
| breakBlocks | Interrupteur général de la casse. Désactivé, le vent souffle et les débris déjà en vol terminent leur course, mais plus aucun bloc ne cède au passage. | actif (true) |
| blockBudgetPerTick | Blocs qu'une même tornade peut arracher par tick. Le seul réglage qui pèse vraiment sur les performances d'un orage actif. | 96 |
| resistanceScale | Multiplie la résistance que le vent doit vaincre. Au-dessus de un, la tornade s'attaque à des constructions pensées pour encaisser une explosion ; en dessous, elle peine à décoiffer les feuilles. | 1,0 |
| dropItems | Décide si un bloc arraché laisse un objet ramassable derrière lui. Désactivé par défaut : ce que le vent prend disparaît sans rien au sol. | inactif (false) |