Skip to content

About

A terrestrial orbital laser strike for Horizon: a custom shader, synthesized sounds and a driver that carves the crater.

Topics

Resources

Contributing

Stars

95 stars

Watchers

1 watching

Forks

Repository files navigation

Orbital Laser

Orbital Laser

An orbital laser strike, as a mod for Horizon, the Rust rewrite of Minecraft Java. Pick a laser from a wheel, hold the Orbital Laser Designator on a target, and a strike comes down from orbit. It digs a crater and a shaft to bedrock, flattens what stands round it and leaves the land changed for good.

Download  ·  Getting started  ·  How it works

Latest release Horizon mod API 0.1 + input, ui, render, world Tested on Linux Rust MIT license

The Mothership: a vast dark metal ship lit with green seams over the land, its green beam striking the ground

Warning

Strikes wreck the land for good. Use a throwaway world or back yours up. The Planet Killer alone leaves a crater 480 blocks across, so stand at least 450 blocks back. The wheel's centre (or /orbital terrain off) makes strikes light and sound only. What each laser destroys.

Important

It needs the Orbital Laser build of Horizon, release orbital-mod-api-8 or newer. Horizon's mod API doesn't yet let a mod catch an item's use, open its own screen, draw effects or change the world, so the mod runs on a fork that adds those: Stink-O/horizon, branch mod-api-input-ui-render-world, with a ready-built Linux download on its releases. Older fork builds won't start the mod. You also need your own copy of Minecraft Java Edition 26.3: nothing from Minecraft is in this repository or the downloads.

Warning

Early and experimental. Developed and tested on one Linux PC (Fedora, NVIDIA). Reported working on Windows 11 by a user (the fork built from source); on macOS the Downfall crashes the game (see Known gaps). The ready-built Horizon is Linux x86-64 only (elsewhere, build the fork from source).

Contents: New in 0.5.7 · The lasers · Getting started · Set it up with an AI agent · How to play · If something goes wrong · Known gaps · Credits and licence

New in 0.5.7

