Skip to content
Pular para o conteúdo
Voltar ao Blog
Amethyst: Modding Nativo em C++ para Minecraft Bedrock

Amethyst: Modding Nativo em C++ para Minecraft Bedrock

Alexandru Maftei
Alexandru Maftei
@ice
Atualizado
69 visualizações
Resposta rápida:Amethyst é um framework de modding nativo em C++ para Minecraft Bedrock Edition, permitindo acesso direto aos internais do jogo para mods avançados. É indicado para desenvolvedores experientes em C++ e engenharia reversa.
TL;DR:Amethyst é um framework de modding nativo em C++ para Minecraft Bedrock Edition que oferece acesso direto ao runtime do MCBE. É poderoso, mas técnico, projetado para desenvolvedores experientes dispostos a trabalhar com engenharia reversa e gerenciar a manutenção complexa de mods em atualizações do Bedrock.
GitHub · Projeto da comunidade Minecraft

Amethyst (FrederoxDev/Amethyst)

Modding nativo em C++ para MCBE 1.21.0.3 para criar mods do lado do cliente

Marcar com estrela no GitHub ↗
⭐ 531 estrelas💻 C++📄 Apache-2.0

Quer construir mods do lado do cliente para Minecraft Bedrock Edition usando C++ nativo? Amethyst oferece acesso direto aos internals do MCBE, mas definitivamente não é para todos. Você precisará de sólidos conhecimentos em C++, paciência com engenharia reversa e disposição para trabalhar no nível baixo onde o runtime do Minecraft realmente funciona.

O Que é Amethyst

Amethyst é um framework de modding nativo para Minecraft Bedrock Edition construído em C++. Diferente dos add-ons tradicionais do Bedrock (que usam JSON e behavior packs), Amethyst permite que você escreva mods do lado do cliente que funcionam diretamente contra o código compilado do MCBE. Você está se conectando ao motor do jogo em si, o que significa que você pode fazer coisas que seriam impossíveis através das APIs oficiais de modding.

O projeto começou como uma biblioteca totalmente código aberto, mas nas versões recentes direcionadas ao MCBE 1.26.x, o mantenedor transitou para um modelo "traga seus próprios tipos" onde o núcleo do runtime permanece aberto, mas grandes porções são código fechado. O raciocínio faz sentido se você passou tempo em engenharia reversa: manter tudo público não ganha muita adoção fora de um pequeno público técnico, e limita a velocidade com que o mantenedor pode iterar.

Se você está apenas começando com modding, o próprio projeto recomenda olhar para a versão 1.21.x, que permanece totalmente código aberto e é "realmente a melhor versão para fazer modding" para pessoas aprendendo os fundamentos.


Quem Precisa Disso

Esta não é uma ferramenta para construir add-ons decorativos sofisticados ou ajustar o equilíbrio do jogo. Amethyst existe para desenvolvedores que:

Trailer da Geoda Amethyst no Minecraft
Trailer da Geoda Amethyst no Minecraft
  • Querem escrever mods do lado do cliente em C++ para Bedrock Edition
  • Se sentem confortáveis lendo bytecode descompilado e entendendo internals do jogo
  • Precisam de capacidades que as APIs oficiais simplesmente não expõem
  • Estão dispostos a manter seus mods conforme as atualizações do Bedrock vão sendo lançadas

Este é um círculo pequeno. O mantenedor é honesto sobre isso: a comunidade geral de desenvolvedores Minecraft não realmente usa isso, o que é parte da razão pela qual mudar para código fechado fez sentido. Se você está procurando fazer modding casual no Minecraft, Java Edition com Fabric ou Forge é muito mais amigável para iniciantes. Fazer modding no Bedrock em geral é mais difícil que Java, e Amethyst fica no final difícil desse espectro.


Instalação e Primeiros Passos

Pegue a versão mais recente do runtime na página de releases do GitHub do projeto. A versão atual (v2.2.1 no momento da redação) está disponível como um zip para download. Extraia e você está vendo headers C++, bibliotecas e scaffolding de build.

3 geódas próximas no Minecraft
3 geódas próximas no Minecraft

Você vai precisar de:

  • Um compilador C++ e ferramentas de build (MSVC para Windows ou Clang)
  • Compreensão de como fazer link contra bibliotecas nativas
  • Conhecimento da estrutura interna do Bedrock (ou disposição de aprender lendo código)
  • Uma versão correspondente do MCBE 1.21.0.3 (ou qualquer versão que você estiver direcionando)

O projeto fornece o runtime como a fundação estável, mas além disso você está fazendo trabalho de desenvolvimento real. Não há tutoriais paternais ou gerenciadores de plugins aqui. Você está escrevendo C++, compilando DLLs e injetando-as no jogo.


O Que Você Pode Construir

Modding nativo desbloqueia coisas que add-ons baseados em API não conseguem tocar. Você obtém acesso direto à memória de objetos do jogo, pode interceptar chamadas de função em tempo de execução e pode modificar comportamento no nível do motor. Isso significa renderização customizada do lado do cliente, controle direto sobre entrada e eventos, e modificações que integram profundamente como o Bedrock realmente funciona.

Poço de Mina da Geoda Amethyst no Minecraft
Poço de Mina da Geoda Amethyst no Minecraft

