Sitemap

Backporting the “Mace” weapon from the hit videogame Minecraft

5 min readMar 27, 2025

--

Press enter or click to view image in full size
Pictured: DereC_ (me) with the Mace

I added the Mace into previous Minecraft versions! | Mace Backport Mod Showcase — YouTube

Minecraft’s massive updates never fail to bring fresh features to the game, but sometimes, these new mechanics are exclusive to the latest versions. For many players, though, keeping up with these updates isn’t always feasible. Some still prefer older versions, whether it’s for nostalgia, performance, or mod compatibility reasons. As a mod developer, I felt compelled to ensure that players using older versions could still experience the latest features.

Also I just wanted to beat everyone else to it. Now for some context!

The Forge Foundation

Forge is one of the most popular modding platforms for Minecraft. It allows modders to add new features, mechanics, and content to the game by altering the way the base game functions. Minecraft is primarily written in Java, and though the game has grown immensely popular, its modding scene remains robust due to its modifiable nature. The code for Minecraft, however, is obfuscated, meaning that its internal workings are deliberately scrambled to make reverse engineering difficult. This is where things get tricky for modders who want to add or modify gameplay features.

The 1.12 Modding Era

Before 1.14, Minecraft modding thrived on Forge’s stable API, with 1.12 being the “stable” version for modders, offering reliable tools to create long-lasting mods. The consistent codebase allowed mods to work across multiple versions, so many modders stayed on 1.12 as a stable build.

I’m going to yap more about this in another post, since this alone is worth the modding history essay, but essentially, due to sweeping changes after 1.12, many modders found it easier to stick with Minecraft 1.12 instead of transitioning to 1.14 and beyond. Additionally, modpacks that were popular in the community were largely based on 1.12, and transitioning to 1.14 meant potentially breaking modpacks or forcing pack creators to update large numbers of mods simultaneously.

Get Derek Chen’s stories in your inbox

Join Medium for free to get updates from this writer.

As a result, a lot of popular mods, including major frameworks and content mods, remained on 1.12 for a long time. Some modders simply chose to wait for Forge and other modding tools to stabilize on 1.14, while others continued working with 1.12 because it provided a more predictable environment. Over time, though, the community began to adapt to the new 1.14+ APIs, but the shift was slow, and 1.12 remained a staple of the Minecraft modding scene for a while after the official release of 1.14.

The Mace: A Trial Chamber nightmare

In the Minecraft 1.21 snapshot (24w12a), Mojang introduced a new weapon: the Mace. Unlike other weapons, this one has an exciting mechanic that makes it unique: its damage output increases based on the height a player has fallen before landing the blow. As I type this, the weapon is already in the game, but at the time, was still an experimental feature.

Pictured: Our Discord to Minecraft API showing several players meeting their fate at the hands of the Mace weapon on the derex smp Minecraft server. Featuring Alphalord117, ConwayTheFox, Wind0w0, D34DP1X3L, JirachiCanWish, TheNelleRiver, Technical, and derex_ (me)

However, Minecraft’s release cycle moves fast, and not everyone is able to upgrade their game every time a new version drops. A lot of players stick to older versions due to various reasons, from mod compatibility to performance concerns. That’s when I decided to backport the Mace from 1.21 to as many previous versions of the game as possible.

Reverse Engineering and Backporting

Backporting the Mace to older versions of Minecraft was a challenging and evolving process, especially given the frequent updates to the weapon. The Mace scaled its damage based on the player’s falling height, but Mojang continuously tweaked its mechanics. After a “nerf” that caused backlash, the Mace’s damage was increased, followed by the addition of three new enchantments (Density, Breach, and Wind Burst, the bouncy enchant). A week later, the damage was doubled again. This ongoing balance shifting meant I had to constantly adjust the backport to ensure it reflected the latest changes. Alongside this, I had to decipher Mojang’s fall damage algorithm, a complex system involving multiple factors like height, current attack strength, and armor penetration. Thankfully, the Minecraft Wiki community’s research on fall damage helped me understand the algorithm, allowing me to accurately replicate the melee weapon’s behavior.

Additionally, I had to make sure the weapon worked across versions starting from 1.12.2, where the game’s API had significantly changed. As the game’s internal structures evolved, backward compatibility became more difficult. I ended up making the 1.12.2 port from scratch, as it was barely compatible with 1.13+ versions, and then began a new port from 1.14 and onwards, since those forks could build on top of each other a lot easier.

Controversy (somehow)

Around late March 2024, when my first release was made public, the Minecraft modding community faced an unexpected issue when several developers all had the idea of coding the same mod. All of us released our versions of the mod on CurseForge around the same time. What followed was a chaotic situation: the comment sections quickly became a battleground for arguments over credits, which mod was “better,” and whose version was more faithful to the original. It was frustrating to see unnecessary arguments over credits and which mod was “better.” In the end, we were all just reverse engineering something that already existed. However, after a month or so, all the fighting cooled down.

The End Result

After countless hours of reverse engineering, coding, and testing, all that, gradle spit out the first release of my mod, which was tossed and approved onto CurseForge.

But that’s not all. I wanted to make sure the experience felt as close to vanilla as possible, so I included balanced and normal editions of the mod to cater to different playstyles. I also added custom advancements to encourage players to experiment with the Mace’s unique abilities, and I ensured that the mod was cross-compatible with other mods by introducing custom tags for the Mace item.

Brought to you by derex_, derec4, derexXD, dereXD, DereC_, CORRUPT_Greninja, lordnexus123, or whatever iteration of my username we are on at this point.

Today, nearly exactly a year after the first release, the mod has reached over 203k downloads. I’m proud of how it has grown and grateful for the support from the community. I remain dedicated to maintaining the Mace mod and continuing to create new mods, always striving to offer players more fun and exciting experiences in Minecraft.

Check out the mod today! Mace Port — Minecraft Mods — CurseForge

--

--