The Rod from God standing in its crater, banded in gold, the land round it bleached white and gold

  • Rod from God, the twelfth laser, on the wheel's third page and /orbital rod. A colossal rod of dark forged metal dropped from orbit, with no explosive. It comes straight down onto the target as a golden-white star with god rays streaming from it, puts on a last hard burst of speed and slams in. The picture holds on the hit for about a fifth of a second of impact frames, then lets go into a blinding burst, a jet of molten rock and a ring of dust racing out over the land. The crater is blasted out first and then lined in quartz, calcite and gold, and the rod stays standing in it, 171 blocks long with 130 of them over the crater floor, the floor round its foot heaved up in broken slabs. It has its own sounds and lasts 60 seconds.
  • Impact frames in three looks: KANADA (the default), BLACK FLASH and CINEMATIC, or OFF, on the wheel's IMPACT FX row or with /orbital impactframes. Photosensitivity: they are a fifth of a second of hard full-screen cuts. /orbital impactframes off leaves them out.
  • For filming: a follow camera that orbits the Nuke's or the Payload's bomb as it comes in (/orbital follow, the wheel's FOLLOW switch), a KNOCKBACK switch for the Nuke and the Rod, a seed you can type or lock for repeat takes of the same strike (/orbital seed), and tools/world_snapshot.py to put a world back between takes.
  • The wheel rearranged: the strike options down the left (SEED and LOCK SEED, then KNOCKBACK and FOLLOW for the lasers they apply to), MESSAGES, PANEL and QUALITY down the right with a red STOP STRIKE under them during a strike, and the IMPACT FX and BLAST SOUND rows under the ring.
  • A thirteenth laser, the Supercell, is on the third page as well (/orbital supercell).
  • Still needs the Orbital Laser build of Horizon orbital-mod-api-8 or newer, the same as 0.5.6.

Earlier versions: docs/CHANGES.md.

The lasers

Thirteen lasers, five to a page of the wheel.

  • Plasma. A raging beam with forked lightning. The crater fuses into glass, obsidian and magma, ringed in fire.
  • Godly. The clouds part and a pillar of light comes down. The crater turns to quartz and gold, with flowers.
  • Black Hole. A singularity opens over the target and bends the light round it. It tears the ground up into orbit, swallows it and drags the land into spiral arms.
  • Meteor Storm. 72 meteors pound the land round the target, then one the size of a hill hits it: a crater about 125 blocks across.
  • Mothership. A kilometre-long ship drops in over the target, drills a shaft to bedrock and cuts a molten trench with its beam. You pick where it comes in from, how it arrives and its colour.
  • Downfall (page two). The Mothership again, but a meteor brings it down. It crashes into the land and buries itself, and then its black hole engine ruptures and swallows the wreck.
  • Planet Killer (page two). Seven towers out on the horizon strike a ring in the sky with lightning, and its beam leaves a crater 480 blocks across.
  • Crystal Bloom (page two). A forest of crystal spires bursts out of the land, hums as one and shatters into pieces that land as real blocks, leaving a geode crater with a well to bedrock, broken crystal pillars and shards.
  • Sinkhole (page two). Nothing from the sky: the land cracks and caves in, slab by slab, each slab carrying its real ground and trees as it falls, into a sheer pit about 225 blocks across and down to bedrock.
  • Payload (page two). A bright point high in the sky comes down on one long arc from orbit, slow at first, then fast as a fireball, crackling and shedding burning chunks, its lumpy smoke trail hanging in the sky: a column of smoke boils up, a wall of dust races out over the land and debris rains down, and the column slowly melts into a drifting haze. It leaves a bomb crater.
  • Nuke (page three). A bomb comes in from orbit, a white-hot streak across the sky, cools and dives onto the target, faster and faster, then bursts over the land: a blinding white flash, a fireball boiling up into a mushroom cloud hundreds of blocks tall that rolls over on itself, its shadow across the land, and a shockwave racing out in a wall of dust. The boom arrives late with the distance. It leaves a terraced crater about 200 blocks across and 40 deep with a glassy floor (flooded where it cuts into water), the land flattened out to about 230 with the trees felled pointing away, the ground charred in streaks, what faces the flash scorched out to about 480, and every mob within 300 killed.
  • Rod from God (page three). A colossal rod of dark forged metal dropped from orbit, kinetic, no explosive, and holy: it comes straight down onto the target, a golden-white star high overhead that grows fast, god rays streaming from it and a column of light down its path, and in its last fraction of a second it slams in. It strikes: the picture freezes on the hit for a fifth of a second of hard-cut impact frames (by default black-and-white silhouettes with thick lines rushing into the point, a close-up in negative with gold lines, gold and umber; BLACK FLASH and CINEMATIC are the other looks), then lets go with a blur, a blinding radiant burst with rays fanning out, the land rippling out in rings like water, a jet of molten rock up its path, a short plume of dust spreading into a haze and a ring of dust racing out over the land, then one colossal crack-boom, late with the distance. The crater is blasted out round it in a moment, then lined in white and gold from the rod out, and it leaves itself standing in a hallowed crater about 120 blocks across and 50 deep, the floor round its foot heaved up in broken slabs: the rod, 13 blocks thick and 130 tall over the crater's floor, its top 80 over the land, polished blackstone banded in gold and capped with light; the crater lined in quartz, calcite and gold with veins of glowstone, rays of white and gold over pale grass round it, rubble out to about 250, the trees felled out to about 200, and every mob within 200 killed. Photosensitivity: its impact frames are a fifth of a second of hard cuts over the whole picture; /orbital impactframes off (or OFF on the wheel's IMPACT FX row) leaves them out.
  • Supercell (page three). A storm called down: the sky darkens and a turning wall cloud and an anvil-topped storm cloud boil up over the target, rain pouring out of them; lightning strikes all over the land under it, faster and faster, thin funnels come down and wander over the land, the bolts draw in on the target, a rapid run of them lands on it, a moment's hush, then one colossal strike at 29 seconds. It leaves small scorched pits, the funnels' scoured tracks and a crater about 70 across with veins of fused glass branching out through the ground round it; the fires it lights are left burning, and can spread.

