Minecraft: Java Edition 26.3Written in Rust
Horizon: The game you know,rebuilt in Rust.
The Minecraft: Java Edition 26.3 client and its game logic, rewritten in Rust and checked against the vanilla game by 281 differential harnesses.
Benchmarks
3× the frame rate.
Average frames per second in vanilla 26.3 with no mods installed.
Drag the standard launcher bar to try your own frame rate. Results vary with hardware.
What it is
Same inputs, identical outputs.
Horizon, sometimes called Minecraft Rust Edition, rebuilds Minecraft: Java Edition 26.3 in Rust, one subsystem at a time, and holds every piece to the same inputs as the vanilla game until the outputs are identical.
Visit contributors(opens in a new tab)
Your own copy
Install Java Edition with the official launcher and play 26.3 once. Horizon builds its resources from those files on your machine, and never downloads or shares game files.
Native on three platforms
Linux, macOS on Apple Silicon and Windows. Worlds come from a Rust port of the vanilla generators, drawn with vanilla's block models, lighting, sky and fog.
Open source
Horizon's code is MIT. It contains no Minecraft code, assets or data; those belong to Mojang and Microsoft under the Minecraft EULA.


Your Minecraft
Server, 24/7 Online.
Get your server now in under ~60 seconds!
Community
Built in the open.
Every change lands on GitHub in public. Come ask questions, report bugs or send a pull request.
- DiscordQuestions, bug reports and screenshots.
- SponsorSponsors on GitHub fund the next release.
- SourceIssues and pull requests are welcome.
- How it's builtWho writes it, how changes are checked, why it's safe to run.
Do you make 3D models? Horizon is looking for 3D artists.
Drawn byHorizon
The same game you love, 6× faster.
Every frame here was rendered by Horizon, with vanilla's block models, lighting, sky and fog.




Contributors
Built by 232 people.
Everyone with commits in horizon-rust/horizon, most commits first, and the people behind this site.
281
differential harnesses drive the same inputs through Horizon and through the vanilla client and server, and compare what comes out.
Every subsystem passes the harnesses that compare it.
Below is the project's own audit of each subsystem. Every subsystem now matches vanilla in every harness that compares it.
Last audited players still find differences: the open reports(opens in a new tab)
01Window, input and game loopPasses its harnesses
Passes its harnesses
The game loop, options, camera, auto-jump, toggle sprint/sneak, local input and the frame limiter match vanilla.
02Assets and resourcesPasses its harnesses
Passes its harnesses
Item models match vanilla over 196,290 stacks and the client draws every item through them; the resource pack screen matches vanilla's drawing over 3,000 sessions of clicks, scrolling and searching, its incompatibility confirmation included.
03Network protocol and multiplayerPasses its harnesses
Passes its harnesses
Joins vanilla servers; the dedicated server (--dedicated) matches vanilla's files, status ping, login, configuration, play, chunks, chat, recipes, advancements and command tree, a client built from vanilla's packet code joins it, Horizon joins a vanilla server, and LAN discovery matches over 462 cases (offline mode only).
04Chunk storage and palettesPasses its harnesses
Passes its harnesses
Client and saves share paletted containers, identical to vanilla over 266 scenarios.
05Section meshingPasses its harnesses
Passes its harnesses
112 scenes and over a million quads identical to vanilla.
06RenderingPasses its harnesses
Passes its harnesses
Entity models, block entity renderers (407 cases, End portals, gateways and the loom's banner preview included) and their animations (296 cases, End gateway beams included), the HUD overlays (2,200 states), the recipe book (600 states), the player list, subtitles and the world border match vanilla.
07LightingPasses its harnesses
Passes its harnesses
Saved and relit light matches vanilla, slabs and stairs included.
08World generationPasses its harnesses
Passes its harnesses
2,352 whole chunks over 225 structure sites, in all three dimensions, identical to vanilla.
09Region files and savesPasses its harnesses
Passes its harnesses
Saves round-trip with vanilla, and worlds from 1.8 to 26.2 upgrade as vanilla's DataFixers do, superflat worlds included; old options.txt and hotbar.nbt files are upgraded too.
10Entities and physicsPasses its harnesses
Passes its harnesses
Attributes, dimensions, death loot, spawn rules, natural spawning (15,500 cases), raids and patrols (1,900 cases), spawned mobs' gear, enchantments and state (finalizeSpawn, 24,000 cases) and mob AI (92 scenarios: villager breeding and gossip, the warden, ghastlings and copper golems included) match vanilla.
11Interaction and inventoryPasses its harnesses
Passes its harnesses
Menu clicks match over 8,000 click sequences, the loom and the crafter included; recipe book placement (6,000 cases), its buttons (1,200), the saved book (1,500) and the loom and crafter screens (1,600) match vanilla.
12Menus, HUD and chatPasses its harnesses
Passes its harnesses
Every command runs as vanilla (758 commands over 39,685 parsed inputs), scoreboards and teams match (81,000 operations), the player list matches over 872,000 draw calls with heads drawn from players' skins (authlib's textures, SkinManager's lookup, legacy skin conversion), and the chat matches focused and scrolled; the resource pack screen (selection over 4,000 cases, drawing and its incompatibility confirmation over 3,000 sessions) and the chat input with its command suggestions, usage lines, Tab completion and history (3,000 sessions on vanilla's client command tree) match vanilla.
13AudioPasses its harnesses
Passes its harnesses
The sound engine, sound events, music, situational music, ambience and subtitles match vanilla.
14Block behaviours and tickingPasses its harnesses
Passes its harnesses
Block updates, random ticks, redstone, dispensers (6,000 cases), crafters (4,000 crafts), block entity removal (containers spill, 4,000 cases), copper golem chest sorting and the sculk family (435 scenarios: shrieker warnings and warden summoning included) match vanilla.
Each subsystem scores
- 0 absent
- 0.25 started
- 0.5 playable, major features missing
- 0.75 mostly complete
- 1 complete and verified against vanilla by differential tests
