Horizon: Minecraft Java 26.3 Rebuilt in Rust With 833 Known Gaps

By Indie Kings | November 3, 2026

Updated November 3, 2026: Horizon is a from-scratch Rust client for Minecraft: Java Edition 26.3. Its own audit lists 281 differential harnesses passing on Linux and macOS, alongside 833 player-visible gaps that the port ledger has identified but not yet closed. The launcher reached version 0.2.37 on November 2.

Sunset over a savanna river valley and a plains village in Horizon

Image: a savanna river valley and village rendered by Horizon. Source: horizon-rust/horizon.

A Minecraft client written from scratch in Rust

Horizon is not a mod, a launcher skin or a wrapper around the Java game. It is a new client for Minecraft: Java Edition 26.3, written in Rust, with its own renderer, world generation, entity code, networking and user interface. The project describes the goal in plain terms: the same worlds, the same rules and the same terrain, checked against the Java game by differential tests.

The scale is unusual. GitHub lists 5,836 stars, 763 forks, 354 open issues, an MIT licence and a repository of roughly 275 MB. The project was created on October 3, 2026, so it has packed a large amount of work into a short period. The launcher reached version 0.2.37 on November 2, with 11,306 downloads on that asset at the time of writing.

Horizon contains no Minecraft code, assets or data. It needs a Microsoft account that owns Java Edition, and it prepares its own files from your existing installation or downloads 26.3 from Mojang for your account. An official launcher install, Prism or MultiMC can be reused. That account requirement is not a formality: the project is built around the files and the version that the account is entitled to.

What runs today is broad. Horizon handles vanilla world generation, mobs, villagers, raids, redstone, every command, the HUD and the recipe book, and it opens vanilla saves. Worlds from 1.8 through 26.2 are upgraded the way the vanilla DataFixers would upgrade them. The renderer draws the world in Vulkan on Linux and Windows, with OpenGL 3.3 as a Linux fallback and DirectX 12 as a Windows alternative.

The extras sit on top without replacing the base game. Distant terrain reaches up to 1,024 chunks, controllers and zoom are supported, and there is a minimap. Resource packs and data packs work, including functions, predicates, item modifiers and world generation. Multiplayer covers invite codes, Open to LAN and joining servers in online mode. Mod support comes in two forms: content mods made of data and assets, and native Rust mods built by the launcher. Java mod jars do not run.

281 harnesses, 833 gaps, and what the audit means

The most useful part of the project is not a feature list but an audit. Horizon's README publishes a parity table built from differential harnesses: tests that run the same scenario in Horizon and in vanilla Java Edition and compare the results. The last audit, dated October 13, 2026, says all 281 harnesses pass on Linux and macOS.

That does not mean the game is finished, and the project is unusually direct about it. A separate port ledger reads every vanilla 26.3 method against Horizon's code and counts the player-visible behaviour that is still missing. The current count is 833 open gaps. The README's badge says 100 percent vanilla parity, but the same page explains that 100 percent means 100 percent of what the harnesses compare, not that nothing else differs.

The gap breakdown is the clearest picture of where the work remains. Screens, HUD and client packets account for 197 gaps. Entity and block rendering and models account for 129. Animals account for 110. Server and player handling account for 106. Blocks, redstone and fluids account for 86. Entities, projectiles, vehicles and decorations account for 64. Monsters and bosses account for 53. Mob AI, villagers and raids account for 35. World, world generation and saves account for 32. Items, enchantments and inventories account for 21.

AreaOpen player-visible gaps
Screens, HUD and client packets197
Entity and block rendering, models129
Animals110
Server and players on the server106
Blocks, redstone and fluids86
Entities, projectiles, vehicles and decorations64
Monsters and bosses53
Mob AI, villagers and raids35
World, world generation and saves32
Items, enchantments and inventories21
Total833

Those numbers explain why the project can claim passing harnesses and still feel incomplete. A harness might compare chunk generation over thousands of seeds while a missing tooltip line or a skin that fails to load sits outside the test. The ledger is the honest counterweight, and the project says the number goes down as gaps close.

The parity table covers thirteen subsystems, from the game loop and assets to lighting, world generation, saves, entities, inventory, menus, audio and block ticking. Every one currently scores 1, which the project defines as complete and verified by differential tests. Some of the evidence is specific: 196,290 item stacks compared, 2,352 whole chunks over 225 structure sites, 758 commands over 39,685 inputs, and 6,000 dispenser cases. Those figures are the reason the 833 number is credible rather than discouraging. The team is measuring both what works and what does not.

The launcher, the extras and the limits

The Horizon launcher installs and updates the game, prepares its files from your Minecraft copy, and updates itself. It is available for Linux x86-64, Windows x64, macOS on Apple Silicon, and macOS on Intel from the next nightly. The 0.2.37 release on November 2 fixed a Windows native-mod build path with a space in the folder, made the loot data and the server's sync share one read of the recipe folder, added a development profile for mod developers, and served the stateless 2026-07-28 MCP revision from one implementation.

