Skip to content
Pular para o conteúdo
Voltar ao Blog
Fabric-loom: Criando Mods do Minecraft Sem Complicações

Fabric-loom: Criando Mods do Minecraft Sem Complicações

Alexandru Maftei
Alexandru Maftei
@ice
Atualizado
52 visualizações
Resposta rápida:fabric-loom é um plugin Gradle que automatiza a configuração de ambientes de desenvolvimento de mods Minecraft. Ele desobfusca o código, aplica mapeamentos Yarn e gera configurações de IDE para que você comece a codificar em minutos.
TL;DR:fabric-loom é um plugin Gradle que automatiza a configuração do desenvolvimento de mods do Minecraft, gerenciando desobfuscação, mapeamento de código e integração com a IDE. Se você está construindo mods Fabric, esta ferramenta economiza horas de trabalho de configuração tedioso.
🏛️ Projeto Minecraft de código aberto

FabricMC/fabric-loom

Plugin do sistema de compilação Gradle usado para automatizar a configuração de um ambiente de desenvolvimento de mods Minecraft.

⭐ 337 estrelas💻 Java📄 MIT
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.

bash
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:

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.

Sobre o autor
Alexandru Maftei
Alexandru MafteiRedator-chefe

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?
Ele gerencia a infraestrutura técnica entre você e a escrita de código. Desobfusca o código do Minecraft, integra mapeamentos Yarn e configura sua IDE automaticamente.
Por que usar fabric-loom em vez de configurar tudo manualmente?
Antes era necessário descompilar, aplicar mapeamentos e configurar a IDE à mão. Isso levava horas e frequentemente quebrava. O plugin faz tudo automaticamente e de forma consistente.
Qual a maneira mais fácil de começar?
Clone o mod de exemplo oficial do FabricMC. O build.gradle já vem com fabric-loom configurado, então você não precisa tocar em nada.
Quais IDEs são suportadas?
IntelliJ IDEA, Eclipse e VS Code. O plugin gera os arquivos de configuração corretos para cada uma.
Que versões do Minecraft e Java são necessárias?
Minecraft 1.14.4 ou superior, e Java 16 ou mais recente. O plugin também requer Gradle 7 ou posterior.
O que são os mapeamentos Yarn?
São nomes legíveis por humanos para o código do Minecraft, mantidos pela comunidade. O fabric-loom os aplica automaticamente, transformando nomes como method_12847 em algo significativo como canFly.

Comentários

Nenhum comentário ainda. Seja o primeiro a compartilhar sua opinião!

We use cookies to improve your experience. By continuing to use this site, you agree to our use of cookies. Read our Privacy Policy