Plasma, Godly, the Black Hole and the Meteor Storm reach 200 blocks; the Mothership, the Downfall, the Planet Killer, the Crystal Bloom, the Sinkhole, the Payload, the Nuke, the Rod from God and the Supercell reach 1000. How it works describes each one from start to finish.

The laser wheel Plasma What Godly leaves behind
The laser wheel: Plasma and Godly segments round a terrain-damage switch A plasma beam with forked lightning, a shockwave ring and a molten crater A quartz and gold crater with a golden sigil, quartz pillars and floating islands of rock
Meteor Storm The extinction impact What it leaves
Meteors streaking down through the sky and landing across the land in flashes of light The big impact: a fireball tearing open with burning ejecta thrown out every way A huge glowing crater rimmed with fire in charred land
Mothership Its underside For scale, from 900 blocks
A vast dark metal ship lit with green seams hanging over the land, its green beam striking the ground Looking up at the ship's underside: plated decks, green-lit seams, window lights and the beam's emitter The whole ship hanging over the horizon, small against the sky, its beam on the land below
Downfall The crash The black hole
The Downfall falling, fires burning on its roof and smoke streaming off it The burning ship ploughing into a mountain, earth flung up along its sides, smoke trailing behind The black hole tearing up what is left of the wreck
Planet Killer The beam The burst The crater
The Planet Killer's towers on the horizon striking the ring of light in the sky with bolts of lightning The Planet Killer's beam hitting the land, cracks glowing across the ground round it The Planet Killer's burst: a fireball rising out of the crater The Planet Killer's crater afterwards, seen from high above at a distance
Crystal Bloom The resonance The shatter What it leaves
Crystal spires blooming out of the cracked ground Prism beams and an aurora over the crystal spires as they resonate The spires shattering into fractured pieces The geode crater with broken crystal pillars and shards, seen from the ground
Sinkhole The collapse The pit What it leaves
Cracks racing out over the land from the target The land caving in, dust boiling up out of the collapse The dark pit opening as the dust settles The finished pit, waterfalls pouring over its rim into the dark
Payload The dive The impact The column
A bright point high in the sky trailing a lumpy smoke trail The fireball diving at the land, shedding burning chunks The flash and the burst of fire as it hits The column of smoke rising out of the crater, the bomb's trail still hanging in the sky
Nuke The flash The cloud The crater
The bomb's smoke trail arcing over into its dive The fireball bursting on the ground, the shockwave's dome racing out over a wall of dust The mushroom cloud towering over its crater The terraced crater with its glassy floor and broken rim, the land flattened round it
Rod from God The impact frames The burst What it leaves
The rod coming straight down onto the land, glowing white, god rays round it An impact frame: the rod and the land as gold and umber silhouettes, thick lines converging on the point The radiant burst as it strikes, rays fanning out over the land The rod standing in its crater, the land round it bleached white and gold