The launcher is more than an installer. Its Home page selects an instance, picks a version, and offers Join a friend. Settings covers the Microsoft account, an offline name, updates, appearance and an accent colour. The Servers page creates, starts, backs up and updates a server, and can invite friends over Tailscale. On a VPS, horizon-server installs with one command and needs no Java. The launcher also imports Modrinth and CurseForge packs and plays the content mods Horizon can carry over.

Agent control is a feature few game clients offer. horizon-ctl ships with the game, reads its state as JSON and acts like a player. It can launch a world with a seed, report position, health, food, target and screen, find the nearest block, walk to a point, break a block and open an inventory. The same commands are available over MCP with horizon-ctl mcp. Commands block until they finish and return the result, which makes the client usable by scripts and AI agents without screen scraping.

The known issues are specific and modest. Skins served over HTTPS show the default skin unless they are already cached. Pack icons show the unknown-pack texture in game. Item tooltips lack attribute lines. None of those is a crash, and all are visible gaps rather than hidden failures.

What you need to play

The account requirement is the first hurdle. You need a Microsoft account that owns Java Edition. Horizon does not include the game and does not bypass ownership. If you already have an official install, Prism or MultiMC, Horizon reuses it; if not, Play downloads 26.3 from Mojang for your account.

The hardware requirement is lighter than the Java game in one sense and stricter in another. Horizon wants a GPU with Vulkan or OpenGL 3.3 on Linux, Vulkan or DirectX 12 on Windows, or a Mac with Apple Silicon. Intel Macs are listed for the next nightly, not the current stable launcher. A modern integrated GPU that supports those APIs should qualify, but the project does not publish a minimum frame-rate table or a list of tested cards.

Building from source is a different task. It needs Rust 1.90 or newer, Python 3.10 or newer, JDK 25, and on Linux the ALSA and udev development packages. The prepare step builds the game's resources from your own copy of Java Edition 26.3, checked against a research lock file, and never downloads the game for you. You play 26.3 once in the official launcher, pass the 26.3 server jar once, and run the prepare tool. The prepared files land in a gitignored folder and must never be committed or shared.

For most players the launcher is the right path. It handles the account, the files, the updates and the version picker. The source build is for contributors and for people who want to inspect what the prepare step does. Either way, the project depends on a legitimate Java Edition install rather than replacing it.

FAQ

Is Horizon an official Minecraft product?
No. The project says it is not approved by or associated with Mojang or Microsoft. It contains no Minecraft code, assets or data, and it requires your own copy of Java Edition 26.3.

Does Horizon run Java mods?
No. Java mod jars do not run. Horizon supports content mods made of data and assets, and native Rust mods that the launcher builds. Modrinth and CurseForge packs are imported for the content mods Horizon can carry over.

If 281 harnesses pass, why are there 833 gaps?
The harnesses compare specific scenarios, and all of them currently pass. The gaps come from a separate method-by-method ledger that looks for player-visible vanilla behaviour the harnesses do not cover. The two numbers measure different things.

Can I play on a server with friends?
Yes. Horizon supports invite codes, Open to LAN and joining servers in online mode. The launcher can also create and run a dedicated server, and horizon-server installs on a VPS without Java.

Which platforms are supported?
The launcher lists Linux x86-64, Windows x64 and macOS on Apple Silicon. macOS on Intel is planned for the next nightly. Linux needs Vulkan or OpenGL 3.3, and Windows needs Vulkan or DirectX 12.

Can an AI agent play Horizon?
Yes. The bundled horizon-ctl tool exposes the game state as JSON and accepts commands to move, find blocks, break blocks and use menus. The same interface is available over MCP.

Bottom Line

Horizon is one of the more ambitious game projects of the year: a complete Rust client for Minecraft Java 26.3, with its own renderer, world generation and networking, built in about a month and already playable. The 281 passing differential harnesses are real evidence, and the 833-gap ledger is the rare admission that makes the rest of the claims easier to trust. The launcher, multiplayer, mod support and agent control turn it from a technical demo into something you can actually use.

The limits are equally clear. You need to own Java Edition and a Microsoft account. Java mods do not work. The known issues list missing skin caching, pack icons and tooltip attributes, and the gap table shows that screens, rendering, animals and server behaviour still need work. The 100 percent parity badge needs the README's explanation to be read correctly.

Our take: Horizon is worth trying if you own Java Edition and want to see a native Rust client handle a world you already know. Start with a vanilla world and no mods, use the launcher rather than a source build, and treat the parity table as a map of what is tested rather than a promise that nothing is missing. The project is moving fast enough that the gap count is the number to watch.

Sources

  • GitHub horizon-rust/horizon README, features, download, project status, parity table, known issues and licence, accessed November 3, 2026
  • GitHub launcher release 0.2.37, release notes and asset download count, published November 2, 2026, accessed November 3, 2026
  • GitHub API metadata for horizon-rust/horizon, stars, forks, open issues, creation date, language, size and licence, accessed November 3, 2026
  • Horizon port ledger gap breakdown as published in the project README, last audited October 13, 2026, accessed November 3, 2026

Related: Cubyz: Zig Voxel Sandbox Rebuilt From Java With 3.7k Stars | NBCraft: Minecraft Pocket Edition 0.1.3 Rebuilt for Nine Platforms | benilla-re: 2,067 Function Rows Now Name a Test That Proves Them

Share