Mods : meilleures extensions et installation Guide
Les mods ajoutent ou modifient du contenu et du comportement dans Mindustry — nouveaux blocs, objets, liquides, unités, secteurs, planètes et hooks de script — permettant du gameplay, des visuels et des cartes créés par la communauté. Cette page résume comment les mods sont structurés, ce qu’ils contiennent couramment, comment y accéder ou les développer, et des conseils pratiques pour les utiliser.
Ce qu’un mod peut contenir
- Nouveaux blocs (murs, tourelles, usines, blocs d’alimentation, convoyeurs, blocs à usage spécial). Types d’exemples montrés dans les exemples communautaires : murs personnalisés, tuiles de mur et blocs de défense.
- Nouveaux objets et liquides (ressources, carburants, fluides tels que des liquides personnalisés).
- Nouveaux types de balles/munitions et mappages de munitions pour tourelles (vous pouvez ajouter ou copier des balles et les assigner à des tourelles).
- Nouvelles unités et usines d’unités.
- Nouvelles planètes, secteurs et générateurs de secteurs (y compris des secteurs « cachés » ou créés par la communauté qui remplacent ou augmentent les secteurs procéduraux).
- Assets visuels et couches de dessin pour les blocs (regions, ombres, couches de dessin supplémentaires).
- Scripting, handlers et processeurs pour des comportements personnalisés, y compris parsing de contenu Java/JavaScript.
- Dérogations côté mod et comportements de blocs liés qui redirigent la gestion d’objets, de liquides et d’énergie vers d’autres tuiles.
Modèles techniques et APIs courants
- Extension de contenu : Les mods étendent couramment les classes de base pour créer du nouveau contenu (par ex., étendre Wall pour faire un mur personnalisé, ou GenericCrafter pour des usines). Lors de la création de contenu, le constructeur définit le nom, les descriptions et des flags comme solid.
- Copier et modifier du contenu existant : Vous pouvez copier des balles, des types de munitions ou des blocs, modifier des champs (damage, visuels, requirements) et les enregistrer, évitant ainsi de changer les originaux.
- Acceptation et gestion d’objets/liquides : Les blocs peuvent override acceptItem/handleItem et acceptLiquid/handleLiquid pour déléguer à des tuiles liées ou implémenter une logique de routage personnalisée. Les hooks d’alimentation peuvent de même déléguer les appels addPower vers des tuiles liées.
- Dessin et couches : Les blocs définissent des regions et peuvent spécifier des couches de dessin supplémentaires (layer2) ou des régions d’ombre personnalisées pour les visuels.
- Visibilité de construction et exigences : Les blocs incluent buildVisibility, requirements, buildTime et size pour contrôler quand/comment ils apparaissent et comment ils sont construits.
Secteurs, planètes et contenu de carte
- Les mods peuvent ajouter des secteurs et des planètes complets. Des cartes d’attaque « cachées » créées par la communauté sont utilisées par certaines campagnes modées et remplacent des secteurs générés procéduralement dans des seeds ; les auteurs annotent souvent des notes sur les ressources et les défenses (par exemple, des cartes avec beaucoup de Shock Mines, ou des défenses de fin de partie avec Plastanium/
Mur phasé).
- Les planètes peuvent être rendues accessibles ou visibles via des flags de console lors des tests (par ex., Planets.
.accessible = Planets. .alwaysUnlocked = true).
Développement de mods : langages et outils
- Java et JavaScript sont supportés pour créer des mods. Le workflow du moddeur peut utiliser Java pour des changements cœur ou des scripts de type ContentParser pour une création de contenu proche de JSON.
- Assets essentiels du mod : définitions pour les items, liquides, blocs, unités, balles, planètes/secteurs et bundles localisés (name/description) sont typiques.
- Les débutants devraient commencer par copier et éditer du contenu d’exemple (murs, tourelles, balles) plutôt que de tout réinventer.
- Domaines utiles à apprendre en moddage : items & liquids, usines (GenericCrafter), blocs de production/électriques, pièces de dessin de tourelles, effets/sounds/statuses, unités/armes/aptitudes, planètes/secteurs/génération, et localisation des classes/champs dans le code du jeu.
- Outils et flux : De nombreux moddeurs passent entre Java et JavaScript (JavaJS) et utilisent des outils communautaires (ACD, ContentParser) quand c’est approprié.
Installation et accès aux mods
- Sur Android, les builds officiels et beta sont disponibles via Google Play (devenez beta tester pour obtenir les builds les plus récents). Les builds de test iOS sont distribués via TestFlight.
- Certains contenus de mods ou items/planètes cachés peuvent être débloqués ou rendus visibles via la console développeur (appuyez sur F8) en réglant les flags de visibilité de la planète ou de l’objet à true.
- Contenu de mod officiel : certains mods sont rédigés par le(s) développeur(s) et distribués en tant que « official mods » au sein de la communauté ; ils apparaissent dans les listes de mods mais se comportent comme des mods communautaires.
Exemples de snippets et de motifs
- Assignation d’une balle personnalisée à la table de munitions d’une tourelle existante (style JavaScript) :
- Exemple : Blocks.duo.ammoTypes.put(Items.pyratite, Blocks.hail.ammoTypes.get(Items.pyratite))
- Copier une balle et changer une propriété :
- Exemple de motif : bullet = Blocks.hail.ammoTypes.get(Items.graphite).copy(); bullet.damage = 200; Blocks.hail.ammoTypes.put(Items.titanium, bullet)
- Une définition minimale de mur personnalisé (style JavaScript) :
- Le motif d’exemple montre la définition de region, health, category, size, requirements, buildTime, icons et description lors de l’extension de Wall.
Bonnes pratiques et normes communautaires
- Réutilisez et copiez le contenu existant quand c’est possible pour rester compatible avec l’équilibrage et les visuels du jeu.
- Gardez les clés de localisation dans Bundles (block.[name].name et block.[name].description) pour supporter les traductions.
- Testez les nouveaux secteurs et planètes avec les flags de visibilité de la console avant la publication.
- Contribuez via des rapports d’issues ou des pull requests pour les bugs si vous pouvez coder en Java ; rejoignez les canaux communautaires pour les traductions, la discussion et les retours.
- Lors de la création de blocs liés complexes, assurez-vous que les méthodes override délèguent correctement les fonctions accept/handle et le routage d’énergie vers les tuiles liées pour éviter des chaînes d’approvisionnement cassées.
Où les mods sont utilisés
- Les mods alimentent des cartes de survie personnalisées, des secteurs d’attaque créés par la communauté, du contenu de campagne nouveau et des outils de qualité de vie pour créateurs.
- Certains mods officiels et communautaires sont empaquetés en add-ons et distribués via le mod browser ou l’hébergement externe.
Ce guide couvre les structures et workflows courants que vous rencontrerez en utilisant ou en créant des mods pour Mindustry : extension de contenu, dérogations d’assets et de comportements, ajouts de secteurs/planètes, et étapes pratiques pour les tests et la distribution.