Coming Back, and Everything’s Different

A 23 kiloton tower shot called BADGER, fired on April 18, 1953, at the Nevada Test Site, as part of the Operation Upshot–Knothole nuclear test series. I am posting an explosion so you guys know everything is basically destroyed. This is a mild exaggeration.

Hey everyone. It’s been a while.

I don’t have a dramatic explanation for the gap. A combination of burnout, other projects pulling my attention, and — honestly — just needing the break. The last behind-the-scenes post covers most of it, and I won’t belabor the point.

What I do want to talk about is what I came back to, because if you’ve been reading this blog to learn Fabric modding, a lot has changed, and anyone picking up my tutorials today needs to know what they’re walking into.

The short version

While I was away, Minecraft and Fabric went through what’s probably the biggest inflection point in the modding ecosystem’s history. Three things happened:

  1. Mojang removed obfuscation from Minecraft. Starting with the version after 1.21.11, the game ships with real, readable class and method names. This is a massive quality-of-life improvement for modders, but it also means the entire toolchain that existed to deal with obfuscation has to change.
  2. Yarn is being retired. The community-maintained mapping project that I used throughout every tutorial on this blog — and that thousands of Fabric mods rely on — is no longer being updated past 1.21.11. The official path forward is Mojang’s own mappings (Mojmap).
  3. Minecraft’s versioning changed. The version after 1.21.11 is not 1.22 — it’s 26.1. Mojang is moving to a year-based versioning scheme. So future versions will look like 26.2, 26.3, 27.1, and so on.

On top of that, Fabric’s own API got a significant update to match: recipe serializers were simplified, ItemStack creation rules changed, new event systems were added, and plenty of class names changed to match Mojang’s.

If you were following my tutorials and built the bubble gum mod alongside me, your code still works — for 1.21.8. Every post on this blog is stamped with the version it targets, and that hasn’t moved. But picking up a 1.21.8 tutorial and trying to apply it directly to 26.1 will not go smoothly.

What this means for the blog

I’ve been thinking about this for a few weeks and I’ve landed on something that feels right:

Old posts stay up, untouched. Every tutorial I’ve written so far targets 1.21.8 with Yarn mappings, and those posts aren’t going anywhere. If you’re learning Fabric modding on that version, they still work exactly the same. I’ll be adding a small banner to each of them linking to the updated version once one exists.

New copies of each post will target 26.1 and Mojmap. Rather than edit the originals, I’m duplicating each one and updating the copy. The scope is deliberately minimal — swap out the specific APIs that changed, update names to match Mojang’s mappings, fix code that won’t compile, verify it works. I’m not rewriting explanations or restructuring. If a post taught you how to add a food component in 1.21.8, the new version teaches you the same thing for 26.1, just with current code.

This means the blog will end up with two parallel series for a while: the original 1.21.8 posts as a time-capsule, and the 26.1 versions as the living tutorials. Both stay accessible. Over time the 26.1 versions will become the canonical ones, and the old posts will remain as archive.

I’m not committing to a schedule for the ports. Some posts will change barely at all; others (recipes especially, with the serializer simplification) need real work. They’ll get done when they get done.

New content going forward targets 26.1 directly. Anything written from scratch will be on the new toolchain from day one.

What I’m actually working on

For anyone curious what pulled me away — I’ve been building something completely different: a Minecraft mod that generates an approximation of real Earth using public elevation data. Map projections, icosahedral geometry, DEM sampling, the works. It’s given me a reason to re-engage with Fabric from a much more advanced angle than the beginner tutorials covered, and I expect the next real post here will be about something I learned from it.

Custom world generation is one of the less-well-documented corners of Fabric modding, so there’s actually something worth writing about there. Good timing.

So, welcome back

If you’re new here, the older posts teach you how to make your first Fabric mod on 1.21.8. They’re still a valid starting point. If you’re returning — thanks for your patience. Things are still moving, just slower and in a different direction.

Next post will be about Fabric 26.1 development setup. See you then.

No Comments on Coming Back, and Everything’s Different

[Legacy 1.21.8] Fabric Modding: Adding Food Properties to Items

This post was written for Minecraft Java 1.21.8 and Fabric Loader 0.16.14.

In this tutorial, we’re going to enhance one of our existing items — bubble_gum — by giving it a real purpose: making it edible. Right now, it’s just a decorative item that sits in your inventory. We’ll walk through how to give it hunger and saturation values using Minecraft’s FoodComponent system.

This is a great opportunity to revisit how we originally registered our custom item, and then build on top of it to turn it into a functional food item.

(more…)
4 Comments on [Legacy 1.21.8] Fabric Modding: Adding Food Properties to Items

[Legacy 1.21.8] Fabric Modding: Updating Our Mod from Minecraft 1.21.6 to 1.21.8

This post was written for Minecraft Java 1.21.6 and Fabric Loader 0.16.14.
This post was written for Minecraft Java 1.21.8 and Fabric Loader 0.16.14.

In this post, I’ll walk through how I updated my Fabric mod project to target Minecraft 1.21.8 using the latest Fabric Loader, Yarn mappings, and Fabric API. This update also required upgrading Gradle, so I’ve included every step — including pitfalls I ran into and how I fixed them.

(more…)
No Comments on [Legacy 1.21.8] Fabric Modding: Updating Our Mod from Minecraft 1.21.6 to 1.21.8

A Quick Detour Before Bubblegum and Blades

Written by bunny on August 2, 2025 Categories: Meta Tags: , , , , , ,

