Repository navigation
Releases: Stink-O/horizon
Release list
Horizon with mod input, ui, render and world (3)
A build of Horizon with four mod capabilities from Horizon's own roadmap, so a mod can be a whole feature rather than a HUD. It's what Orbital Laser runs on.
| Capability | What a mod can do |
|---|---|
input |
claim an item's right-click (use-start, use-stop, ticks held), register keybinds (listed in Options → Controls → Key Binds under the mod's name), read the held item; new: poll-typed, the text typed and the keys pressed while its screen is open |
ui |
own a screen drawn from fills, quads, sprites, item icons and text, with clicks and Escape as events; it doesn't pause the game |
render |
a post-processing pass of its own, plain WGSL after the game's mod pass prelude (the world's colour and depth, the camera and 16 per-frame parameters), drawn before any shader pack, and shake(strength, seconds), a real camera shake |
world |
raycast up to 1024 blocks (across the distant terrain with LOD Distance on), run commands at operator level silently in one tick (single player and LAN hosts), play sounds; new: set-flying-speed, the player's creative flying speed (kept through respawns and game mode changes, vanilla's again when the mod stops) |
New since orbital-mod-api-2:
- On Horizon's
mainas of 2026-10-25: its new renderer, which replaced shader-pack support with its own post-processing, and single player on an integrated server thread. - A mod's post pass is plain WGSL now, after the game's prelude (
crates/horizon-client/src/gfx/mod_post.wgslon the branch), and the world's depth is kept for it. Passes written fororbital-mod-api-2's shader-pack stage format need porting: docs/mods.md has the details. Mods that don't userenderload unchanged. - Flying speed and typing for mods (above). New events are still pulled by the mod rather than called as hooks, so mods built before them load unchanged.
- Mods' commands run on the integrated server as the owner, without blocking the frame, and
horizon-ctl commandreaches a mod's commands;horizon-ctl type TEXTtypes into a mod's screen.
Install
- Download horizon-orbital-linux-x86_64.tar.gz below and unpack it (Orbital Laser's
play.shlooks in~/horizon-orbital). - Prepare the resources once from your own Minecraft 26.3 (Java 25 and the 26.3 server jar, as Horizon's PLAY.txt explains):
./horizon-prepare --prepare --server-jar PATH/TO/server.jar, then./horizon-prepare sounds.
If you already have Horizon prepared, you can pass its resources instead (--resources …/.local/horizon-client/26.3). - Start it from your game folder (
~/.local/share/horizon), since the game keeps saves, options and mods where it starts.README-ORBITAL.txtin the download has the command, and Orbital Laser'splay.shruns it for you.
Important
This is not an official Horizon release, and it contains nothing from Minecraft: you need your own copy of Minecraft Java Edition 26.3. It's built from mod-api-input-ui-render-world (commit 848a0686), which is upstream main as of 2026-10-25 plus these changes. Orbital Laser 0.5.1 needs this build (or newer).
Warning
Linux x86-64 only, and experimental. Tested on one Linux PC (Fedora, NVIDIA). Elsewhere, build the branch from source with mods on: cargo build --release -p horizon-client --features mods.
Assets
| file | what |
|---|---|
horizon-orbital-linux-x86_64.tar.gz |
horizon-client, horizon-ctl, horizon-prepare, the licence and notices, and README-ORBITAL.txt |
| Source code (zip / tar.gz) | the branch's source |
Horizon with mod input, ui, render and world (2)
A build of Horizon with four mod capabilities from Horizon's own roadmap, so a mod can be a whole feature rather than a HUD. It's what Orbital Laser runs on.
| Capability | What a mod can do |
|---|---|
input |
claim an item's right-click (use-start, use-stop, ticks held), register keybinds (listed in Options → Controls → Key Binds under the mod's name), read the held item |
ui |
own a screen drawn from fills, quads, sprites, item icons and text, with clicks and Escape as events; it doesn't pause the game |
render |
a post-processing pass in the shader-pack stage format, with 16 per-frame parameters (frame.mod_params), drawn after any shader pack; new: shake(strength, seconds), a real camera shake (the view turns, so the world, the hand and post passes move together; scaled by Distortion Effects) |
world |
raycast up to 1024 blocks (new: past the loaded chunks across the distant terrain, with LOD Distance on), run commands at operator level silently in one tick (single player and LAN hosts), play sounds |
Mods built for Horizon's API 0.1 still load unchanged. New events are pulled by the mod (input.poll) rather than called as new hooks, and the WIT package stays horizon:mods@0.1.0. The details are in docs/mods.md on the branch.
Also new on the branch since orbital-mod-api-1:
horizon-ctl record PATH [FPS]/record stop: the finished frames, post passes and HUD included, streamed to a video through ffmpeg (NVENC when it's there).- Block-break sounds and particles reach only 64 blocks, as vanilla's server sends them, and a few sound channels stay free for sounds played to the player, so a crater's worth of breaking can't silence them.
/fillskips blocks that are already the target and caches its filter per state; timing spans for mod ticks and commands (HORIZON_SPIKES).- Settings rebuilt by
horizon-ctl options-setno longer drop the enabled mods.
Install
- Download horizon-orbital-linux-x86_64.tar.gz below and unpack it (Orbital Laser's
play.shlooks in~/horizon-orbital). - Prepare the resources once from your own Minecraft 26.3 (Java 25 and the 26.3 server jar, as Horizon's PLAY.txt explains):
./horizon-prepare --prepare --server-jar PATH/TO/server.jar, then./horizon-prepare sounds.
If you already have Horizon prepared, you can pass its resources instead (--resources …/.local/horizon-client/26.3). - Start it from your game folder (
~/.local/share/horizon), since the game keeps saves, options and mods where it starts.README-ORBITAL.txtin the download has the command, and Orbital Laser'splay.shruns it for you.
Important
This is not an official Horizon release, and it contains nothing from Minecraft: you need your own copy of Minecraft Java Edition 26.3. It's built from mod-api-input-ui-render-world, which is upstream main as of 2026-10-22 plus these changes. Orbital Laser 0.5.0 needs this build (or newer).
Warning
Linux x86-64 only, and experimental. Tested on one Linux PC (Fedora, NVIDIA). Elsewhere, build the branch from source: cargo build --release -p horizon-client.
Assets
| file | what |
|---|---|
horizon-orbital-linux-x86_64.tar.gz |
horizon-client, horizon-ctl, horizon-prepare, the licence and notices, and README-ORBITAL.txt |
| Source code (zip / tar.gz) | the branch's source |
Horizon with mod input, ui, render and world
A build of Horizon with four mod capabilities from Horizon's own roadmap, so a mod can be a whole feature rather than a HUD. It's what Orbital Laser runs on.
| Capability | What a mod can do |
|---|---|
input |
claim an item's right-click (use-start, use-stop, ticks held), register keybinds (listed in Options → Controls → Key Binds under the mod's name), read the held item |
ui |
own a screen drawn from fills, quads, sprites, item icons and text, with clicks and Escape as events; it doesn't pause the game |
render |
a post-processing pass in the shader-pack stage format, with 16 per-frame parameters (frame.mod_params), drawn after any shader pack |
world |
raycast up to 256 blocks, run commands at operator level silently in one tick (single player and LAN hosts), play sounds |
Mods built for Horizon's API 0.1 still load unchanged. New events are pulled by the mod (input.poll) rather than called as new hooks, and the WIT package stays horizon:mods@0.1.0. The details are in docs/mods.md on the branch.
Also fixed on the branch: settings rebuilt by horizon-ctl options-set no longer drop the enabled mods (which saved an empty horizon-mods.txt).
Install
- Download horizon-orbital-linux-x86_64.tar.gz below and unpack it (Orbital Laser's
play.shlooks in~/horizon-orbital). - Prepare the resources once from your own Minecraft 26.3 (Java 25 and the 26.3 server jar, as Horizon's PLAY.txt explains):
./horizon-prepare --prepare --server-jar PATH/TO/server.jar, then./horizon-prepare sounds.
If you already have Horizon prepared, you can pass its resources instead (--resources …/.local/horizon-client/26.3). - Start it from your game folder (
~/.local/share/horizon), since the game keeps saves, options and mods where it starts.README-ORBITAL.txtin the download has the command, and Orbital Laser'splay.shruns it for you.
Important
This is not an official Horizon release, and it contains nothing from Minecraft: you need your own copy of Minecraft Java Edition 26.3. It's built from mod-api-input-ui-render-world, which is upstream main as of 2026-10-22 plus these changes.
Warning
Linux x86-64 only, and experimental. Tested on one Linux PC (Fedora, NVIDIA). Elsewhere, build the branch from source: cargo build --release -p horizon-client.
Assets
| file | what |
|---|---|
horizon-orbital-linux-x86_64.tar.gz |
horizon-client, horizon-ctl, horizon-prepare, the licence and notices, and README-ORBITAL.txt |
| Source code (zip / tar.gz) | the branch's source |