Skip to main content

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.

Pages featured in this guide