Mods: Estrutura, Criação e Instalação Guide
Mods adicionam ou alteram conteúdo e comportamento em Mindustry — novos blocos, itens, líquidos, unidades, setores, planetas e hooks de script — permitindo gameplay, visuais e mapas criados pela comunidade. Esta página resume como os mods são estruturados, o que eles costumam incluir, como acessá-los ou desenvolvê-los, e dicas práticas para usá-los.
O que um mod pode conter
- Novos blocos (paredes, torres, fábricas, blocos de energia, correias, blocos de propósito especial). Tipos de exemplo mostrados em exemplos da comunidade: paredes customizadas, tiles de parede e blocos de defesa.
- Novos itens e líquidos (recursos, combustíveis, fluidos como líquidos customizados).
- Novos tipos de balas/munição e mapeamentos de munição para torres (você pode adicionar ou copiar balas e atribuí-las a torres).
- Novas unidades e fábricas de unidades.
- Novos planetas, setores e geradores de setor (incluindo setores “escondidos” criados pela comunidade que substituem ou aumentam setores procedurais).
- Assets visuais e camadas de desenho para blocos (regions, sombras, camadas extras de desenho).
- Scripting, handlers e processadores para comportamentos customizados, incluindo parsing de conteúdo Java/JavaScript.
- Overrides do lado do mod e comportamentos de blocos vinculados que repassam manuseio de itens, líquidos e energia para outros tiles.
Padrões técnicos comuns e APIs
- Extensão de conteúdo: Mods frequentemente estendem classes-base para criar novo conteúdo (por exemplo, estender Wall para fazer uma parede customizada, ou GenericCrafter para fábricas). Ao criar conteúdo o construtor define name, descriptions e flags como solid.
- Copiar e modificar conteúdo existente: Você pode copiar balas, tipos de munição ou blocos, modificar campos (damage, visuals, requirements) e registrá-los, evitando mudanças nos originais.
- Aceitação e manuseio de item/líquido: Blocos podem sobrescrever acceptItem/handleItem e acceptLiquid/handleLiquid para delegar a tiles vinculados ou implementar lógica customizada de roteamento. Hooks de energia podem de forma semelhante delegar chamadas addPower para tiles vinculados.
- Desenho e camadas: Blocos definem regions e podem especificar camadas extras de desenho (layer2) ou regiões de sombra customizadas para visuais.
- Visibilidade de construção e requisitos: Blocos incluem buildVisibility, requirements, buildTime e campos size para controlar quando/como aparecem e como são construídos.
Setores, planetas e conteúdo de mapa
- Mods podem adicionar setores e planetas completos. Mapas de ataque “escondidos” criados pela comunidade são usados por algumas campanhas modificadas e substituem setores gerados proceduralmente em seeds; autores frequentemente adicionam notas sobre recursos e defesas (por exemplo, mapas com abundância de Shock Mines, ou defesas de endgame com Plastanium/
Muro de Fase).
- Planets podem ser tornados acessíveis ou visíveis via flags do console quando em teste (por exemplo, Planets.
.accessible = Planets. .alwaysUnlocked = true).
Desenvolvendo mods: linguagens e ferramentas
- Java e JavaScript são suportados para criar mods. O fluxo de trabalho do modder pode usar Java para mudanças centrais ou scripts no estilo ContentParser para criação de conteúdo estilo JSON.
- Assets essenciais de mod: definições para items, liquids, blocks, units, bullets, planets/sectors e bundles localizados (name/description) são típicos.
- Iniciantes devem começar copiando e editando conteúdo de exemplo (paredes, torres, balas) ao invés de reinventar do zero.
- Áreas úteis para aprender no modding: items & liquids, fábricas (GenericCrafter), blocos de produção/energia, partes de desenho de torres, efeitos/sounds/statuses, unidades/armas/habilidades, planets/sectors/generation, e localizar classes/campos no código do jogo.
- Ferramentas e fluxos: Muitos modders transitam entre Java e JavaScript (JavaJS) e usam tooling da comunidade (ACD, ContentParser) quando apropriado.
Instalando e acessando mods
- No Android, as builds oficiais e beta estão disponíveis via Google Play (tornar-se beta tester para obter as builds mais recentes). Builds de teste no iOS são distribuídas via TestFlight.
- Algum conteúdo de mod ou itens/planetas escondidos podem ser desbloqueados ou tornados visíveis através do console de desenvolvedor (pressione F8) ajustando flags de visibilidade do planeta ou objeto para true.
- Conteúdo de mod oficial: alguns mods são escritos pelos desenvolvedor(es) e distribuídos como “official mods” dentro da comunidade; eles aparecem em listas de mods mas se comportam como mods da comunidade.
Trechos de exemplo e padrões
- Atribuindo uma bala customizada à tabela de munição de uma torre existente (estilo JavaScript):
- Exemplo: Blocks.duo.ammoTypes.put(Items.pyratite, Blocks.hail.ammoTypes.get(Items.pyratite))
- Copiando uma bala e mudando uma propriedade:
- Padrão de exemplo: bullet = Blocks.hail.ammoTypes.get(Items.graphite).copy(); bullet.damage = 200; Blocks.hail.ammoTypes.put(Items.titanium, bullet)
- Uma definição mínima de parede customizada (estilo JavaScript):
- O padrão de exemplo mostra definir region, health, category, size, requirements, buildTime, icons e description ao estender Wall.
Boas práticas e normas da comunidade
- Reutilize e copie conteúdo existente quando possível para manter compatibilidade com balanceamento e visuais do jogo.
- Mantenha chaves de localização em Bundles (block.[name].name e block.[name].description) para suportar traduções.
- Teste novos setores e planetas com flags de visibilidade do console antes de lançar.
- Contribua via reports de issues ou pull requests para bugs se souber programar em Java; junte-se aos canais da comunidade para traduções, discussão e feedback.
- Ao criar blocos vinculados complexos, assegure que métodos sobrescritos deleguem corretamente funções accept/handle e roteamento de energia para tiles vinculados para evitar cadeias de suprimento quebradas.
Onde os mods são usados
- Mods alimentam mapas de sobrevivência customizados, setores de ataque feitos pela comunidade, novo conteúdo de campanha e ferramentas de qualidade-de-vida para criadores.
- Alguns mods oficiais e da comunidade são empacotados como add-ons e distribuídos através do mod browser ou hospedagem externa.
Este guia cobre as estruturas e fluxos de trabalho comuns que você encontrará ao usar ou criar mods para Mindustry: extensão de conteúdo, overrides de assets e comportamento, adições de setor/planeta, e passos práticos para teste e distribuição.