Getting started

  1. Get the Orbital Laser build of Horizon (orbital-mod-api-8 or newer). Download horizon-orbital-linux-x86_64.tar.gz from Stink-O/horizon releases and unpack it to ~/horizon-orbital.

    On Windows and macOS, build it from source instead: branch mod-api-input-ui-render-world of Stink-O/horizon, with the mod runtime switched on:

    cargo build --release -p horizon-client --features mods

    Without --features mods the mod only half-loads: its items are there, but /orbital is an unknown command, and the game's log says 1 mod(s) not started: this build has no mod runtime (build with --features mods).

    It needs Horizon's prepared resources, made once from your own Minecraft 26.3 (Horizon's PLAY.txt explains the server jar and Java 25):

    cd ~/horizon-orbital
    ./horizon-prepare --prepare --server-jar PATH/TO/server.jar
    ./horizon-prepare sounds

    If you already have Horizon set up, skip that and point HORIZON_RESOURCES at its prepared resources (the folder .local/horizon-client/26.3 inside it).

    If horizon-prepare --prepare says your 26.3.json is a 26.3 version file Horizon does not know yet, your copy is fine: Mojang republished it, and the fork's research-lock.json doesn't list the new hashes yet. Until the next fork release has them, copy upstream Horizon's research-lock.json over the one at the top of the fork's folder (it's read as horizon-prepare runs: nothing to rebuild) and run it again.

  2. Install the mod. Download orbital-laser-v0.5.7.zip from the latest release, unzip it, and with the game closed run:

    python3 install.py

    It copies the mod into Horizon's game folder (~/.local/share/horizon/horizon-mods/orbital, or $HORIZON_HOME) and switches it on. If 0.1's shader pack and sound pack are installed, it takes them out.

  3. Play. From the same folder, in a terminal:

    ./play.sh                 # a creative test world called OrbitalTest
    ./play.sh MyWorld         # or one of yours (back it up first)

    It starts the Orbital Laser build on your normal game folder, so your worlds, settings and mods are all there. Always start the game this way: Horizon's own launcher, or a stock horizon-client, can't run the mod. If play.sh can't find the build it says what's missing (started without a terminal, it also writes that to play-error.txt beside it).

  4. In the game, type /orbital give for the Designator and the Remote.

Set it up with an AI agent

If you use a coding agent (Claude Code, Codex, Cursor and the like), paste the message below into it and it can do the whole setup on your computer. AGENTS.md has the same guidance for agents that read the repository themselves.

Set up Orbital Laser on this computer and get a test strike working, end to end:
https://github.com/Stink-O/orbital-laser

Orbital Laser is a mod for Horizon, the Rust rewrite of Minecraft Java. It runs on a Horizon fork that
adds the mod capabilities it needs. Before doing anything, read README.md (especially "Getting started",
"If something goes wrong" and "Known gaps") and AGENTS.md from the repository: they say which fork release,
which Minecraft version and which commands the current release needs. Trust them over anything you
remember, since they change with each release.

Ground rules:
- Minecraft is not included. Horizon's resources come from my own copy of Minecraft Java, the version the
  README names. Don't download, fake or work around it; if I don't have it, stop and tell me.
- Stock Horizon can't run this mod: use the fork's build the README names. Use its ready-built download
  if there is one for my system; otherwise build it from source, and tell me before you start, since that
  takes a while.
- Check what my system has before installing anything, and ask me before installing tools or packages.
- Strikes are destructive and permanent: they dig craters and kill mobs, and the biggest lasers reshape
  hundreds of blocks of land. Only use a throwaway creative world (play.sh makes one), never one of my
  real worlds, and ask me before the first strike with terrain damage on. Terrain damage can be turned
  off (the README says how); test with it off first.
- Install with the game closed. Don't change my saves or settings beyond what the installer does.
- If you have to work around something on my system, keep the fix small and tell me exactly what you
  changed and why.

Steps:
1. Get the fork's build of Horizon and its prepared resources, as the README describes.
2. Get the latest Orbital Laser release (or clone the repository) and run its installer.
3. Start the game in a throwaway world and give me the mod's items.
4. Test safely: open the laser wheel, then fire one strike with terrain damage off, and check it plays
   with sound and no errors in chat. Ask me before a strike with terrain damage on.
5. Tell me how to use it: how to open the wheel, fire, and rebind the keys.

Report each step's result as you go. If a step fails, show me the exact command and message, say what you
think is wrong, and fix it. Don't guess past a failure. If the game shows the mod as stopped (Options >
Mods), read the reason it gives first.

How to play

  1. Type /orbital give for the Orbital Laser Designator and the Orbital Remote.
  2. Pick a laser. Right-click with the remote, or press R, and the laser wheel opens. Point at a laser to read what it does and click to load it. The arrows either side of the ring, the tabs over it or a right-click turn the page. The middle switches terrain damage on or off, and Escape closes the wheel. Your choices are remembered.
  3. Fire. Hold the designator, aim at a target and hold right-click for under a second. The action bar shows ACQUIRING TARGET… (SEISMIC SCAN… for the Sinkhole, DESIGNATING… for the Payload, the Nuke and the Rod), then the strike lands where your crosshair is.

Only one strike runs at a time. Plasma, Godly and the Black Hole take about 26 seconds, the Planet Killer 30.5, the Mothership 34, the Meteor Storm 38, the Sinkhole 40, the Supercell 42, the Crystal Bloom and the Rod from God 60, the Downfall 64, the Payload 70 and the Nuke 90.