In my last post, I mentioned that the next tutorial would be about creating custom weapons. And before my short break, I had teased a post about giving food qualities to our bubblegum item. But after revisiting the project, I realized that before diving into any of that, it was important to first cover something I hadn’t documented yet: how to update your development environment to the latest version of Fabric and Minecraft.

I also rediscovered that I had already written all the code needed for the edible bubblegum! So the next proper content tutorial will cover that edible food item, followed by the viewer-requested post on custom swords with special effects.

Thanks for bearing with the topic shuffle — and I hope this detour helps you understand how to manage version upgrades in your own modding journey.

No Comments on A Quick Detour Before Bubblegum and Blades

Behind the Scenes: My Break and Upcoming Content

Symboli Rudolf from Umamusume and Miles Edgeworth from Ace Attorney Investigations Collection

Hey everyone! I just wanted to take a moment to acknowledge the sudden radio silence here on the blog.

If you’ve been following along with the Fabric modding tutorials, you might’ve noticed I disappeared for a few weeks without warning. First off—sorry about that! It definitely wasn’t planned. I’ve been juggling a wide array of interests, a full-time job, and other responsibilities, and sometimes that combination just takes over. But the biggest reason, honestly? Burnout.

After doing several back-to-back tutorial posts, I hit a wall. Writing technical posts—especially ones that try to be beginner-friendly—is incredibly rewarding, but also surprisingly draining. I wanted to give myself the time to recharge and fall back in love with the hobby before forcing the next post out. I think that’s the healthiest way to keep this blog sustainable (and enjoyable).

That said, I’ve been up to quite a bit during my break—and I figured I’d share a little behind-the-scenes look at what’s been keeping me sane and entertained.

(more…)
No Comments on Behind the Scenes: My Break and Upcoming Content

[Legacy 1.21.6] Fabric Modding: Introduction to Loot Tables

This post was written for Minecraft Java 1.21.6 and Fabric Loader 0.16.14.

Once your custom blocks are craftable and placeable in the world, the next step is making sure they behave the way players expect—especially when broken. That’s where loot tables come in.

Loot tables are data files that tell Minecraft what items should drop when a block is broken, a mob is killed, or a chest is opened. In this post, we’ll start with the most common use case for modders: block drops.

By default, if you create a custom block without a loot table, it won’t drop anything when broken—even with Silk Touch or the correct tool. That’s because Minecraft doesn’t assume any behavior unless you define it explicitly. To fix that, we’ll create a simple loot table for our bubble_gum_block so it drops itself when harvested.

Later, you can get more advanced—adding tool conditions, custom item drops, multiple outputs, or even random loot chances—but for now, we’ll stick to the basics to get your custom block behaving like a proper part of the game.

Let’s dive in!

(more…)
No Comments on [Legacy 1.21.6] Fabric Modding: Introduction to Loot Tables

[Legacy 1.21.6] Fabric Modding: Introduction to Crafting Recipes

This post was written for Minecraft Java 1.21.6 and Fabric Loader 0.16.14.

Once you have custom items and blocks showing up in the creative menu, the next step is making them usable in survival mode. That means crafting recipes!

Minecraft uses simple .json files to define how items and blocks are crafted. These files go in a specific folder structure in your mod project and follow a well-documented format that the game reads during loading. In this tutorial, we’ll walk through how to create shaped, shapeless, and reverse crafting recipes for your modded content.

(more…)
No Comments on [Legacy 1.21.6] Fabric Modding: Introduction to Crafting Recipes

[Legacy 1.21.6] Fabric Modding: A Taste of Models, Names, and Item Groups

This post was written for Minecraft Java 1.21.6 and Fabric Loader 0.16.14.

Now that we’ve added our first custom item and block to Minecraft, it’s time to make them feel like real, polished parts of the game. Right now, our bubble gum item and block technically exist—but they’re missing all the extras that make them feel complete. They don’t have proper textures or names, and don’t show up in the creative menu.

(more…)
4 Comments on [Legacy 1.21.6] Fabric Modding: A Taste of Models, Names, and Item Groups

[Legacy 1.21.6] Fabric Modding: Creating Your First Block

This post was written for Minecraft Java 1.21.6 and Fabric Loader 0.16.14.

Minecraft is all about blocks—they shape the world, define its materials, and power everything from redstone contraptions to cozy cottages. That makes adding your own block one of the most fun and satisfying ways to start modding.

In this part of the tutorial, we’ll walk through how to add your own custom block to Minecraft using Java and the Fabric modding framework. You’ll learn how blocks are defined, registered, and made available to the game—and by the end, you’ll have a soft, chewy bubble gum block ready to place in the world. Let’s get started!

(more…)
3 Comments on [Legacy 1.21.6] Fabric Modding: Creating Your First Block

[Legacy 1.21.6] Fabric Modding: Creating Your First Item

This post was written for Minecraft Java 1.21.6 and Fabric Loader 0.16.14.

Minecraft is a game built around blocks—breaking them, placing them, crafting new ones. That’s why most beginner modding tutorials start by adding new content like blocks and items, rather than jumping into complex functionality. And that’s a great place to begin! With just a bit of code, you can start building your own creative additions to the game.

In this tutorial, we’ll walk through how to add a custom item to Minecraft using Java and the Fabric modding framework. Along the way, you’ll learn how Minecraft’s item registry works, how items are constructed, and how to hook your code into the game’s loading process.

Let’s start by adding something simple: bubble gum.

(more…)
2 Comments on [Legacy 1.21.6] Fabric Modding: Creating Your First Item