I've been writing Java for about two years. Most of it goes into Minecraft. So right now
that is the mods I make and the servers they run on.
Right now that's mainly Retromod and RevivalSMP.
The modding and the server admin work turn out to be pretty different jobs. One is
writing code, the other is keeping things up and dealing with whatever broke this
week. I like both. I also write Swift, Python, Rust and a bit of Ruby, though the Rust
and the Ruby mostly circled back into Minecraft anyway, as Fabric language adapters.
Older mods usually stop working when Minecraft updates. Retromod takes one of those
mods and rewrites the parts that broke so it runs on a current version, keeping a copy
of the original in case it doesn't go well.
It's deliberately cautious: if it can't be sure a change is safe, it leaves the mod
alone rather than handing you something that crashes. It works with Fabric, Quilt,
NeoForge and Forge on Minecraft 1.20 through 26.3, and there's a command line version
that can do a whole modpack in one go.
Fabric mods are normally written in Java. This lets you write one in Rust instead.
Rust doesn't run on the JVM the way Java does, so a mod ships its compiled Rust for
each platform and this adapter picks the right one and hooks it up to Minecraft at
startup. It's v0.1 and more of a proof of concept than a finished tool.
Same idea, for Ruby. This one was less work, because JRuby already runs Ruby on the
JVM. The adapter carries a Ruby runtime inside it, so you point your mod at a
.rb file and it handles the rest.
It covers every Minecraft version Fabric supports, going back to 1.14, and it's happy
to sit alongside the Kotlin adapter if you use that too.
The server I help run, with its own set of custom mechanics rather than being straight
vanilla. Most of my time goes here, which is the honest reason the language adapters
above get maintenance releases instead of steady new features.
Two bigger things have grown out of it, both of which I work on.
Cross-server ranked duels. Queue up from any server, or from single-player, get moved
to an arena, and climb a ladder for each kit. The player mod and the server plugin are
both open; the matchmaking behind them is ours.
A crowdhosting platform. You upload a Minecraft world, vanilla or modded, or start one
from a template, and other players keep it running by boosting it. Each boost lifts the
world's tier, which buys it more player slots, more mods and more memory, and each one
lasts a month before it lapses.
Putting a world up is free, and the boosts pay the person who made it: half the revenue
from every paid boost other players spend on that world goes to its owner. Works for
Java and Bedrock.