
Fabric-loom: Criando Mods do Minecraft Sem Complicações
FabricMC/fabric-loom
Plugin do sistema de compilação Gradle usado para automatizar a configuração de um ambiente de desenvolvimento de mods Minecraft.
Ver no GitHub ↗Construir mods do Minecraft costumava significar horas de configuração: desobfuscação de código, mapeamento de variáveis, configuração da sua IDE. fabric-loom é um plugin Gradle que automatiza quase tudo, para que você realmente possa começar a codificar em minutos em vez de dias.
O que fabric-loom Faz
fabric-loom é um plugin Gradle projetado para transformar seu computador em um ambiente de desenvolvimento de mods Minecraft totalmente funcional. Mas essa é a forma entediante de descrever. O que realmente faz é gerenciar toda a infraestrutura tediosa que fica entre você e a escrita de código real.
Quando você executa Minecraft, o código é ofuscado (propositalmente embaralhado) para que seja difícil de ler. Quer modificá-lo? Você precisa primeiro desobfuscá-lo. Depois você precisa de mapeamentos que traduzam esses nomes embaralhados em algo que um humano possa entender. Depois você precisa configurar sua IDE (IntelliJ, Eclipse, VS Code) para realmente reconhecer tudo. fabric-loom faz todos os três em segundo plano enquanto você toma um café.
É construído especificamente para o ecossistema Fabric, que usa mapeamentos Yarn (nomes contribuídos pela comunidade e legíveis por humanos para o código do Minecraft). O plugin integra esses mapeamentos automaticamente, configura remapeamento e gera configurações de execução apropriadas para que você possa entrar no modo de depuração imediatamente. Suporta versões modernas do Minecraft (1.14.4 e superior), requer Java 16 ou mais recente e funciona com Gradle 7 e posterior.
Por que Modders o Usam em vez de Configuração Manual
Antes do fabric-loom, fazer um ambiente de desenvolvimento de mod funcionar era um pesadelo de múltiplas horas. Você baixaria o jar do servidor Minecraft, o descompilaria com ferramentas como Fernflower ou CFR, aplicaria manualmente os mapeamentos, configuraria sua IDE, configuraria as tarefas de execução e esperaria que nada quebrasse no processo. Metade das vezes algo estava mal configurado e você gastaria outra hora depurando por que seu mod não seria lançado.
fabric-loom elimina isso completamente. É tratado automaticamente e consistentemente.
A outra grande vitória: quando Minecraft atualiza, você não está começando do zero. Este plugin gerencia o remapeamento e re-descompilação para novas versões. Yarn (o projeto de mapeamento) atualiza regularmente, e fabric-loom puxa essas melhorias sem você editar manualmente nada.
Além disso, a integração com a IDE é genuinamente útil. Você obtém configurações de execução apropriadas, pontos de interrupção de depuração funcionam imediatamente, e IntelliJ realmente entende o código Minecraft. Se você já tentou ler Java ofuscado, você sabe que alívio é.
Começando: Instalação e Configuração
Na verdade, deixe-me voltar. A maneira mais fácil de começar com fabric-loom é clonar o mod de exemplo oficial, não construir loom do zero. Um mod de exemplo já tem tudo conectado corretamente.
git clone https://github.com/FabricMC/fabric-example-mod.git
cd fabric-example-modÉ isso para a configuração básica. O build.gradle do mod de exemplo já tem fabric-loom configurado.
Se você está adicionando loom a um projeto existente, você o adicionará ao seu build.gradle:
plugins {
id 'fabric-loom' version '1.16'
}
repositories {
mavenCentral()
maven { url 'https://maven.fabricmc.net' }
}
dependencies {
minecraft 'com.mojang:minecraft:1.21.1'
mappings loom.officialMojangMappings()
modImplementation 'net.fabricmc:fabric-loader:0.19.0+'
}Então execute `gradle build` e loom gerencia o resto. Ele baixa Minecraft, o desobfusca, aplica os mapeamentos e configura sua IDE automaticamente.
Recursos-chave que Economizam Horas
Descompilação e remapeamento automáticos. Sério, este é o recurso. Seu código-fonte passa de nomes ofuscados ilegíveis para nomes de variáveis reais e semelhantes ao inglês porque os mapeamentos Yarn são mantidos pela comunidade. Quando você vê um método chamado `method_12847`, Yarn provavelmente o mapeou para algo significativo como `canFly()`. fabric-loom aplica esses mapeamentos de forma transparente.
Configurações de execução da IDE. Depois que o gradle é executado, sua IDE sabe como executar o Minecraft em modo de desenvolvimento. Você pode clicar no botão de depuração e percorrer os pontos de interrupção no código Minecraft. Mas isso é uma grande coisa para entender o que realmente está acontecendo quando seu mod é executado.
Suporte de descompilador. fabric-loom usa os descompiladores Fernflower e CFR para gerar código-fonte real com comentários, não apenas bytecode. A diferença de legibilidade é enorme. Você está lendo código que parece ter sido escrito por um humano, não uma tradução automática.
Suporte a mapeamentos pequenos. O plugin foi construído do zero para usar mapeamentos Yarn (formato pequeno). Mas isso significa que você está obtendo nomes legíveis por humanos mantidos pela comunidade para tudo no Minecraft. Não é perfeito, mas está muito além de trabalhar com código ofuscado.
Suporte multi-IDE. Quer você esteja no IntelliJ IDEA, Eclipse ou VS Code, fabric-loom gera os arquivos de configuração corretos. Você não precisa conectar manualmente os caminhos de origem ou diretórios de saída.
Dicas e Armadilhas Comuns
Primeiro: certifique-se de que você está no Java 16 ou mais recente. Já vi pessoas tentarem usar JDKs mais antigos e receber erros crípticos que não têm nada a ver com o problema real.
Segundo: a versão do gradle importa. O plugin destina-se ao Gradle 7 ou mais recente. Se sua compilação quebrar misteriosamente, verifique `gradle - version` primeiro. O mesmo vale para o wrapper Gradle - às vezes o wrapper em cache está desatualizado.
A descompilação e remapeamento podem levar alguns minutos na primeira compilação, especialmente em máquinas mais lentas. Não se assuste se o gradle parecer travado. Pegue aquele café. Em compilações subsequentes é armazenado em cache, então você só esperará pela compilação real.
Uma coisa que confunde as pessoas: misturar mapeamentos Yarn com outras fontes de mapeamento. Escolha um e fique com ele. Se você está usando Yarn (como a maioria dos projetos Fabric), basta usar `loom.officialMojangMappings()` e continue.
Para implantação, lembre-se de que seu jar de mod precisa incluir fabric-loader como um requisito. Você não está empacotando o Minecraft em si - apenas seu código de mod mais o carregador que se conecta ao Minecraft em tempo de execução.
Testando Seus Mods e o Ecossistema Mais Amplo
Depois que seu mod realmente compila e é executado, o teste se torna importante. Se você está criando mods que interagem com recursos do servidor (sistemas de votação, comandos, etc.), ferramentas como o Testador Votifier Minecraft são úteis para validar se essa parte do ecossistema funciona. Da mesma forma, se seu mod gera texto ou comandos, o Gerador de Texto Minecraft é útil para prototipar rapidamente a sintaxe de comandos ou mensagens no jogo que você deseja testar.
O ponto principal: fabric-loom o leva a um ambiente de desenvolvimento funcional rapidamente, mas você gastará a maioria do seu tempo realmente construindo recursos, não configurando as coisas. Esse é o ponto principal.
Quando Você Pode Querer Alternativas
fabric-loom é especificamente construído para mods Fabric. Se você está criando mods Forge, o plugin Forge Gradle é o padrão e funciona de forma diferente o suficiente para que você queira sua documentação.
Se você está trabalhando em plug-ins de servidor puro (Spigot, Paper, Bukkit), você não precisa do loom. Eles usam arquiteturas diferentes e configurações de compilação.
E se você está hackeando o inicializador Minecraft ou ferramentas completamente separadas, fabric-loom não ajudará. É especificamente para desenvolvimento de mods dentro do ecossistema Fabric.
Mas se você está criando um mod Fabric? Não há uma alternativa real que faça o que o loom faz. É o padrão por uma boa razão. O projeto tem 337 estrelas GitHub e manutenção ativa. Mas o último lançamento (1.16) adicionou validação de plug-in mais rigorosa e melhor suporte de cache de compilação, mostrando que os mantenedores ainda estão melhorando ativamente.
Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Perguntas Frequentes
O que o fabric-loom faz exatamente?
Por que usar fabric-loom em vez de configurar tudo manualmente?
Qual a maneira mais fácil de começar?
Quais IDEs são suportadas?
Que versões do Minecraft e Java são necessárias?
O que são os mapeamentos Yarn?
Comentários
Nenhum comentário ainda. Seja o primeiro a compartilhar sua opinião!