Mas aqui está a pegadinha: cada atualização do Bedrock pode quebrar seu mod. Os offsets de memória mudam, assinaturas de função mudam, e seu conhecimento de engenharia reversa se torna obsoleto. Manter um mod Amethyst através de versões do Bedrock é trabalho real. Isso não é como mods Fabric em Java, onde a API de modding se move em um ritmo previsível e oferece garantias de estabilidade.

Essa fricção é intencional em como o mantenedor fala sobre. Eles não estão tentando construir um ecossistema casual de modding. Eles estão suportando pessoas que especificamente querem cavar na camada nativa do Bedrock e estão dispostas a pagar o custo de manutenção.


A Transição de Código Aberto para Código Fechado

A versão 1.21.x permanece totalmente código aberto, mas 1.26.x se move para um modelo misto. O core do runtime permanece público, mas você é responsável por trazer tipos e abstrações acima disso. O raciocínio do mantenedor é prático: engenharia reversa é útil para aproximadamente 1% da comunidade Minecraft, e manter tudo aberto não criou mais adoção ou contribuição da comunidade. Fechar as camadas superiores os liberou para se mover mais rápido e experimentar com novas abordagens.

AmethystGeodeAboveGround no Minecraft
AmethystGeodeAboveGround no Minecraft

Isto é importante entender antes de investir tempo aprendendo Amethyst. Se você está começando do zero, você provavelmente está direcionando 1.21.x (estável, totalmente documentado, código aberto). Se você quer o Bedrock mais recente, você está trabalhando com 1.26.x e construindo mais da abstração você mesmo.

Há um pensamento mais amplo espreita aqui: o mantenedor considerou construir uma camada JavaScript para modding do lado do cliente em vez disso, o que seria muito mais acessível. Isso não está acontecendo em breve, mas dá dicas de para onde o modding do Bedrock pode ir se alguém quisesse democratizá-lo além de desenvolvedores C++.


Contexto para Modders do Bedrock

Se você já está profundo em modding do Bedrock através de behavior packs ou APIs oficiais, Amethyst representa um caminho completamente diferente. Você não está adicionando recursos dentro da caixa de areia de scripts do jogo. Você está alcançando debaixo dela. O poder é real, mas também a responsabilidade e a curva de aprendizado.

2 spawners, geoda e poço de mina no Minecraft
2 spawners, geoda e poço de mina no Minecraft

O projeto atualmente fica em 531 estrelas no GitHub, o que reflete seu posicionamento como uma ferramenta especializada para um público nicho. Não está tentando ser Fabric. Está tentando ser exatamente o que é: um framework para pessoas que querem controle nativo sobre Bedrock Edition e sabem no que estão se metendo.

Se você está executando um servidor Minecraft e quer explorar gerenciamento de DNS gratuito para seu domínio, a ferramenta DNS gratuita de Minecraft do minecraft.how vale a pena conferir. E se você está construindo conteúdo Bedrock personalizado, nosso Minecraft Skin Creator permite que você projete skins de jogadores direto no navegador. Nenhum dos dois substitui modding nativo, mas são úteis em fluxos de trabalho adjacentes.


Vale a Pena Aprender?

Apenas se você especificamente precisar de modding nativo para Bedrock. Se você quer construir mods rapidamente, Java Edition tem um ecossistema mais saudável. Se você quer fazer modding no Bedrock mas não precisa de C++, explore primeiro add-ons oficiais e behavior packs.

Mas se você é um desenvolvedor C++ curioso sobre internals do jogo, ou se você tem uma ideia específica de mod Bedrock que *requer* acesso nativo, Amethyst é a ferramenta séria para o trabalho. A versão 1.21.x sendo totalmente código aberto torna um bom ponto de entrada para aprendizado. Você pode ver como o runtime se conecta ao MCBE sem lidar com camadas de código fechado ainda.

Apenas entre com expectativas realistas. Este é desenvolvimento avançado. O mantenedor não está escondendo isso. É por isso que estão mudando para código fechado e focando em pessoas que realmente entendem no que estão fazendo.

FrederoxDev/Amethyst - Apache-2.0, ⭐531
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

Qual é o propósito do Amethyst no Minecraft Bedrock?
Amethyst permite que desenvolvedores escrevam mods do lado do cliente em C++, acessando diretamente os internais do jogo, possibilitando funcionalidades não alcançáveis pelas APIs oficiais.
Quem é o público-alvo do Amethyst?
Desenvolvedores experientes em C++ que buscam total controle sobre o jogo, confortáveis com engenharia reversa e dispostos a manter mods atualizados com as versões do Bedrock.
O que muda na transição de código aberto para fechado no Amethyst?
Na versão 1.26.x, o core do runtime permanece público, mas os usuários devem trazer seus próprios tipos e abstrações, enquanto a 1.21.x permanece totalmente código aberto.
Há tutoriais ou suporte para iniciantes no Amethyst?
Não, o projeto não oferece tutoriais paternais; é necessário conhecimento em C++, compilação de DLLs e injecção no jogo, além de engenharia reversa.
Quais são os desafios de manter um mod Amethyst atualizado?
Cada atualização do Bedrock pode quebrar o mod devido a mudanças nos offsets de memória e assinaturas de função, exigindo constantes ajustes.

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