The wheel also has:

  • FLY SPEED over the title, for getting round the craters: click along the bar for 1x to 40x vanilla's creative flight, or type any speed up to 1000x in the box beside it and press Enter.
  • Down the right, MESSAGES and PANEL switches, which turn off the strikes' messages over the hotbar and the status panel shown at the top right while you hold either item, and a QUALITY switch under them: FAST (the default) draws the Payload's, the Nuke's and the Rod's smoke, dust and trail and the Supercell's storm at half the width and height and lays them over the full-size picture, keeping their edges against blocks and the sky; FULL draws every pixel (about two to three times the GPU time).
  • STOP STRIKE, a red button under QUALITY while a strike is under way: it ends the strike there and then (what it has already done to the world stays), the same as /orbital stop.
  • Down the left, the strike options. SEED shows the last strike's seed, or takes one you type (1 to 997), and LOCK SEED keeps it, so a strike plays out the same way take after take (/orbital seed). Under them, for the lasers they apply to: KNOCKBACK (the Nuke and the Rod), whether the blast pushes you, and FOLLOW (the Nuke and the Payload), the follow camera.
  • An IMPACT FX row under the ring while the Rod from God is pointed at or loaded: OFF, KANADA (the default), BLACK FLASH or CINEMATIC, as /orbital impactframes.
  • For the Mothership and the Downfall, rows for where the ship comes in from, how it arrives, and its colour.
  • For the Payload, a BLAST SOUND row: MAIN (deep and rolling) or ALT (a sharp crack and a wide roar), the same choice as /orbital payloadsound. The Nuke has one too: MAIN (a hard crack, an overdriven boom) or ALT (a rounder, bassier boom and a longer thunder roll), as /orbital nukesound.
