Goodbye Mojang, Hello Nojang!

Here we are, 1.21 release day, and for the first time in ages, we actually have same day mod releases.

During the past month, we’ve skipped not 1, but 2 Minecraft versions (1.20.5, 1.20.6). This was done to put some hard work into making our lives easier, and putting stuff in place to try and keep up with mojang breaking mods with almost every single minecraft release.

Introducing Nojang

What the hell is nojang? Simply put, nojang is a modding api, built into CraterLib that allows us to make mods that not only run on Forge, Fabric, NeoForge and Quilt, BUT, also on multiple minecraft versions with just 1 code base.

This means, instead of maintaining 6-10 separate branches of code, just to support multiple minecraft versions, we only have to maintain 1.

Nojang is essentially a wrapper around minecraft and mod loader code, that takes the full impact of code breakage, without the mods using it breaking.

Why should I care?

Well for a couple of reasons.

  • We can support older MC versions, for longer, while still keeping them up to date with the latest features and bug

  • Bug fixes and new features can go out much faster. Instead of spending hours implementing a new feature across minecraft versions, we only have to do it once.

  • Quicker ports for new minecraft versions

  • You can use the same jar, across multiple mod loaders and minecraft versions

What mods make use of this?

At the time of writing, both Simple RPC and Simple Discord link. We will be expanding to other mods like Maintenance Mode and Simple Splash Screen as well.

If we do ever introduce new mods, they will likely use the same system.

Can I use this for my own mods?

Short answer, maybe. Nojang apis are designed specifically for the mods that use them, so a lot of features might be missing. If you really want to, you can, and you can even submit PR’s to add new API’s.

Stay tuned for more WTF and WHY TF stuff coming soon!