Skip to content

Minecraft on Jester

A Jester app that reads a Minecraft install you own and plays it. Terrain, blocks, entities, UI and sound are all drawn by mods, and the client speaks the Minecraft network protocol so it can join a server. It ships no game content: assets are imported at runtime from your own copy of the game.

Pages

PageWhat is in it
What works todayCapabilities, gaps and the numbers behind them
ArchitectureThe mods, and how a frame flows through them
Importing your gameHow assets, blocks, models and recipes are read
The network protocolFraming, states, packets and chunks
Joining a serverThe ordering rules that make a join render
Playing and controlsMenus, options, keys and the debug overlay
Testing and diagnosticsHow it is proven headlessly, and what the counters mean
Known issuesPerformance and gaps, in order of value

Why it is a Jester app

Everything in Jester is a mod loaded from data, and Minecraft is no exception. World streaming, the protocol, the mapping of block names to ids, inventory, the menus and the sky are separate mods with separate responsibilities. That means each can be replaced, and it means the client can be developed and hot-swapped while a world is running.

It is also a good workload for the engine. A Minecraft world is a large, dense, constantly streaming data set drawn every frame, and most of what was learned about Jester's catalogs, pacing and host-call cost came from making this run.

No Mojang assets, code or worlds are distributed with this project or this site. The importer reads a game install that you already have, on your machine. The client is intended for offline and LAN servers.

aoughwl — self-hosted platform for things n stuff. Contact / Support on Discord for access to the private backends.