I've been wanting to learn Minecraft modding for a long long time now. I have contributed the patch here or there, fixed some recipes, put together packs for my friends, but never had a mod to call my own. Since I was curious about the tooling around the modding scene (see more at the end), what best way to go about it then to make my own mod?

This simple client-side mod will periodically remind you to drink water and to unglue yourself from your chair and stretch a bit. The reminder intervals are configurable, and it avoids bothering you in combat.

It can also (lightly) insult you, if that is your thing. You can enable it in the settings!

You can find the mod in:

It is available for:

  • 1.20.1: Forge and Fabric
  • 1.21.1: NeoForge and Fabric

Want it for another version? As long as it's a modern version, feel free to ask and I may port it!

I hope it may be of use to some people! Enjoy!


The technical parts: I work with DevOps/SRE, but know enough development to scare the younglings. Truth is, I was mostly interested in Minecraft's build system and tooling. It's actually decently advanced compared to some stuff out there.

This was made with Architectury (no API) + Manifold Preprocessor, similarly to Distant Horizons, to allow me to support multiple versions with a single codebase. I know that a lot of people disliked Architectury, but honestly? It works, no fuss. Can't go wrong with that.

I did toy with Forgix: that failed due to Mixin issues. I also tried Unimined, which just would not work with Fabric. Maybe in the future I'll check out Stonecutter, we'll see.

For deployment, GitHub Actions and mc-publish was simple enough.

Overall, on the technical side, I see a lot of room for improvement, but we might as well start with something simple, right?

If anyone wants to see what it looks like, here is the source, distributed under Apache 2.0: https://www.curseforge.com/minecraft/mc-mods/drink-and-stretch. I genuinely think it serves as a decent "example" project.

by Angelin01

1 Comment

  1. Dry_Spread_4861 on

    Awesome! I see that text is hardcoded, it would be really nice to have some sort of config in the future. Ig I’m gonna just recompile .jar for my language for now