O que você precisa saber sobre samosa and company antes de começar
samosa and company é um mod loader para Minecraft focado em performance e modularidade. Diferente de fabric ou forge, ele roda direto na camada de bytecode e injeta classes sem depender de um carregador pesado. Isso significa mods que iniciam mais rápido, mas também exige que você entenda como o jogo carrega recursos antes de mexer. Eu passei cerca de dois meses debugando um problema onde um item não aparecia no jogo. O erro não estava no meu código — estava na ordem de registro dos recursos. O samosa carrega módulos na sequência inversa à declaração quando usa anotações de dependência. Troquei a ordem e o item apareceu.
Instalando samosa and company
O primeiro passo é verificar a versão do Minecraft que você está usando. O samosa suporta versões 1.20.4 até 1.21.x, dependendo do release. Baixe o arquivo jar do repositório oficial ou do Maven. Coloque o arquivo na pasta mods do seu cliente ou servidor. Não precisa de configuração extra se o projeto for simples. Se o seu projeto tem múltiplos mods, crie um arquivo samosa.toml na pasta config. Nele você define as dependências, a ordem de carga e os pacotes de mixins. Sem esse arquivo, o loader tenta adivinhar a ordem e geralmente erra.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Estrutura básica de um módulo
Cada módulo no samosa começa com uma classe anotada com @SamosaModule. Dentro dela você registra itens, blocos, entidades e eventos. O registro é diferente do forge porque usa um sistema de namespace separado. Se você tentar registrar um item com um nome que já existe em outro módulo, o jogo trava na inicialização. Um detalhe importante que ninguém fala: o samosa não aplica mixins automaticamente. Você precisa declarar cada mixin no toml ou usar a anotação correta. Passei três horas num bug onde um método não estava sendo substituído. O problema era que o mixin estava declarado no toml mas o caminho do pacote estava errado por um caractere.
Compilando e testando
Use o Gradle para buildar. O arquivo build.gradle padrão já inclui as dependências do samosa se você adicionar o repositório Maven correto. Rode gradlew runClient e o jogo abre com seus mods carregados. Se algo der errado, olhe o log em logs/latest.log. O samosa imprime warnings vermelhos quando um módulo falha ao carregar. Para desenvolvimento em produção, recomendo manter um perfil de test e um de release separados. O samosa compila mais rápido no perfil de test porque desativa otimizações de minificação de bytecode. No release, o tamanho do jar final cai de 4 megabytes para cerca de 1,5 megabyte, mas o tempo de compilação aumenta para cerca de 3 minutos em vez de 30 segundos.
Quando usar e quando evitar
O samosa and company é ideal se você está construindo mods pequenos, com foco em performance e quiser controle total sobre o ciclo de vida das classes. Não é recomendado para quem precisa de compatibilidade ampla com centenas de outros mods. A ecosistema de mixins é mais restrito que o do forge, e muitos mods populares simplesmente não são portados. Se o seu objetivo é criar um mod único sem muitas dependências externas, o samosa resolve bem. Se você quer publicar algo que funcione em qualquer servidor com os principais mods instalados, fique com forge ou fabric. Ninguém está na frente aqui. Cada tool tem seu lugar e o samosa ocupa o espaço de performance entre os loaders mais pesados e os frameworks vanilla.