J'avais un viewer de quêtes bricolé pour un seul modpack. Le transformer en traducteur générique « n'importe quel modpack → wiki web » a surtout demandé de tracer des frontières — et d'écrire le playbook que je relirai dans 6 mois.
#minecraft
« Combien de matières premières pour fabriquer ça ? » Sur un modpack à 25 000 recettes, la réponse est un arbre — et l'arbre est plein de cycles qui le font tourner en rond. Récit d'un résolveur en CTE récursive Postgres.
Ma couche de données de craft était « items only ». Sans le savoir, elle droppait chaque entrée/sortie de fluide ou de produit chimique — 559 recettes avec un ingrédient fantôme, 28 disparues — et des arbres de poules qui mouraient dans le vide.
Pour mon wiki de modpack, il me fallait l'icône PNG de chaque item, fluide et mob du jeu — teintures et modèles dynamiques compris. La seule source fiable du rendu d'un item, c'est le jeu lui-même. Alors j'ai écrit un plugin JEI qui rend tout dans un FBO.
Pour dumper les assets d'un modpack, il fallait lancer un client Minecraft moddé sans écran sur cookie-server. Entre l'iGPU AMD, Xwayland et un OOM-killer qui visait le mauvais process, ça a pris plusieurs relances.
FTB Quests dessine son arbre de quêtes dans le jeu. Je voulais le même rendu, à l'identique, dans un navigateur. La solution : lire le code source du mod pour en extraire un « render profile », et reporter chaque constante en canvas 2D.