Mods: Contenido, desarrollo e instalación Guide
Los mods añaden o cambian contenido y comportamiento en Mindustry — nuevos bloques, objetos, líquidos, unidades, sectores, planetas y puntos de extensión de scripting — permitiendo jugabilidad, visuales y mapas creados por la comunidad. Esta página resume cómo se estructuran los mods, qué suelen incluir, cómo acceder a ellos o desarrollarlos, y consejos prácticos para usarlos.
Qué puede contener un mod
- Nuevos bloques (muros, torretas, fábricas, bloques de energía, transportadores, bloques de propósito especial). Tipos de ejemplo mostrados en ejemplos comunitarios: muros personalizados, baldosas de muro y bloques de defensa.
- Nuevos items y liquids (recursos, combustibles, fluidos como líquidos personalizados).
- Nuevos tipos de balas/munición y asignaciones de munición de torretas (puedes añadir o copiar balas y asignarlas a torretas).
- Nuevas unidades y fábricas de unidades.
- Nuevos planetas, sectores y generadores de sectores (incluyendo sectores "ocultos" creados por la comunidad que reemplazan o aumentan sectores procedurales).
- Activos visuales y capas de dibujo para bloques (regiones, sombras, capas de dibujo extra).
- Scripting, manejadores y procesadores para comportamientos personalizados, incluyendo parsing de contenido Java/JavaScript.
- Sobrescrituras en el lado del mod y comportamientos de bloques enlazados que reenvían manejo de items, liquids y energía a otras losas.
Patrones técnicos comunes y APIs
- Extensión de contenido: Los mods comúnmente extienden clases base para crear nuevo contenido (por ejemplo, extender Wall para hacer un muro personalizado, o GenericCrafter para fábricas). Al crear contenido el constructor establece nombre, descripciones y banderas como solid.
- Copiar y modificar contenido existente: Puedes copiar balas, tipos de munición o bloques, modificar campos (damage, visuals, requirements) y registrarlos, evitando cambios en los originales.
- Aceptación y manejo de items/liquids: Los bloques pueden sobrescribir acceptItem/handleItem y acceptLiquid/handleLiquid para delegar a losas enlazadas o implementar lógica de enrutamiento personalizada. Los hooks de energía pueden delegar llamadas addPower de forma similar a losas enlazadas.
- Dibujo y capas: Los bloques definen regiones y pueden especificar capas de dibujo extra (layer2) o regiones de sombra personalizadas para visuales.
- Visibilidad de construcción y requisitos: Los bloques incluyen buildVisibility, requirements, buildTime y campos de size para controlar cuándo/cómo aparecen y cómo se construyen.
Sectores, planetas y contenido de mapas
- Los mods pueden añadir sectores y planetas completos. Los mapas de ataque "ocultos" creados por la comunidad son usados por algunas campañas modificadas y reemplazan sectores generados proceduralmente en seeds; los autores a menudo añaden notas sobre recursos y defensas (por ejemplo, mapas con abundantes Shock Mines, o defensas de fin de juego con Plastanium/
Muro de fase).
- Los planetas pueden hacerse accesibles o visibles mediante flags de consola al probar (por ejemplo, Planets.
.accessible = Planets. .alwaysUnlocked = true).
Desarrollo de mods: lenguajes y herramientas
- Java y JavaScript son compatibles para crear mods. El flujo de trabajo del modder puede usar Java para cambios de núcleo o scripts al estilo ContentParser para creación de contenido tipo JSON.
- Activos esenciales de un mod: definiciones para items, liquids, blocks, units, bullets, planets/sectors y paquetes localizados (name/description) son típicos.
- Los principiantes deberían empezar copiando y editando contenido de ejemplo (muros, torretas, balas) en vez de reinventar desde cero.
- Áreas útiles a aprender para modding: items & liquids, fábricas (GenericCrafter), bloques de producción/eléctricos, partes de dibujo de torretas, efectos/sonidos/statuses, unidades/armas/habilidades, planetas/sectores/generación, y localizar clases/campos en el código del juego.
- Herramientas y flujos: Muchos modders alternan entre Java y JavaScript (JavaJS) y usan herramientas comunitarias (ACD, ContentParser) cuando es apropiado.
Instalación y acceso a mods
- En Android, las versiones oficiales y beta están disponibles vía Google Play (hazte beta tester para obtener las versiones más recientes). En iOS las builds de prueba se distribuyen vía TestFlight.
- Parte del contenido de mods o items/planetas ocultos pueden desbloquearse o hacerse visibles mediante la consola de desarrollador (presiona F8) estableciendo las flags de visibilidad del planeta u objeto a true.
- Contenido de mods oficiales: algunos mods son creados por el/los desarrollador(es) y distribuidos como "mods oficiales" dentro de la comunidad; estos aparecen en listas de mods pero se comportan como mods comunitarios.
Fragmentos de ejemplo y patrones
- Asignar una bala personalizada a la tabla de munición de una torreta existente (estilo JavaScript):
- Ejemplo: Blocks.duo.ammoTypes.put(Items.pyratite, Blocks.hail.ammoTypes.get(Items.pyratite))
- Copiar una bala y cambiar una propiedad:
- Patrón de ejemplo: bullet = Blocks.hail.ammoTypes.get(Items.graphite).copy(); bullet.damage = 200; Blocks.hail.ammoTypes.put(Items.titanium, bullet)
- Una definición mínima de muro personalizado (estilo JavaScript):
- El patrón de ejemplo muestra establecer region, health, category, size, requirements, buildTime, icons y description al extender Wall.
Buenas prácticas y normas de la comunidad
- Reutiliza y copia contenido existente cuando sea posible para mantener compatibilidad con el balance y los visuales del juego.
- Mantén las claves de localización en Bundles (block.[name].name y block.[name].description) para soportar traducciones.
- Prueba nuevos sectores y planetas con flags de visibilidad de la consola antes de lanzar.
- Contribuye mediante reportes de issues o pull requests para bugs si sabes programar en Java; únete a canales comunitarios para traducciones, discusión y retroalimentación.
- Cuando crees bloques enlazados complejos, asegúrate de que los métodos sobrescritos deleguen correctamente las funciones accept/handle y el enrutamiento de energía a las losas enlazadas para evitar cadenas de suministro rotas.
Dónde se usan los mods
- Los mods alimentan mapas de supervivencia personalizados, sectores de ataque creados por la comunidad, nuevo contenido de campaña y herramientas de calidad de vida para creadores.
- Algunos mods oficiales y comunitarios se empaquetan como add-ons y se distribuyen a través del explorador de mods o alojamiento externo.
Esta guía cubre las estructuras y flujos de trabajo comunes que encontrarás al usar o crear mods para Mindustry: extensión de contenido, sobrescrituras de activos y comportamiento, adiciones de sectores/planetas, y pasos prácticos para probar y distribuir.