Skip to content
Retour au Blog
Minecraft Bedrock Edition code and C++ development environment showing native modding framework

Amethyst: Native C++ Modding for Minecraft Bedrock

ice
ice
@ice
Updated
116 vues
TL;DR:Amethyst is a native C++ modding framework for Minecraft Bedrock Edition that gives you direct access to MCBE's runtime. It's powerful but technical, designed for experienced developers willing to work with reverse engineering and manage complex mod maintenance across Bedrock updates.
GitHub · Minecraft community project

Amethyst (FrederoxDev/Amethyst)

Native c++ modding for MCBE 1.21.0.3 for building client side mods

Star on GitHub ↗
⭐ 531 stars💻 C++📜 Apache-2.0

Want to build client-side mods for Minecraft Bedrock Edition using native C++? Amethyst gives you direct access to MCBE's internals, but it's definitely not for everyone. You'll need solid C++ knowledge, patience with reverse engineering, and a tolerance for working at the metal where Minecraft's runtime actually lives.

What Amethyst Is

Amethyst is a native modding framework for Minecraft Bedrock Edition built in C++. Unlike traditional Bedrock add-ons (which use JSON and behavior packs), Amethyst lets you write client-side mods that run directly against MCBE's compiled code. You're hooking into the game engine itself, which means you can do things that would be impossible through official modding APIs.

The project started as a fully open-source library, but as of recent versions targeting MCBE 1.26.x, the maintainer has transitioned to a "bring your own types" model where the runtime core stays open but larger portions are closed source. The reasoning makes sense if you've spent time reverse-engineering: keeping everything public doesn't gain much adoption outside a tiny technical audience, and it limits how quickly the maintainer can iterate.

If you're just getting started with modding, the project itself recommends looking at version 1.21.x, which remains fully open source and is "really the best version to mod" for people learning the ropes.


Who Needs This

This isn't a tool for building fancy decorative add-ons or tweaking game balance. Amethyst exists for developers who:

Amethyst Geode trailer in Minecraft
Amethyst Geode trailer in Minecraft
  • Want to write client-side mods in C++ for Bedrock Edition
  • Are comfortable reading decompiled bytecode and understanding game internals
  • Need capabilities that official APIs simply don't expose
  • Are willing to maintain their mods as Bedrock updates roll through

That's a small circle. The maintainer is honest about this: the general Minecraft developer community doesn't really use it, which is part of why moving toward closed source made sense. If you're looking to casually mod Minecraft, Java Edition with Fabric or Forge is far more beginner-friendly. Bedrock modding in general is harder than Java, and Amethyst sits at the difficult end of that spectrum.


Installation and Getting Started

Grab the latest runtime release from the project's GitHub releases page. The current version (v2.2.1 at time of writing) is available as a downloadable zip. Extract it and you're looking at C++ headers, libraries, and build scaffolding.

3 close geodes in Minecraft
3 close geodes in Minecraft