Command What it does
/orbital give gives you the Designator and the Remote
/orbital wheel opens the laser wheel
/orbital plasma, godly, blackhole, meteor, mothership, downfall, planetkiller, crystalbloom, sinkhole, payload, nuke, rod, supercell loads that laser
/orbital terrain on|off terrain damage on, or off (light and sound only)
/orbital approach ahead|behind|left|right|overhead where the ship comes in from
/orbital arrival snap|unfold|warp how the ship arrives
/orbital colour green|red|amber|blue|violet|white the loaded ship's colour
/orbital flyspeed N|reset creative flying speed, N times vanilla's (up to 1000)
/orbital messages on|off, /orbital hud on|off the strikes' messages, the status panel
/orbital payloadsound main|alt, /orbital nukesound main|alt the Payload's or the Nuke's blast: the main one or the alternative; also the wheel's BLAST SOUND row
/orbital quality full|fast the Payload's, the Nuke's and the Rod's smoke and the Supercell's storm at full size, or at half size (faster); also the wheel's QUALITY switch
/orbital impactframes kanada|blackflash|cinematic|off the Rod from God's impact frames (a fifth of a second of hard cuts as it strikes) in one of three looks (Kanada is the default), or off; kept; also the wheel's IMPACT FX row
/orbital knockback on|off the Nuke's and the Rod's push on you as the blast reaches you (the camera's jolt stays); also the wheel's KNOCKBACK switch
/orbital follow on|off the follow camera: an orbit round the Nuke's or the Payload's bomb as it comes in. Your mouse sets the angle (the camera sits 70 blocks back along your view), it backs off as the burst nears and orbits the fireball and the cloud, then puts you back where you stood; also the wheel's FOLLOW switch. Pairs well with the Cinematic Camera key (Options > Controls > Key Binds > Miscellaneous)
/orbital follow distance N the follow camera's distance from the bomb, 10 to 400 blocks (70 by default)
/orbital seed N|lock|random hold every strike's look at seed N (1 to 997), lock it at the last strike's, or go back to a fresh one each time; also the wheel's SEED field and LOCK SEED switch
/orbital stop ends the strike under way (also the wheel's STOP STRIKE button)
/orbital skip SECONDS starts the next strike that far in, to look at one moment (terrain damage off only)

How it works has the full details of each command. To rebind R: Options → Controls → Key Binds, the Orbital Laser section at the bottom.

If something goes wrong

  • Options → Mods says orbital — Can't be read: horizon-mod.toml: capability world is for server mods. That's stock Horizon, not the Orbital Laser build: the mod is installed fine, but stock Horizon can't run it. Quit, and start the game with ./play.sh from a terminal (it finds the build in ~/horizon-orbital, or tells you how to get it).
  • No wheel, no /orbital command, or the items do nothing. You're running stock Horizon, an older fork build, or one built without --features mods (the log says this build has no mod runtime). Start the game with ./play.sh on orbital-mod-api-8 or newer. On Options → Mods, Orbital Laser's row says why if it stopped.
  • play.sh can't find the build or the resources, or says the build isn't the Orbital Laser one. Set HORIZON_ORBITAL to the folder with the build's horizon-client and horizon-ctl, and HORIZON_RESOURCES to the prepared resources. Double-clicking play.sh in a file manager may show nothing: run it from a terminal to see its messages (or read play-error.txt beside it).
  • R does nothing. Something else may use R: check Options → Controls → Key Binds (a clash is shown in yellow) and rebind it. R only opens the wheel while you play, not over another screen.
  • NO TARGET IN RANGE. You're aiming at the sky, too far, or at unloaded chunks. Past your render distance only the Mothership, the Downfall, the Planet Killer, the Crystal Bloom, the Sinkhole, the Payload, the Nuke, the Rod and the Supercell can aim, and only with LOD Distance on in Video Settings.
  • STRIKE IN PROGRESS. One strike runs at a time. Wait for it to finish.
  • No sound. Check the in-game master volume (Music & Sounds) and your system volume for the game.
  • The shaft fills with water, or ends in obsidian. It hit groundwater, and the lava at the bottom met it.

Known gaps

  • It needs a Horizon fork until Horizon adds these capabilities upstream. The ready-built fork is Linux x86-64 only.
  • Tested on Linux. Reported working on Windows 11 by a user (the fork built from source, --features mods).
  • macOS (Apple Silicon): the Downfall crashes the game. Apple's Metal shader compiler fails on its effects (XPC_ERROR_CONNECTION_INTERRUPTED in Device::create_render_pipeline), and the Nuke's can when it's the laser loaded as the game starts. The other lasers work. The fork's next release (orbital-mod-api-9) stops the crash: a pass the driver can't build is skipped and tried again later, so on those Macs the Downfall's strike may run without its visuals (the mod still needs only orbital-mod-api-8). Since 0.5.7 the mod builds a laser's effects only once you're playing, and if the game closed while it built them, the next start loads the Plasma instead and says so in chat. On 0.5.6 or older, if the game crashes every time it starts, set laser=plasma in horizon-mods/.horizon-mod-data/orbital/settings in the game folder (or delete that file).
  • Single player (or hosting LAN). The world changes need a world the game itself runs, and the effects are drawn only for the player who fired.
  • Terrain damage can't be undone. Back up the world, or switch terrain damage off.
  • Targets must be in loaded chunks. The nine long-range lasers reach 1000 blocks across the distant terrain, where the aim follows the coarser distant heights, and a crater only shows there once those chunks load.
  • Stock Horizon builds from before 24 October 2026 can run 0.1's setup (Plasma and Godly only, driven from outside the game): see How it works.

To build the mod from source or change it, see CONTRIBUTING.md.

Credits and licence

Orbital Laser is under the MIT License (LICENSE). Third-party notes are in NOTICE. It is built on Horizon by Ludovic and contributors (MIT), and the Orbital Laser build of Horizon is a fork of it.

Minecraft is a trademark and work of Mojang Studios and Microsoft. Orbital Laser is an independent fan project, not made by or affiliated with Mojang, Microsoft or Horizon's author, and it contains none of their code, textures or sounds. You need your own copy of Minecraft.

About

A terrestrial orbital laser strike for Horizon: a custom shader, synthesized sounds and a driver that carves the crater.

Topics

Resources

Contributing

Stars

95 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages