Developing a lightweight Minecraft modpack in 2022, part 2

Link to part 1

It's been two weeks since I released part 1, a lot has happened since then. I tried to play and develop the modpack at the same time (not an unreasonable approach, considering that the actual content is provided by other people's mods, my job is to simply glue them together). I just played the game, while adding recipes and advancements as I saw fit, removing and adding mods, etc. Doing this is a very interesting kind of experience, and I feel like I'll ruin it when I finalize the modpack, and deprive others of the joy of modifying their game while playing it. Ah well, the game developer/player dichotomy do be like that.

I've actually finished my playthrough during these two weeks, however, I've changed so many things in the course of my playthrough that by the time I've reached the end-game, the early-game has become very different, and potentially less fun. So I might need to give it a second pass, just to polish that up.

Some corrections, aka The *absolute* state of Minecraft in 2022

I've said in part 1 that most of the Minecraft modding ecosystem centers around the proprietary Twitch-owned Curseforge, but also that they benevolently provide an easy public API for downloading files. I was wrong.

Overwhat?

For one thing, Amazon/Twitch no longer owns Curseforge, it has been sold to a separate company named Overwolf.

Overwolf is where creators go to bring their ideas to life, share game-changing apps and mods with the world, and be part of the guild for in-game creators

They provide an Electron-based "platform" for further Electron-based applications, which, in turn, act as overlays on top of the game that's being modded. From what I can tell, in order to play modded Minecraft the way they want you to, you must run Overwolf, from which you run the CurseForge app, from which you launch the vanilla Minecraft launcher, preconfigured to run a mod pack.

The platform ensures that everything is compliant with the proprietary games' ToS, takes ad revenue, provides gratis hosting, and allows mod creators to take a small cut of the revenue, incentivizing them to not publish anywhere else. They managed to take the mobile game business model and apply it to a meta-layer of game modding, great job.

The layers of web-based abstraction supposedly make the technology cross-platform, but I was not surprised to learn that this is not available on Linux, well then, good riddance. Something-something commodification of hacking, this is obviously bad, but my posts tend to be overly long even without rambling about politics.

The inevitable closing of doors

Oh, and as for the public API, it turns out that it was not intented to be public, so they refer to it as the "reverse-engineered" "community" version. The plan is to phase it out and introduce an "offical" API, which is notable for two reasons:

1. You must ask for an API key by writing a letter to the company: Curseforge explicitly states that they may reject your application if it negatively impacts earnings.

2. Mod developers will be able to say "no" to distributing their mods via the API, forcing people to download their work exclusively through the one ad-ridden Curseforge client.

So what do I do?

The easiest way to avoid this nightmare would be to use exclusively Free mods, which would allow to me just snag their compiled .JARs and redistribute them with minimal hassle.

However, I chose to use some "shared-source" mods with weird licenses that ultimately don't allow redistribution. I don't have a great excuse other than "I wanted to play with them, and maybe it's fine to not be a FOSS purist, since I'm playing a Microsoft-owned game anyway".

packwiz

packwiz is a command line tool for creating Minecraft modpacks. Instead of managing JAR files directly, packwiz creates TOML metadata files which can be easily version-controlled and shared with git. You can then export it to a CurseForge or Modrinth modpack, or use packwiz-installer for an auto-updating MultiMC instance.

https://packwiz.infra.link/

It can pull mods from Curseforge, Modrinth, as well as from direct URLs; the resulting modpack can then also be distributed in multiple ways. Seems exciting.

Reminder that Modrinth is a lightweight open platform for Minecraft mods.

Packwiz is in early-ish development, and currently still relies on the old unrestricted Curseforge API, but it gets the job done. It's definitely tricky to use for end users, though, and I don't feel like publishing either a Curse or a MultiMC thing just yet, so I've come up with a different solution.

https://git.sr.ht/~gardenapple/light-in-the-sky

I've created a frankenstein repository, which doubles as

Really, all it took is a relatively large .gitignore and .packwizignore file.

As I've said, this project is still not ready for release, so for now I'm intentionally only hosting it on the somewhat painful-to-use SourceHut. Eventually it will get a Curseforge (bleh) release, a pages.sr.ht download, and perhaps a Modrinth modpack (whenever that platform is ready).

You guys get an early sneak-peek: you can look at the modlist and decide whether Part 3 will be worth reading.

We'll see how the future proprietary Curse API affects things, however, I am somewhat pessimistic, so I suppose I should urge you to play my modpack while you still can! (but only after it's ready)

I still have not talked about melons, Planetoids and hookshots, and about throwing it all away... Ah well, see you later!

-- gardenapple 2022-01-21

Home