You'll need:

  • A C++ compiler and build tools (MSVC for Windows or Clang)
  • Understanding of how to link against native libraries
  • Knowledge of Bedrock's internal structure (or willingness to learn it by reading code)
  • A matching version of MCBE 1.21.0.3 (or whichever version you're targeting)

The project provides the runtime as the stable foundation, but beyond that you're doing actual development work. There aren't hand-holding tutorials or plugin managers here. You're writing C++, compiling DLLs, and injecting them into the game.


What You Can Build

Native modding unlocks things that API-based add-ons can't touch. You get direct memory access to game objects, can intercept function calls at runtime, and can modify behavior at the engine level. That means custom client-side rendering, direct control over input and events, and modifications that integrate deeply with how Bedrock actually runs.

Amethyst Geode Mineshaft in Minecraft
Amethyst Geode Mineshaft in Minecraft

But here's the catch: every update to Bedrock can break your mod. Memory offsets shift, function signatures change, and your reverse-engineered knowledge becomes obsolete. Maintaining an Amethyst mod across Bedrock versions is real work. This isn't like Fabric mods in Java, where the modding API moves at a predictable pace and gives you stability guarantees.

That friction is intentional in how the maintainer talks about it. They're not trying to build a casual modding ecosystem. They're supporting people who specifically want to dig into Bedrock's native layer and are willing to pay the maintenance cost.


The Open Source to Closed Source Shift

Version 1.21.x stays fully open source, but 1.26.x moves to a mixed model. The core runtime remains public, but you're responsible for bringing types and abstractions above that. That maintainer's rationale is practical: reverse-engineering is useful to roughly 1% of the Minecraft community, and keeping everything open didn't create more adoption or community contribution. Closing the upper layers freed them to move faster and experiment with new approaches.

AmethystGeodeAboveGround in Minecraft
AmethystGeodeAboveGround in Minecraft

This is worth understanding before you invest time learning Amethyst. If you're starting fresh, you're probably targeting 1.21.x (stable, fully documented, open source). If you want latest Bedrock, you're working with 1.26.x and building more of the abstraction yourself.

There's a broader thought lurking here: the maintainer has considered building a JavaScript layer for client-side modding instead, which would be far more accessible. That's not happening soon, but it hints at where Bedrock modding might go if someone wanted to democratize it beyond C++ developers.


Context for Bedrock Modders

If you're already deep in Bedrock modding through behavior packs or official APIs, Amethyst represents a different path entirely. You're not adding features within the game's scripting sandbox. You're reaching underneath it. The power is real, but so is the responsibility and the learning curve.

2 spawners, geode and mineshaft in Minecraft
2 spawners, geode and mineshaft in Minecraft

The project currently sits at 531 stars on GitHub, which reflects its positioning as a specialized tool for a niche audience. It's not trying to be Fabric. It's trying to be exactly what it is: a framework for people who want native control over Bedrock Edition and know what they're signing up for.

If you're running a Minecraft server and want to explore free DNS management for your domain, minecraft.how's free Minecraft DNS tool is worth checking out. And if you're building custom Bedrock content, our Minecraft Skin Creator lets you design player skins right in the browser. Neither replaces native modding, but they're useful in adjacent workflows.


Is It Worth Learning?

Only if you specifically need native modding for Bedrock. If you want to build mods quickly, Java Edition has a healthier ecosystem. If you want to mod Bedrock but don't need C++, explore official add-ons and behavior packs first.

But if you're a C++ developer curious about game internals, or if you've got a specific Bedrock mod idea that *requires* native access, Amethyst is the serious tool for the job. The 1.21.x version being fully open source makes it a good learning entry point. You can see how the runtime hooks into MCBE without dealing with closed-source layers yet.

Just go in with realistic expectations. This is advanced development. The maintainer isn't hiding that. It's why they're moving toward closed source and focusing on people who actually understand what they're doing.

FrederoxDev/Amethyst - Apache-2.0, ★531

Frequently Asked Questions

Can I use Amethyst for Minecraft Java Edition?
No. Amethyst is specifically for Minecraft Bedrock Edition (MCBE). Java Edition has different modding frameworks like Fabric and Forge that are more beginner-friendly. Amethyst's C++ approach is unique to Bedrock's native architecture.
What version of Bedrock should I target with Amethyst?
Version 1.21.x is fully open source and recommended for learning. Newer 1.26.x versions use a mixed source model. If you're starting out, 1.21.x is the best choice. The project maintainer explicitly recommends it as 'really the best version to mod' for people trying out native modding.
Why is Amethyst moving toward closed source?
The maintainer found that the extra effort to keep everything open source didn't generate meaningful community adoption outside a tiny technical audience. Closing parts of the codebase allows faster iteration and experimentation. The core runtime remains open, but you build more of the abstraction yourself.
Do I need to know C++ to use Amethyst?
Yes, absolutely. Amethyst isn't a visual modding tool or a high-level scripting framework. You're writing C++, compiling native libraries, and working directly with game memory and function hooks. This is a tool for experienced programmers, not beginners.
How much work is it to maintain an Amethyst mod?
Significant. Every Bedrock update shifts memory offsets and function signatures, potentially breaking your mods. Unlike Java modding APIs which offer stability guarantees, native Amethyst mods require active reverse-engineering and updates to keep working with new Bedrock versions.