Compatibilité
Vortex Dread ne se branche pas sur la météo de Minecraft, il la double. La tornade est une entité à lui, l'entonnoir est dessiné par son propre rendu, et deux classes du jeu seulement sont modifiées, les deux côté client. Un mod n'entre donc en conflit avec celui-ci que s'il peint la même chose au même moment, et la liste de ces choses tient en quatre lignes.
Le manifeste ne déclare aucune incompatibilité. Pas de liste noire d'identifiants, pas de détection au chargement, pas de refus de démarrer. Deux mods qui reprennent l'apparence de l'orage se lanceront donc ensemble sans une ligne d'erreur, et le seul endroit où cela se verra est le ciel, pendant un orage, quand il sera trop tard pour aller lire un journal. Le prix de ce choix est là, et sa contrepartie est qu'aucun joueur ne se retrouve avec un jeu qui refuse de s'ouvrir à cause d'un voisin.
Ce qui se marche dessus
| Ce que l'autre mod touche | Ce que ça donne | À basculer |
|---|---|---|
| L'orage et son éclairage | Le pont nuageux reçoit deux séries d'éclairs au lieu d'une, et le ciel change deux fois de couleur, chacun à son rythme. | rebuildStorms |
| La passe de post-traitement | La dernière passe posée gagne. La nôtre se retire quand la tornade s'éloigne, et elle emporte alors celle du voisin avec elle. | postEffect |
| La caméra | Les deux déplacements s'additionnent. Une secousse de tempête par-dessus un recul d'arme donne une vue que personne ne suit. | screenShake |
| Les dégâts de météo | Un bloc cassé deux fois ne se remarque pas, mais un joueur soulevé par deux vents à la fois part beaucoup plus loin que prévu. | liftPlayers |
Chacune de ces valeurs vit dans vortexdread.json,
décrit en entier sur la page de configuration. Aucune ne
demande de redémarrer le jeu autrement qu'en rechargeant le fichier.
Les packs de shaders
Sans pack, l'entonnoir est dessiné par le mod lui-même, avec ses propres types de rendu, et il n'a besoin de rien d'autre. Avec Photon patché, c'est le pack qui le dessine, en matière nuageuse et dans la même lumière que le reste de la scène: l'orage reconstruit en cumulus, et l'éclair qui allume le volume de la colonne depuis le dedans plutôt que de multiplier tout le ciel par une constante.
Entre les deux se trouve le cas qui demande une phrase honnête. Sous un pack non
patché, c'est Iris qui choisit le programme, il n'en trouve aucun pour celui du mod et l'écrit
dans le journal (Missing program vortexdread:pipeline/funnel). Le jeu
continue, mais ce qui apparaît à l'écran n'est plus garanti. Les trois situations testées sont
donc: aucun pack, Photon patché, et rien d'autre. Le patch est décrit sur
sa propre page.
Ce avec quoi le mod a grandi
Le développement s'est fait dans un profil chargé plutôt que dans un jeu nu, ce qui est la seule façon de trouver les frottements avant les joueurs. Sodium et Iris tournaient en permanence, avec Lithium, FerriteCore, Krypton, ScalableLux, ImmediatelyFast, EntityCulling, MoreCulling, ThreadTweak, VMP et ServerCore autour, plus AmbientSounds, Sound Physics Remastered et PresenceFootsteps côté audio. Aucun des trente-deux n'a demandé une ligne de code particulière.
Ce qui ne pose aucun problème
- Les mods de performance: ils accélèrent le rendu du monde, ils ne peignent pas le ciel. L'entonnoir passe par les événements de rendu de Fabric API, qui est la route que Sodium respecte.
- Les mods d'occlusion: le rendu déclare pour la tornade une boîte plus haute et plus large que l'entité, jupe de poussière comprise, donc une colonne dont seul le pied est à l'écran ne disparaît pas.
- Les mods de son: les sons du mod sont enregistrés comme n'importe quels autres, et un moteur qui les réverbère ou les occlut les traite sans rien savoir de leur origine.
- Les mods de terrain et de biomes: la tornade lit la carte des hauteurs pour savoir où est le sol, et rien d'autre. Une génération inconnue ne la gêne pas.
Côté dépendances, le mod reste volontairement seul: Fabric API est la seule chose exigée, et Iris, Sodium, Lithium, FerriteCore et spark ne sont que suggérés. Le reste se trouve sur la page d'installation.