Compare commits

..
Author SHA1 Message Date
eba6978cc0 Add MineLights 2.4.0 (#136)
* Added MineLights 0.1.0

* Updated MineLights to 0.1.1

* Updated MineLights to 0.1.2

* Updated MineLights registry package to 2.3.8.5

* Updated MineLights registry package to 2.4.0

* Updated MineLights registry package for reviewed server

* Updated MineLights source revision

* Updated MineLights source revision

* Updated MineLights source revision

* Updated MineLights source revision

* Updated MineLights source revision

* Update MineLights 2.4.0 submission

* Update signed MineLights 2.4.0 package

* Clarify MineLights Horizon listing

* Clarify MineLights download notices

* Refresh MineLights 2.4.0 Horizon package

* Update MineLights 2.4.0 source revision

* Refresh signed MineLights 2.4.0 Horizon package

* Remove unreviewed MineLights versions from submission

* minelights: keep the icon in the registry, add categories

The registry requires icons/<id>.png and one to three categories. The icon
is assets/icon.png from MineLights@246c37d (128x128).

Co-Authored-By: Claude Opus 5.5 <[email protected]>

---------

Co-authored-by: Horizon agent <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-11-07 21:58:53 +01:00
levzzz 63daa89bcb Merge pull request #367 from horizon-rust/submit/right_click_crops-1.0.1
Update right_click_crops 1.0.1
2026-11-07 16:15:53 +05:00
Ludovic MarieandAyanoKaito 748c65d592 Update right_click_crops 1.0.1
Submitted by @AyanoKaito through the form.

Submission: WAZyOGCt_BUXQQkl_FVhcXCytMPmZKl59xs8ga3REfg
Co-authored-by: AyanoKaito <[email protected]>
2026-11-07 11:45:17 +01:00
Ludovic MarieandAyanoKaito 91ad350543 Update right_click_crops 1.0.1
Submitted by @AyanoKaito through the form.

Submission: WAZyOGCt_BUXQQkl_FVhcXCytMPmZKl59xs8ga3REfg
Co-authored-by: AyanoKaito <[email protected]>
2026-11-07 11:45:15 +01:00
Ludovic MarieandAyanoKaito e281e4024a Update right_click_crops 1.0.1
Submitted by @AyanoKaito through the form.

Submission: WAZyOGCt_BUXQQkl_FVhcXCytMPmZKl59xs8ga3REfg
Co-authored-by: AyanoKaito <[email protected]>
2026-11-07 11:45:13 +01:00
d3xc0andClaude 3a84022d8f Add projecte_core 0.1.0 and projecte 0.1.0 (#353)
Co-authored-by: Claude <[email protected]>
2026-11-07 09:49:30 +01:00
d3xc0 c16b061fe7 Add voltz_core 0.3.0 and voltz 0.3.0 (#349) 2026-11-07 09:49:24 +01:00
Ludovic MarieandScrapper1824 bc8fc88849 Add cpm 0.1.2 (#317)
* Add cpm 0.1.2

Submitted by @Scrapper1824 through the form.

Submission: iBeHn_t_Faw7abmIkIcqAO14pwc2wXhv9IvkJsXd0cM
Co-authored-by: Scrapper1824 <[email protected]>

* Add cpm 0.1.2

Submitted by @Scrapper1824 through the form.

Submission: iBeHn_t_Faw7abmIkIcqAO14pwc2wXhv9IvkJsXd0cM
Co-authored-by: Scrapper1824 <[email protected]>

* Add cpm 0.1.2

Submitted by @Scrapper1824 through the form.

Submission: iBeHn_t_Faw7abmIkIcqAO14pwc2wXhv9IvkJsXd0cM
Co-authored-by: Scrapper1824 <[email protected]>

* Add cpm 0.1.2

Submitted by @Scrapper1824 through the form.

Submission: iBeHn_t_Faw7abmIkIcqAO14pwc2wXhv9IvkJsXd0cM
Co-authored-by: Scrapper1824 <[email protected]>

* Add cpm 0.1.2

Submitted by @Scrapper1824 through the form.

Submission: iBeHn_t_Faw7abmIkIcqAO14pwc2wXhv9IvkJsXd0cM
Co-authored-by: Scrapper1824 <[email protected]>

* Add cpm 0.1.2

Submitted by @Scrapper1824 through the form.

Submission: iBeHn_t_Faw7abmIkIcqAO14pwc2wXhv9IvkJsXd0cM
Co-authored-by: Scrapper1824 <[email protected]>

* Add cpm 0.1.2

Submitted by @Scrapper1824 through the form.

Submission: iBeHn_t_Faw7abmIkIcqAO14pwc2wXhv9IvkJsXd0cM
Co-authored-by: Scrapper1824 <[email protected]>

* Add cpm 0.1.2

Submitted by @Scrapper1824 through the form.

Submission: iBeHn_t_Faw7abmIkIcqAO14pwc2wXhv9IvkJsXd0cM
Co-authored-by: Scrapper1824 <[email protected]>

* Add cpm 0.1.2

Submitted by @Scrapper1824 through the form.

Submission: iBeHn_t_Faw7abmIkIcqAO14pwc2wXhv9IvkJsXd0cM
Co-authored-by: Scrapper1824 <[email protected]>

* Add cpm 0.1.2

Submitted by @Scrapper1824 through the form.

Submission: iBeHn_t_Faw7abmIkIcqAO14pwc2wXhv9IvkJsXd0cM
Co-authored-by: Scrapper1824 <[email protected]>

---------

Co-authored-by: Scrapper1824 <[email protected]>
2026-11-07 09:49:11 +01:00
e349124fc4 native-compat: remove [api] and [dependencies] before horizon-mixins, as the launcher does (#364)
The launcher strips these launcher-only tables before horizon-mixins reads a
bundle's manifest (native_mods/api.rs). The check passed them through, so a
mod with a trait package (cpm, #317) failed with E_MANIFEST "unknown field api"
while players' launchers apply it. Mods with an API package are applied but
not compiled, as health already leaves them out.

Co-authored-by: Horizon agent <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-11-07 09:35:45 +01:00
Ludovic MarieandLauch2 93a328a007 Update waymap 0.2.1 (#299)
Submitted by @Lauch2 through the form.

Submission: oGhoINdrgt53euuAJhTWXZXUK9MkZDtdP-MypG3iCJs

Co-authored-by: Lauch2 <[email protected]>
2026-11-07 09:35:40 +01:00
Ludovic MarieandNirokx 597e112e2b Add schematics 1.0.0 (#312)
* Add schematics 1.0.0

Submitted by @Nirokx through the form.

Submission: IPMlWgATI24rtG-B7hYNbx7AqLk8rJAAhd9iErhagsk
Co-authored-by: Nirokx <[email protected]>

* Add schematics 1.0.0

Submitted by @Nirokx through the form.

Submission: IPMlWgATI24rtG-B7hYNbx7AqLk8rJAAhd9iErhagsk
Co-authored-by: Nirokx <[email protected]>

---------

Co-authored-by: Nirokx <[email protected]>
2026-11-07 09:32:55 +01:00
Ludovic MarieandPx228-Da-Da b0406b82f1 Add worldmap 0.6.0 (#360)
* Add worldmap 0.6.0

Submitted by @Px228-Da-Da through the form.

Submission: KK2VoWwVfpqSu7xszK-VgaJm52pu-4uf5bE9IXJ8gdY
Co-authored-by: Px228-Da-Da <[email protected]>

* Add worldmap 0.6.0

Submitted by @Px228-Da-Da through the form.

Submission: KK2VoWwVfpqSu7xszK-VgaJm52pu-4uf5bE9IXJ8gdY
Co-authored-by: Px228-Da-Da <[email protected]>

* Add worldmap 0.6.0

Submitted by @Px228-Da-Da through the form.

Submission: KK2VoWwVfpqSu7xszK-VgaJm52pu-4uf5bE9IXJ8gdY
Co-authored-by: Px228-Da-Da <[email protected]>

* Add worldmap 0.6.0

Submitted by @Px228-Da-Da through the form.

Submission: KK2VoWwVfpqSu7xszK-VgaJm52pu-4uf5bE9IXJ8gdY
Co-authored-by: Px228-Da-Da <[email protected]>

* Add worldmap 0.6.0

Submitted by @Px228-Da-Da through the form.

Submission: KK2VoWwVfpqSu7xszK-VgaJm52pu-4uf5bE9IXJ8gdY
Co-authored-by: Px228-Da-Da <[email protected]>

* Add worldmap 0.6.0

Submitted by @Px228-Da-Da through the form.

Submission: KK2VoWwVfpqSu7xszK-VgaJm52pu-4uf5bE9IXJ8gdY
Co-authored-by: Px228-Da-Da <[email protected]>

* Add worldmap 0.6.0

Submitted by @Px228-Da-Da through the form.

Submission: KK2VoWwVfpqSu7xszK-VgaJm52pu-4uf5bE9IXJ8gdY
Co-authored-by: Px228-Da-Da <[email protected]>

* Add worldmap 0.6.0

Submitted by @Px228-Da-Da through the form.

Submission: KK2VoWwVfpqSu7xszK-VgaJm52pu-4uf5bE9IXJ8gdY
Co-authored-by: Px228-Da-Da <[email protected]>

---------

Co-authored-by: Px228-Da-Da <[email protected]>
2026-11-07 09:32:21 +01:00
Ludovic Marieandtomasmendes01 b10af101ed Add spotify_hud 1.0.0 (#295)
* Add spotify_hud 1.0.0

Submitted by @tomasmendes01 through the form.

Submission: KwuGkwkpwCQK2jhNI8FqpOPm9OVtaP6mmH6R1vdmwmU
Co-authored-by: tomasmendes01 <[email protected]>

* Add spotify_hud 1.0.0

Submitted by @tomasmendes01 through the form.

Submission: KwuGkwkpwCQK2jhNI8FqpOPm9OVtaP6mmH6R1vdmwmU
Co-authored-by: tomasmendes01 <[email protected]>

* Add spotify_hud 1.0.0

Submitted by @tomasmendes01 through the form.

Submission: KwuGkwkpwCQK2jhNI8FqpOPm9OVtaP6mmH6R1vdmwmU
Co-authored-by: tomasmendes01 <[email protected]>

* Add spotify_hud 1.0.0

Submitted by @tomasmendes01 through the form.

Submission: KwuGkwkpwCQK2jhNI8FqpOPm9OVtaP6mmH6R1vdmwmU
Co-authored-by: tomasmendes01 <[email protected]>

---------

Co-authored-by: tomasmendes01 <[email protected]>
2026-11-07 09:31:31 +01:00
Ludovic Marieandluhnox 635cdd6c2c Add seedcrackerx 0.2.3 (#280)
* Add seedcrackerx 0.2.3

Submitted by @luhnox through the form.

Submission: 9eVbRNl_6QYJMiT-wO3i8P72MrOJTz9rlxDC_ZHD5E4
Co-authored-by: luhnox <[email protected]>

* Add seedcrackerx 0.2.3

Submitted by @luhnox through the form.

Submission: 9eVbRNl_6QYJMiT-wO3i8P72MrOJTz9rlxDC_ZHD5E4
Co-authored-by: luhnox <[email protected]>

---------

Co-authored-by: luhnox <[email protected]>
2026-11-07 09:31:26 +01:00
Ludovic Marieandoxi-does-dev 91b1cef4b2 Add hud_plus 4 (#347)
* Add hud_plus 4

Submitted by @oxi-does-dev through the form.

Submission: E7QvlGS8WgWudmiynwnyKWatgHM2Heg8Ur8C4te986M
Co-authored-by: oxi-does-dev <[email protected]>

* Add hud_plus 4

Submitted by @oxi-does-dev through the form.

Submission: E7QvlGS8WgWudmiynwnyKWatgHM2Heg8Ur8C4te986M
Co-authored-by: oxi-does-dev <[email protected]>

---------

Co-authored-by: oxi-does-dev <[email protected]>
2026-11-07 09:29:58 +01:00
Ludovic MarieandDenoxyYT 1858aa143c Add ayynoxs_map_pack 0.4.2 (#301)
* Add ayynoxs_map_pack 0.4.2

Submitted by @DenoxyYT through the form.

Submission: M1rGfhQ8WOukC1_9Hqji6xN1S9n7BeLUbqJ2VaYFHrY
Co-authored-by: DenoxyYT <[email protected]>

* Add ayynoxs_map_pack 0.4.2

Submitted by @DenoxyYT through the form.

Submission: M1rGfhQ8WOukC1_9Hqji6xN1S9n7BeLUbqJ2VaYFHrY
Co-authored-by: DenoxyYT <[email protected]>

---------

Co-authored-by: DenoxyYT <[email protected]>
2026-11-07 09:26:04 +01:00
Danil Sheremetyev 93fbabcb60 Add PVP Music 1.2.0 (native port) (#333)
* Add PVP Music 1.2.0 registry entry

* Add PVP Music icon
2026-11-07 09:20:24 +01:00
Danil Sheremetyev aff9324c5c Add fast_trading 1.0.0 (#328)
* Add fast_trading 1.0.0

* Add fast_trading icon

* fix sha256 for rebuilt mixins-layout hnmod
2026-11-07 09:19:33 +01:00
Ludovic MarieandStink-O da49d87193 Add orbital 0.5.10 (#343)
* Add orbital 0.5.10

Submitted by @Stink-O through the form.

Submission: UhxCJpE6NeGS2rlo4B0KBaacOmRp-aYkbPXTW3_gGjA
Co-authored-by: Stink-O <[email protected]>

* Add orbital 0.5.10

Submitted by @Stink-O through the form.

Submission: UhxCJpE6NeGS2rlo4B0KBaacOmRp-aYkbPXTW3_gGjA
Co-authored-by: Stink-O <[email protected]>

* Add orbital 0.5.10

Submitted by @Stink-O through the form.

Submission: UhxCJpE6NeGS2rlo4B0KBaacOmRp-aYkbPXTW3_gGjA
Co-authored-by: Stink-O <[email protected]>

* Add orbital 0.5.10

Submitted by @Stink-O through the form.

Submission: UhxCJpE6NeGS2rlo4B0KBaacOmRp-aYkbPXTW3_gGjA
Co-authored-by: Stink-O <[email protected]>

* Add orbital 0.5.10

Submitted by @Stink-O through the form.

Submission: UhxCJpE6NeGS2rlo4B0KBaacOmRp-aYkbPXTW3_gGjA
Co-authored-by: Stink-O <[email protected]>

* Add orbital 0.5.10

Submitted by @Stink-O through the form.

Submission: UhxCJpE6NeGS2rlo4B0KBaacOmRp-aYkbPXTW3_gGjA
Co-authored-by: Stink-O <[email protected]>

---------

Co-authored-by: Stink-O <[email protected]>
2026-11-07 09:19:01 +01:00
Ludovic MarieandJoeypc6 83886de13c Add ae2 15.4.14 (#340)
* Add ae2 15.4.14

Submitted by @Joeypc6 through the form.

Submission: OzOvPXHw2IN0HTSD1M-b8-tMaqNjG8-uOGcXwSNsdR0
Co-authored-by: Joeypc6 <[email protected]>

* Add ae2 15.4.14

Submitted by @Joeypc6 through the form.

Submission: OzOvPXHw2IN0HTSD1M-b8-tMaqNjG8-uOGcXwSNsdR0
Co-authored-by: Joeypc6 <[email protected]>

---------

Co-authored-by: Joeypc6 <[email protected]>
2026-11-07 09:17:08 +01:00
58 changed files with 726 additions and 3 deletions

No files matched your search

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

+59
View File
@@ -0,0 +1,59 @@
id = "ae2"
kind = "native-mod"
name = "Applied Energistics 2"
summary = "Unofficial port of Applied Energistics 2 15.4.12: ME networks, autocrafting, spatial storage and more."
description = """
An unofficial port of Applied Energistics 2 15.4.12 to Horizon, not made or endorsed by its authors. Please report problems to this port, not to them.
Rewritten in Rust: ME networks, storage cells, autocrafting, the cable bus with facades, P2P tunnels, spatial storage, the guide and the Fluix Researcher.
**One file, no separate content mod.**
### Optional integrations
Each is compiled in only when its mod is in the same build, so adding or removing JEI or Jade takes effect at the next build.
- **With JEI:** AE2's recipes and information pages, "+" transfer into terminals, and dragging items onto config slots.
- **With Jade:** network state, channels, P2P links, charge, crafting and stored power.
### Missing or not the same
- **No spatial dimension.** Horizon mods can't add one. A player in a spatial cell goes to a walled plot far out in the End, so `/tp` and F3 say `minecraft:the_end`. A swap with a player takes up to about a second.
- **No Java addons.** AE2's Java API isn't available, and the integrations work only with the Horizon ports of JEI and Jade.
- **Two storage buses on one inventory:** only the first reaches it.
- **Moving items** costs power through terminals, interfaces, export buses and wireless terminals. An IO port and the crafting terminal's refills pay nothing yet.
- **Power** is judged once a second, so a network with too little goes down at the next look and comes back after about 40 ticks, where AE2's is at once and 32.
- **Unformed crafting, quantum and spatial blocks** join a network before they're formed.
- **Autocrafting gaps:** a pattern input of more than one is a single template, so some plans report items missing that AE2 would find. Blocking mode looks at all six sides, provider priority is ignored, and a machine's request for more than it can make crafts nothing.
- **Other differences:** machines have 6 or 4 orientations rather than 24, menus are in English, fluix tools are diamond tools, and guide scenes have no annotations.
- **Crafting ETA is an estimate:** 1.1% off on average on the test rig, 2.0% at worst.
- **Nested P2P error** is an approximation.
- **World height:** parts on cables assume -64 to 319.
The Fluix Researcher and its trades rely on mixins, so they are the part most likely to break on a Horizon update.
### Tested
Tested on Horizon commit 6475f62, on Windows, in single player, on LAN with one guest, and on a dedicated server with one client, including attacks by a non-operator with a modified client. This version is built for Horizon commit 66f3981, where AE2 alone compiles but hasn't been run, and the JEI and Jade integrations haven't been compiled. Other platforms, more than one guest, pipes from other mods and speed against the Java mod were not tested.
### Known issue
In some test runs, placing a part into a cable cell did nothing. It isn't one specific part, and it's probably lost test clicks, but that isn't proven.
Textures and models are CC BY-NC-SA 3.0: noncommercial use only."""
authors = ["AlgorithmX2", "TeamAppliedEnergistics", "Joeypc6"]
owners = ["Joeypc6"]
owner_ids = [35495484]
license = "LGPL-3.0-only AND CC-BY-NC-SA-3.0"
source = "https://github.com/Joeypc6/AE2-Horizon"
icon = "icons/ae2.png"
categories = ["technology", "utility", "storage"]
tags = ["ae2", "applied-energistics", "storage", "autocrafting", "automation"]
[[versions]]
version = "15.4.14"
published = "2026-11-06"
game = "26.3"
file = "ae2-15.4.14.hnmod"
sha256 = "584ec574b2620ccb9810a61f30b8bc4e639b5bf819bef7c3612835efbbdc278f"
changelog = """
First release on the registry, ported from AE2 15.4.12 (Fabric). 15.4.14 is this port's own version number, not an AE2 release.
Built for Horizon commit 66f3981. It compiles on that Horizon but wasn't run there; it was last tested on 6475f62.
One file: the blocks, items and textures, and the JEI and Jade integrations, are all in this mod. This replaces the earlier submissions, and fixes the `ae2:debug` vulnerability reported on them, along with others found by further reviews, and many defects from an outside review (PLAN.md, Rounds 24 to 26)."""
+54
View File
@@ -0,0 +1,54 @@
id = "ayynoxs_map_pack"
kind = "native-mod"
name = "ayynoxs map pack"
summary = "Minimap and full-screen world map with waypoints, cave layers and opt-in map sharing between players."
description = """
A **minimap** and a **full-screen world map** for Horizon, written from scratch as a native mod. Inspired by the well-known Java map mods, but no code or graphics are taken from them.
## ayynoxs minimap
- Built on Horizon's own minimap renderer, with coordinates and facing direction below it
- Square or round, north-up or rotating, 4 sizes, zoom with `I` / `O`
- **Waypoints:** `B` opens a window for the name, `Backspace` removes the one you aim at. They show on the minimap, on the world map and in the world with their distance in metres.
- Automatic death point
- Chat commands: `/wp add|del|rename|share|sync|list|clear|help`
## ayynoxs world map
- Full-screen map on `M`: drag or WASD to pan, wheel to zoom
- Drawn like a vanilla map item, one block per cell
- Saves every chunk you explore, per world/server, dimension and layer
- Same layers as the minimap: the surface outside, your head height in caves and in the Nether
## Sharing (off by default)
- `/wp share <nr> <player>` sends a waypoint as a private message, on any server. Only private messages to you can add waypoints.
- Live map sharing is **off by default** and chosen per server with `/wp sync on|off`. When on, explored chunks and new waypoints go to the other players who turned it on, through a Horizon host (co-op/LAN, Horizon servers) or the AyynoxsMapSync plugin on Paper servers.
- What arrives is limited: only your current level, within 2048 blocks of you, at most 1000 waypoints per world.
Languages: English (default), Deutsch, Français, Italiano, Русский.
## What it does and doesn't
- **Hooks:** the native hook points (frame, tick, HUD, keys, commands, minimap, settings, mods list, screen keys and characters, mod messages, player join/leave), plus the Advancements screen's draw, mouse, scroll and close (the world map is drawn in its place), `extras_connecting` (the server address, for the map's folder) and the chat HUD's `add` / `add_signed` (to hide shared-waypoint private messages).
- **Files:** writes only under `horizon-mods/.horizon-mod-data/ayynoxs_minimap/` (settings, waypoints) and `ayynoxs_worldmap/` (map tiles).
- **Network:** no internet access. It only sends Horizon mod messages on `ayynoxs_map:sync` to the server you play on (shares only after `/wp sync on`), and `/msg` commands you start yourself with `/wp share <nr> <player>`.
- Pinned to nightly `6475f62` (2026-11-04)."""
authors = ["DenoxyYT (Ayynox)"]
owners = ["DenoxyYT"]
owner_ids = [94991632]
license = "MIT"
source = "https://github.com/DenoxyYT/ayynoxs-map-pack"
icon = "icons/ayynoxs_map_pack.png"
categories = ["utility", "adventure", "social"]
tags = ["minimap", "world", "map", "waypoints", "multiplayer"]
[[versions]]
version = "0.4.2"
published = "2026-11-05"
game = "26.3"
file = "ayynoxs_map_pack-0.4.2.hnmod"
sha256 = "d5cef20531720a594969b7b7acfd20d2d32d644d7b0ae230dd68a46f98172371"
changelog = """
Changes from the review of 0.4.1:
- Map sharing is off by default and chosen per server: /wp sync on (or the setting) turns it on. When a server can pass shares on, the pack says so once in chat.
- Waypoints arrive only through private messages to the player (commands.message.display.incoming); the marker in public chat does nothing.
- Shared chunks are taken only for the player's current level, a real layer and within 2048 blocks of the player; shared waypoints stop at 1000 per world.
Also: the world map is drawn like a map item again (one block per cell), which is cheaper while dragging.
Built for Horizon nightly 6475f62 (2026-11-04)."""
+33
View File
@@ -0,0 +1,33 @@
id = "cpm"
kind = "native-mod"
name = "CustomPlayerModels-Horizon"
summary = "Customize your Minecraft avatar with custom models and animations"
description = """
#For version "Nightly 2026-11-01 c9d474d"
CustomPlayerModels-Horizon allows you to use custom player models and animations directly in Minecraft. Customize your avatar with unique shapes, extra parts, and glowing textures.
## How to use
go to options > mods > CPM-settings and add some models, and load it onto your character. when in game you can also use gestures with G and in the same menu pick different models"""
authors = ["Scrapper1824", "Claude"]
owners = ["Scrapper1824"]
owner_ids = [72410525]
license = "MIT"
source = "https://github.com/Scrapper1824/CustomPlayerModels-Horizon"
icon = "icons/cpm.png"
categories = ["utility", "decoration", "social"]
tags = ["cpm", "player-models", "skin", "cosmetics", "animations", "avatar", "customization", "model", "gestures"]
screenshots = ["screenshots/cpm/1.jpg", "screenshots/cpm/2.jpg", "screenshots/cpm/3.jpg", "screenshots/cpm/4.jpg", "screenshots/cpm/5.jpg", "screenshots/cpm/6.jpg", "screenshots/cpm/7.jpg", "screenshots/cpm/8.jpg"]
key = "RWTyJv27brzr+KJFfhEDz5Xv/sZ5igWtmwk8cWeHQJXzh147Ptab6NcX"
[[versions]]
version = "0.1.2"
published = "2026-11-06"
game = "26.3"
file = "cpm-0.1.2.hnmod"
sha256 = "33725ad0ab212719107355223849b2c26a628551714d70fb44f10f55f79cdca3"
signature = """
untrusted comment: signature from minisign secret key\r
RUTyJv27brzr+PDmXA1VqZ7YKJ5vOFO+0aAAx90yLDVaRfOaIKj0wy2WlrolYkrp/WuIeaM3/zvBune89B0JmibKuzI937MQow4=\r
trusted comment: timestamp:1793941342\tfile:cpm.hnmod\r
zdDAovasHJ8fJKFR8YlrwkgdlxrjaY0XTw/fULMyceAKY2LXiJbTTu3bqsGbaYe7Q8ZSqjVUs2OCihSNPsnhBg=="""
changelog = "first release"
+30
View File
@@ -0,0 +1,30 @@
## Horizon registry entry for Fast Trading (port of bendy1234/FastTrading).
id = "fast_trading"
kind = "native-mod"
name = "Fast Trading"
summary = "A speed-trade button on the merchant screen repeats the selected trade as fast as the settings allow."
description = """
**A native Horizon mod**: the launcher builds it into the game (install it on the launchers Mods page, then press Build there). Native mods are not sandboxed and run with your accounts rights, so read the source before you build it. Pinned to the Horizon tree this was built against.
- Speed trade button on the merchant screen repeats the selected trade quickly.
- Settings control how fast it repeats; a command opens the controls.
Port of [FastTrading](https://github.com/bendy1234/FastTrading) by bendy1234 (MIT); credited upstream, original license preserved. Feature gaps vs upstream are documented in the port README and tracked on horizon-rust/horizon.
"""
authors = ["sparticle62ops"]
owners = ["sparticle62ops"]
owner_ids = [209812745]
license = "MIT"
source = "https://github.com/Sparticle62ops/horizon-fast-trading"
categories = ["utility"]
tags = ["trading", "villagers", "gui", "qol"]
icon = "icons/fast_trading.png"
[[versions]]
published = "2026-11-06"
version = "1.0.0"
game = "26.3"
file = "fast_trading-1.0.0.hnmod"
sha256 = "0e215cd7eab59d37d235d8a97dd26608aa8a77c087df703143f0ef3c0bc40938"
changelog = "First release: trade-repeat loop on the merchant screen, command + frame + draw hooks wired."
+44
View File
@@ -0,0 +1,44 @@
id = "hud_plus"
kind = "native-mod"
name = "HUD+"
summary = "One fully configurable HUD with a drag-and-drop editor and four views per module."
description = """
HUD+ is one configurable HUD for Horizon, with an in-game drag-and-drop layout editor.
Every module has four views: **Minimal**, **Compact**, **Standard** and **Full**. `Standard` follows the module's own switches; the other three are presets. A profile picks a view for all modules: Minimal gives Minimal, PvP gives Compact, the rest give Standard.
- **AppleSkin** — the original mod's look: golden saturation outlines over the hunger icons and the food/saturation a held item would restore flashing on the same bar. Minimal draws the outlines only, Compact adds food numbers, Full adds saturation, exhaustion, regeneration and the item preview.
- **Effects** — names, amplifiers, remaining time, sorting, grouping, an expiring-only filter and warning colours; can hide vanilla's icons. Minimal shows three rows of icons only, Compact adds names and time up to six rows, Full shows everything without a limit.
- **Inventory, armour and held items** — the whole inventory, hotbar, armour and offhand, stack counts, durability bars or percentages, the selected slot, arrows and totems. Minimal is the hotbar alone, Compact adds counts and a durability bar, Full adds the grid, armour, offhand and empty slots.
- **Coordinates** — XYZ, facing and yaw, chunk, dimension, and the same place in the other dimension. Minimal is XYZ, Compact adds facing, Full adds chunk, dimension, the Nether equivalent and yaw.
- **Keystrokes** — WASD, space, sneak, sprint, mouse buttons and CPS. Minimal is WASD, Compact adds the mouse, Full adds space, sneak, sprint and CPS.
- **Performance and time** — FPS, frame time, 1% low, world clock and day, local time and date, speed. Minimal is FPS, Compact adds the clock, Full adds frame time, the 1% low, real time and speed.
- **Player vitals, food tooltips, durability tooltips.** Minimal is health, Compact adds food and bars, Full adds absorption, armour, air and XP.
- **The vanilla HUD** — every widget (crosshair, hotbar, health and hunger, XP, effect icons, boss bars, chat, scoreboard and the rest) can be moved and scaled on a `Vanilla` page in the editor.
Settings open as one compact, scrollable panel on the right: General, every module, Vanilla HUD and tooltips are on a single screen, the world stays visible, and each module has its view, anchor, scale, background, border and module-specific options inline. Five profiles (Default, Minimal, PvP, Builder, Streamer) and six themes set everything at once. `H` opens the layout editor, `N` settings, `V` the vanilla layout page; `/hudplus on|off|layout|settings|reset|profile|theme` also work. Configuration lives in `config/hud_plus.json`.
HUD+ only draws. It has no network code, no packets, no second process and no movement, attack or use calls; `check_client_only.py` scans every source for them and CI fails the build if one appears. A wire-level audit (`tools/packet_audit.py`) records a stock Horizon client and the HUD+ build on the same fresh server behind a decoding proxy, and the two captures match packet for packet. The mod is compiled into the client (not a file in `mods/`), and a client-only HUD is never named in `horizon:mod_list`. It is provided as is under the MIT licence, without warranty; players are responsible for checking that a server's rules allow the modules they turn on.
Native mod: the launcher builds it into the game on the pinned Horizon Nightly. Uses the saturation art of [squeek502/AppleSkin](https://github.com/squeek502/AppleSkin) (Unlicense)."""
authors = ["oxi-does-dev"]
owners = ["oxi-does-dev"]
owner_ids = [318972665]
license = "MIT"
source = "https://github.com/oxi-does-dev/hud-plus"
icon = "icons/hud_plus.png"
categories = ["utility"]
tags = ["hud", "ui"]
[[versions]]
version = "4"
published = "2026-11-06"
game = "26.3"
file = "hud_plus-4.hnmod"
sha256 = "0f94e0502ccd6a2b4905d4f4e41073e06726cb7ce50cd0d9ec1035841d72a957"
changelog = """
Four views for every module — Minimal, Compact, Standard and Full. Standard keeps the module's individual switches; the other three are presets, so one row under N makes a module tiny, tidy or exhaustive. Profiles pick a view for all modules (Minimal gives Minimal, PvP gives Compact, the rest Standard).
Also adds an Off setting for effect timers and a separate inventory-grid switch (Minimal keeps only the hotbar), tightens the held/armour rows for the compact views, drops the full-screen sleep overlay from the Vanilla page because there is nothing to move or scale in it, and makes snap-to-grid move modules around their own default offset so dragging one back restores its exact default position.
Settings now open as one compact, scrollable panel on the right instead of a list of module pages: General, every module, Vanilla HUD and Tooltips are on a single screen, the world stays visible behind it, and each module keeps its own switches inline. Clicking a row on the Vanilla page now selects the widget actually under the pointer (the list treated its header as a row), Subtitles start where the captions are drawn and move and scale with the rest of the vanilla HUD, and a configuration change made from chat reaches the HUD immediately. AppleSkin keeps its icons on the vanilla hunger bar when the food numbers make the box wider, and centres those numbers over the icons."""
+34
View File
@@ -0,0 +1,34 @@
id = "minelights"
kind = "native-mod"
name = "MineLights"
summary = "MineLights is a Minecraft mod that brings RGB lighting integrations to Minecraft Java Edition and Horizon."
description = """
MineLights is a Minecraft Fabric, Quilt, Forge, NeoForge and Horizon mod that brings your world to life with dynamic RGB lighting effects for your peripherals. Effects respond to your environment, weather and player status; keyboard lighting can also display health, hunger, experience and a compass.
Configure MineLights through Horizon's Mods menu. OpenRGB devices and Yeelight bulbs can connect directly. Other supported RGB devices use [MineLights Server](https://github.com/megabytesme/MineLights-Server).
MineLights connects to local RGB services and may discover Yeelight bulbs on the local network. MineLights Server uses encrypted, authenticated connections and supports optional pairing with servers on other computers. On Windows, Horizon's server option is off by default. If you opt in and confirm, it can download and launch the reviewed MineLights Server v2.4.0 after verifying its pinned SHA-256. Current clients use authenticated V2; older clients may use loopback-only V1 after explicit approval. You can also install and start the server yourself. Configurable chat notices report a missing server, download start, in-progress status when you join a world during an existing download, and whether the server started or needs a restart when the download finishes; update checks read release metadata without downloading an update.
This is the Horizon port of [MineLights](https://github.com/megabytesme/MineLights), by MegaBytesMe. As a native mod, it is built into the game and runs with the player's account permissions.
"""
authors = ["MegaBytesMe"]
owners = ["megabytesme"]
license = "CC-BY-NC-SA-4.0"
source = "https://github.com/megabytesme/MineLights/tree/246c37d4c0c29832fb66236a366265e20a0c70f2/horizon"
icon = "icons/minelights.png"
categories = ["utility", "technology"]
key = "RWQXM9P921f9AnO4kAKnVMu+2UdAr6BeAdM70P6PjbT7xxxmJbVb/qlN"
[[versions]]
version = "2.4.0"
published = "2026-11-07"
game = "26.3"
file = "minelights-2.4.0.hnmod"
sha256 = "87fda49af7960a44870bc87c9462b802a28c6df74e70341232f52efca11fd15a"
signature = """
untrusted comment: signature from minisign secret key
RUQXM9P921f9AgU6Svgj11s2TI81XGDIpMoIY4FSBPEBVq9Bi8gfSfo18sN2oLqct85U8dEr5GVbVenTrtqDRmRyXj9W8gbdhwI=
trusted comment: MineLights Horizon native mod 2.4.0
eJMjw30In2YnoOLLAh3vJTJ8ianrENm3766GtwRD89beMA05QSlDSfdwBVcjgeoaJTDiT9WwNvn3rKi/NncqCg==
"""
changelog = "Use authenticated V2 connections in Horizon and Java, preserve opt-in V1 support for older clients, add shared-provider priorities and safe shutdown, restore Horizon OpenRGB device state safely, add configurable server download notices, pin the reviewed MineLights Server 2.4.0 release, and fix Windows server-operation locking."
+48
View File
@@ -0,0 +1,48 @@
id = "orbital"
kind = "native-mod"
name = "Orbital Laser"
summary = "Fifteen orbital strikes, from a laser to a Planet Killer: a designator, a wheel, and craters that stay."
description = """
By Stink-O. Orbital Laser adds an Orbital Laser Designator. Aim it and hold right-click to call down one of fifteen orbital strikes (hold it and press R for the laser wheel, or type `/orbital wheel`), each with its own sky, sound and scar: the Orbital Laser, the Godly Laser, a Black Hole, the Meteor Storm, the Mothership, the Downfall, the Planet Killer, the Crystal Bloom, the Sinkhole, the Payload, the Nuke, the Rod from God, the Supercell, the Hurricane and the Tsunami. The wheel also sets your creative flying speed and the strike's approach, arrival and colours.
**Read before you fire**
- **Terrain damage is permanent.** A strike flattens and digs out the land, up to hundreds of blocks across, and kills the mobs and dropped items nearby (not players). Use a throwaway world. `/orbital terrain off` (or the wheel's centre) makes strikes light and sound only.
- **Photosensitivity.** The Rod from God has ~0.17 s of stark impact frames as it strikes, and several strikes (the Planet Killer, the Hurricane and the Supercell among them) have lightning and flashes, and the Tsunami's blow, as the water takes you, is one white flash over the whole picture. `/orbital impactframes off` (the wheel's IMPACT FX switch) turns the impact frames off. If flashing light affects you, skip those strikes.
- **Big strikes are heavy.** QUALITY FAST (the default) draws the smoke at half size; `/orbital quality full` for the full look.
**Native mod.** The mod's code is compiled into the game, runs with the access the game has to your computer, and is not sandboxed, so install it only if you trust it. The launcher shows its trust notice and waits for you to press Build; the first native build downloads the launcher's Rust and takes 20 to 30 minutes. Pick **Release build** on the Native build row first: it builds more slowly, but the game runs noticeably faster. It builds on the Horizon revision it was tested on, whatever Nightly you have.
What each system needs first:
- **Linux** (x86-64), tested: a C compiler, `pkg-config` and the ALSA and libudev development files (Debian/Ubuntu: `sudo apt install build-essential pkg-config libasound2-dev libudev-dev`); the launcher names what is missing.
- **Windows** (x64), build-checked, not yet played: nothing; the launcher brings its own Rust and MinGW-w64.
- **macOS** (Apple Silicon), build-checked, not yet played: Apple's Command Line Tools (`xcode-select --install`).
- **macOS** (Intel): not available; the launcher can't build native mods there.
**One file for code and content.** The game reads content mods only from `horizon-mods/`, so this mod carries a small mixin (`content_find`, on `horizon_mods::manifest::find`) that has the game read its content (`horizon-mod.toml`, `assets/`, `data/`) from its own `horizon-native-mods/orbital.hnmod` too. It writes and copies nothing, and steps aside when a content mod `orbital` is already in `horizon-mods/`. It goes away once the game reads content from native files (horizon-rust/horizon#5865).
Known issues:
- On Macs the Downfall's effects don't draw: Apple's Metal compiler fails on its pass, so you get its land and sound but not its visuals. Every other strike drew on the Macs it was tried on.
- Multiplayer and LAN haven't been tested on the native build; it's made for single player. On a server or LAN host, only a level 4 operator can fire strikes that change the world.
- Each new version rebuilds the game (the first build 20 to 30 minutes, later ones quicker), unlike a plain mod.
Items, models, textures and sounds are the mod's own: nothing from Minecraft is in it. An independent fan project, not affiliated with Mojang, Microsoft or the Horizon project. Source, screenshots, how it works and the full command list: https://github.com/Stink-O/orbital-laser"""
authors = ["Stink-O"]
owners = ["Stink-O"]
owner_ids = [180130752]
license = "MIT"
source = "https://github.com/Stink-O/orbital-laser"
icon = "icons/orbital.png"
categories = ["equipment", "game-mechanics"]
tags = ["laser", "explosions", "destruction", "shaders"]
screenshots = ["screenshots/orbital/1.jpg", "screenshots/orbital/2.jpg", "screenshots/orbital/3.jpg", "screenshots/orbital/4.jpg"]
[[versions]]
version = "0.5.10"
published = "2026-11-06"
game = "26.3"
file = "orbital-0.5.10.hnmod"
sha256 = "f860b61f2c54cc4efd6e6373054858768b0fd829afc0b59c60893a556ef4da63"
changelog = "Adds the Tsunami, the fifteenth strike. Switching lasers no longer hitches the game, and a long stall no longer ends a strike. World changes from a client now need operator level 4, a guest's /orbital no longer changes the host's game, and it's built on Horizon e57b1d34b, so far terrain shows what strikes did and the hand draws during the Hurricane."
+26
View File
@@ -0,0 +1,26 @@
id = "projecte"
kind = "mod"
name = "ProjectE for Horizon (assets)"
summary = "The blocks, items, textures, text and recipes of ProjectE for Horizon. Needs the native mod."
description = """
**This is one of the two parts of [ProjectE for Horizon](https://playhorizon.dev/mods/projecte_core), and does little alone.** Install both: this one, the assets, and the native part.
It holds the blocks, items, creative tab, textures, text and recipes. It has no code. The code, and the description of what the mod does, are in the native part.
An unofficial port of [ProjectE](https://github.com/sinkillerj/ProjectE) (MIT, Copyright (c) 2020 Sin Tachikawa); its recipes and names are used under that licence. The textures are original work made for this port, inspired by ProjectE's look; ProjectE's and EE2's art isn't included. No Minecraft assets are included. MIT licensed."""
authors = ["Arthur Black"]
owners = ["d3xc0"]
owner_ids = [136307382]
license = "MIT"
source = "https://github.com/d3xc0/projecte-horizon"
icon = "icons/projecte.png"
categories = ["technology", "library"]
tags = ["emc", "transmutation", "assets"]
[[versions]]
version = "0.1.0"
published = "2026-11-06"
game = "26.3"
file = "projecte-0.1.0.hmod"
sha256 = "da08dffc1d021463e43576db233bc79e943aaf4e76a8a1ea37b66aa8ebab883f"
changelog = "First release."
+43
View File
@@ -0,0 +1,43 @@
id = "projecte_core"
kind = "native-mod"
name = "ProjectE for Horizon"
summary = "Unofficial port of ProjectE: EMC, transmutation tables, collectors, condensers, dark and red matter tools and armour."
description = """
**This mod has two parts, and you need both.** Install this one, the native part, and [ProjectE for Horizon (assets)](https://playhorizon.dev/mods/projecte), then press Build.
An **unofficial** port of [ProjectE](https://github.com/sinkillerj/ProjectE) to Horizon. It isn't made or supported by the ProjectE team, so please report its bugs here, not to them.
Break items down into EMC and turn that EMC into new items:
- **Transmutation Table and Tablet**: burn an item to learn it and gain its EMC, then make more of anything you've learned. Your EMC and knowledge are saved per player.
- **Philosopher's Stone**: changes blocks in the world, with charge and modes, and works as a crafting tool.
- **EMC devices**: Energy Collectors MK1-3, Anti-Matter Relays MK1-3, Energy Condensers MK1 and MK2, Dark and Red Matter Furnaces, Klein Stars.
- **Fuels and matter**: Alchemical Coal, Mobius and Aeternalis Fuel, Dark and Red Matter, covalence dusts.
- **Gear**: unbreakable dark and red matter tools that dig wider as they charge, the katar and morning star, dark matter, red matter and gem armour.
- **Trinkets**: rings, stones, amulets, the Repair Talisman, Gem of Eternal Density, Watch of Flowing Time, divining rods, lenses, the pedestal, the Interdiction Torch, Nova explosives, Alchemical Chest and the 16 Alchemical Bags.
Keys: V charge, G mode, C extra function, R fire projectile.
The menus are chest and furnace screens, not ProjectE's own. Some things are simplified or missing: Swiftwolf's Rending Gale gives speed and slow falling, not flight; projectiles act at once; rings cost no EMC; the Mercurial Eye isn't ported. EMC values are a fixed table worked out from ProjectE's defaults, so they don't adapt to other mods. The [README](https://github.com/d3xc0/projecte-horizon#simplified-or-left-out) has the full list.
Native source mod: install it on the launcher's Mods page, press Build there, and confirm the native-code warning. It runs with your account's permissions.
**Credits.** All credit for the design goes to [ProjectE](https://github.com/sinkillerj/ProjectE) (MIT, Copyright (c) 2020 Sin Tachikawa) by SinKillerJ, pupnewfster, MaPePeR, MozeIntel and its contributors, a rewrite of Equivalent Exchange 2 by x3n0ph0b3. Its recipes, EMC conversions and names are used under its MIT licence; see [CREDITS.md](https://github.com/d3xc0/projecte-horizon/blob/main/CREDITS.md).
The textures are original work made for this port, inspired by ProjectE's look; ProjectE's and EE2's art isn't included. No Minecraft code or assets are included. MIT licensed."""
authors = ["Arthur Black"]
owners = ["d3xc0"]
owner_ids = [136307382]
license = "MIT"
source = "https://github.com/d3xc0/projecte-horizon"
icon = "icons/projecte_core.png"
categories = ["technology", "game-mechanics", "magic"]
tags = ["emc", "transmutation", "alchemy", "tools"]
[[versions]]
version = "0.1.0"
published = "2026-11-06"
game = "26.3"
file = "projecte_core-0.1.0.hnmod"
sha256 = "ea0cd9cdb85cb8f3bd9f35a99d7b2c8e4f95ea2c0ba321509be02ee8f4b3df85"
changelog = "First release. Tested on Horizon Nightly 66f3981 and Horizon Mixins e8cd0aa."
+34
View File
@@ -0,0 +1,34 @@
## Horizon registry entry for PVP Music (port of the Modrinth project PvP Music, Tkf0xIjA).
id = "pvp_music"
kind = "native-mod"
name = "PVP Music"
summary = "Battle music during combat: fades, death fades and the phased two-half track switch, the original's behavior kept."
description = """
**A native Horizon mod**: the launcher builds it into the game (install it on the launcher's Mods page, then press Build there). Native mods are not sandboxed and run with your account's rights, so read the source before you build it. Pinned to the Horizon tree this was built against.
- Mutual-combat detection: attacks on and by players and mobs are remembered for 5 s; a mob we hit that then hits us starts a mob battle.
- A landed hit on a player starts a player battle; explosion and bad-respawn-point hurts pull in combat within 12 blocks; a wither within 30 blocks starts a fight.
- The battle track fades in and out, death fades run at the configured multiplier, and the phased two-half music switches at low health on a beat. Battles of 30 s or more end with the short end sound, of 60 s or more with the long end sound.
- `/pvpmusic` drives every setting the original's config screen kept.
Sounds: the `.hnmod` carries code only, so the four tracks ship as a companion resource pack on the same release (`pvp-music-sounds-1.2.0.zip`, the original's CC0 assets). Install it as a resource pack and the music plays; without it the mod is silent.
Port of [PvP Music](https://modrinth.com/mod/Tkf0xIjA) by Countered (CC0-1.0); credited upstream, original license preserved. The sound-asset gap is documented in the port README and tracked on horizon-rust/horizon.
"""
authors = ["sparticle62ops"]
owners = ["sparticle62ops"]
owner_ids = [209812745]
license = "CC0-1.0"
source = "https://github.com/Sparticle62ops/horizon-pvp-music"
categories = ["utility"]
tags = ["combat", "music", "audio", "qol"]
icon = "icons/pvp_music.png"
[[versions]]
published = "2026-11-06"
version = "1.2.0"
game = "26.3"
file = "pvp-music-1.2.0.hnmod"
sha256 = "21e2e7768a5b4f89bee05453ae83e8130ab8b9019431eb5ecb10b2d7326e5be7"
changelog = "First release: battle detection, fades, the phased two-half track switch and /pvpmusic. The four tracks ship as a companion resource pack on the same release (the .hnmod carries code only)."
+15 -1
View File
@@ -22,7 +22,7 @@ Wheat, carrots, potatoes, beetroot, nether wart, cocoa, torchflower, pitcher cro
- Bone meal, ordinary breaking and planting, sweet berries and glow berries keep their normal behaviour.
### Compatibility
Last checked on **November 1, 2026**, for Minecraft 26.3. The release is pinned to Horizon Nightly 2026-10-31 (`9d979ca`), where single-player and LAN were tested. A compilation-only check also passed on the newest Nightly available on that date (`d91cab6`); gameplay on that newer revision was not tested.
For Minecraft 26.3. Each version is built and gameplay-tested on one exact Horizon Nightly; the launcher warns when a newer Nightly breaks it. Tested revisions and results: [Validation](https://github.com/AyanoKaito/horizon-right-click-crops/blob/main/VALIDATION.md).
This is a native mod: install only if you trust its source and accept the launcher's native-code warning.
@@ -36,8 +36,22 @@ source = "https://github.com/AyanoKaito/horizon-right-click-crops"
icon = "icons/right_click_crops.png"
categories = ["utility", "food"]
tags = ["farming", "crops", "harvest", "replant"]
screenshots = ["screenshots/right_click_crops/1.jpg", "screenshots/right_click_crops/2.jpg"]
key = "RWRwbuaByP5mM4VUm4kZEQVPiuw+3IEVJ7CZcEHIjY5fPKf9lhQKUZRy"
[[versions]]
version = "1.0.1"
published = "2026-11-07"
game = "26.3"
file = "right_click_crops-1.0.1.hnmod"
sha256 = "e369d9cb34320144d805d02f162a3ed357b9cf8bbeee457e409cedc0b7e63d0a"
signature = """
untrusted comment: signature from minisign secret key\r
RURwbuaByP5mMzuPfAJmER9wI28tgK38Mep2zAKwU82bFZt+grGVZOcHq03jTwRSPx7BxM2s6fiQSG1yBNj3fnTM254AAdMTmgY=\r
trusted comment: timestamp:1794046822\tfile:right_click_crops-1.0.1.hnmod\thashed\r
eZC0QPTQ1vVVypFSHHcn3hb29MfdbBU8aXb3q7Rzrgroq8O9q2BZzniMx9XqwvyYcRJIs+RZZxmEwsiF9ZoNAA=="""
changelog = "Compatibility patch for Horizon Nightly 2026-11-05 (`66f3981`). Horizon's block loot helper now takes the broken block's entity data; the managed plants have none, so harvesting passes none and loot is unchanged. No gameplay changes. Validated in single-player and for LAN host and guest on that exact revision."
[[versions]]
version = "1.0.0"
published = "2026-11-01"
+35
View File
@@ -0,0 +1,35 @@
id = "schematics"
kind = "native-mod"
name = "Schematics"
summary = "Load schematics in every common format, see them as ghost blocks in the world, check what is missing, paste them and save areas."
description = """
Schematics for Horizon.
Reads `.litematic`, `.schem` (Sponge versions 1 to 3), `.schematic` (numeric ids of 1.12 and before), `.nbt`, `.mcstructure` (Bedrock, translated on a best-effort basis) and `.bp`. Put files in `schematics/` in the game folder.
- **M**: the menu: load a file, then move, turn, mirror or paste the placement.
- **In the world**: missing blocks show as see-through ghosts, wrong blocks red, wrong states orange, extra blocks magenta.
- **Materials**: what it takes, what is missing and what you carry.
- **Save area**: a stick's left and right clicks set two corners; save them as `.litematic`, `.schem` or `.nbt`.
- **Page Up / Page Down**: one layer at a time.
- **/schematics** (or **/sch**): the same from chat.
**What it does and doesn't do:** it reads the game's world, block models and player, and draws over the world, the HUD and its own screen. It reads and writes schematic files in `schematics/` and its settings and placements in `horizon-mods/.horizon-mod-data/schematics/`. It opens no network connections. Pasting in single player runs on the world's own server; on a server it sends `/setblock` and `/summon` commands, which need permission there.
Written from scratch for Horizon. Pinned to Horizon `c9d474d`, because it reads the game's block models, atlas and world, and the single player server's levels."""
authors = ["Nirokx"]
owners = ["Nirokx"]
owner_ids = [95123456]
license = "MIT"
source = "https://github.com/Nirokx/horizon-schematics"
icon = "icons/schematics.png"
categories = ["utility", "management"]
tags = ["schematics", "building", "litematic", "schem", "ghost-blocks", "material-list"]
[[versions]]
version = "1.0.0"
published = "2026-11-05"
game = "26.3"
file = "schematics-1.0.0.hnmod"
sha256 = "04c0cb5d1fbddf92327cf3456b33070a515af6b51b37109cd43f058ee1b78642"
changelog = "First release for Horizon 26.3 (Nightly c9d474d)."
+31
View File
@@ -0,0 +1,31 @@
id = "seedcrackerx"
kind = "native-mod"
name = "SeedCrackerX"
summary = "SeedCrackerX for Horizon: finds the world seed of a server from the structures you walk past, outlined through walls."
description = """
A port to Rust of [SeedCrackerX](https://github.com/19MisterX98/SeedcrackerX) 2.16.2 for Horizon, written from the Java source together with the parts of the SeedFinding libraries it calls. Walk near structures (igloos, temples, monuments, shipwrecks, end cities, buried treasure, outposts, trial chambers, desert wells, end gateways, emerald ore, dungeons) and they are outlined through walls; with enough of them the world seed is printed in chat. Commands are `/seedcracker ...` as in the Java (`render outlines`, `finder`, `data`, `cracker`, `version`, `database`, `gui`), and the settings are on the mod's page in Options > Mods. PARITY.md in the source lists every Java file and what became of it.
What it does not do: the Dungeon and Warped Fungus cracking of Minecraft 1.17 and older (it needs a lattice solver) and the biome-based world seed search. A world seed is found from structures and the hashed seed the server sends. Like the Java mod it shows information the game does not draw by itself, so some servers do not allow it: that choice is the player's.
For reviewers:
- Network, in two places, both in `src/game/seedcracker.rs` and both the Java mod's own behaviour: (1) once when the mod starts, one HTTP GET of the public Google Sheet of known server seeds (`DATABASE_URL`, `src/config/database.rs`) on a background thread, always, with no switch; (2) only if the player switches `databaseSubmits` on (off by default), when a seed is cracked on a server with more than 10 players: the mod asks the game's own `horizon_client::auth::join_server` to prove the account to Mojang's session service under the id `seedcrackerx`, then posts the server address, dimension, seed, version and the player's name (or a hash of it) to the sheet's script (`DATABASE_POST_URL`). The mod never reads or stores the access token. Nothing else opens a socket.
- It writes only under `horizon-mods/.horizon-mod-data/seedcrackerx/`: `seedcracker.json` (settings, the Java's layout), `known_seeds.txt` and a folder `SeedCracker saved structures`; it reads the same files back.
- It starts an operating system program in one place, `open_uri` in `src/game/seedcracker.rs` (`rundll32` on Windows, `open` on macOS, `xdg-open` on Linux): `/seedcracker database` and the links on its settings page open the seed sheet in the browser.
- The `.hnmod` is built from the source of the tagged release, `python tools/pack.py`, and is the same file every time (line endings are written as LF). It carries `LICENSE` and `NOTICE.md`.
- MIT, like every original it is a port of; `NOTICE.md` lists SeedCrackerX and the SeedFinding libraries it calls with their copyright notices. Tests: `cargo test` (a diff against 7.3k lines produced by the real Java libraries, the cracker, the finders).
- Pinned to Nightly 2026-11-04 (6475f62): the launcher builds the game on that commit, and so does not depend on the Nightly the player has."""
authors = ["luhnox (this port); SeedCrackerX by 19MisterX98 and the SeedCrackerX contributors; the SeedFinding libraries by KaptainWutax and Neil and Matthew Bolan"]
owners = ["luhnox"]
owner_ids = [85970136]
license = "MIT"
source = "https://github.com/luhnox/horizon-seedcrackerx"
icon = "icons/seedcrackerx.png"
categories = ["utility"]
[[versions]]
version = "0.2.3"
published = "2026-11-05"
game = "26.3"
file = "seedcrackerx-0.2.3.hnmod"
sha256 = "6646fd05f28251ca6ccd935027376fbb27a79ff92ac9980f20b3689964a0be9a"
changelog = "First listing. A Rust port of SeedCrackerX 2.16.2 for Horizon 26.3: structures are outlined through walls and the world seed is cracked from them and from the hashed seed the server sends; /seedcracker commands, a settings page in Options > Mods, saved structures, and the shared seed database (reading always, sending only if switched on). Pinned to the newest Nightly, 2026-11-04 (6475f62)."
+42
View File
@@ -0,0 +1,42 @@
id = "spotify_hud"
kind = "native-mod"
name = "Spotify HUD"
summary = "What Spotify is playing on your HUD, with play, pause, skip, shuffle, repeat and volume."
description = """
Shows the song Spotify is playing in a box on the HUD: cover, title, artists and progress. Open chat and point at the box for buttons: play/pause, next, previous, shuffle, repeat, volume, the song's link, settings and moving the box.
## Connect Spotify (one time)
1. Go to https://developer.spotify.com/dashboard and press **Create app**.
2. Add the redirect URI `http://127.0.0.1:21851/spotify/callback`, tick **Web API**, save.
3. In a world: `/music clientid <Client ID>`.
4. Then `/music login` and allow it in the browser (within two minutes).
The buttons need **Spotify Premium** (Spotify refuses them from free accounts) and a song playing on some device.
## Using it
- `/music` opens the settings: corner, which screens, colours, which buttons, chat line for each new song, and more.
- `/music volume [0-100] | play | pause | next | previous | shuffle | repeat | hide | position | restart | logout`
- Keys for next, previous, play/pause and hiding the box in Options → Mods → Spotify HUD (unbound by default).
Settings, the login and `theme.json` (colours you can edit) are in `horizon-mods/.horizon-mod-data/spotify_hud/`.
By tomasmendes01 (in-game: iLoong). Inspired by ThatGravyBoat's Craftify, written from scratch for Horizon. Not affiliated with Spotify."""
authors = ["tomasmendes01"]
owners = ["tomasmendes01"]
owner_ids = [68385376]
license = "MIT"
source = "https://github.com/tomasmendes01/spotify-hud-horizon"
icon = "icons/spotify_hud.png"
categories = ["utility"]
tags = ["spotify", "music", "hud", "media-controls"]
screenshots = ["screenshots/spotify_hud/1.png", "screenshots/spotify_hud/2.png"]
[[versions]]
version = "1.0.0"
published = "2026-11-05"
game = "26.3"
file = "spotify_hud-1.0.0.hnmod"
sha256 = "db7e370554c60fb26fea5048d31bc4b633a1c37d70174789117aa3144e5a3cf3"
changelog = "First release."
+26
View File
@@ -0,0 +1,26 @@
id = "voltz"
kind = "mod"
name = "Voltz (assets)"
summary = "The blocks, items, textures, text and recipes of Voltz. Needs the Voltz native mod."
description = """
**This is one of the two parts of [Voltz](https://playhorizon.dev/mods/voltz_core), and does little alone.** Install both: this one, the assets, and the native part.
It holds the blocks, items, creative tabs, textures, text and recipes of Voltz. It has no code. The code, and the description of what the mod does, are in Voltz.
All the art is original and drawn for this project. No Minecraft assets and no art from other mods are included. MIT licensed."""
authors = ["Arthur Black"]
owners = ["d3xc0"]
owner_ids = [136307382]
license = "MIT"
source = "https://github.com/d3xc0/voltz-horizon"
icon = "icons/voltz.png"
categories = ["technology", "library"]
tags = ["machines", "energy", "assets"]
[[versions]]
version = "0.3.0"
published = "2026-11-06"
game = "26.3"
file = "voltz-0.3.0.hmod"
sha256 = "241548ff66203b4587bdbe5f48d04e8ac24b61ffc8773ea6714b1bd494f96c0a"
changelog = "First release in the registry. Pinned to Horizon Nightly 66f3981 and Horizon Mixins e8cd0aa."
+38
View File
@@ -0,0 +1,38 @@
id = "voltz_core"
kind = "native-mod"
name = "Voltz"
summary = "Machines, power, pipes, a nuclear reactor, missiles, turrets and force fields: the classic Voltz tech pack remade for Horizon."
description = """
**This mod has two parts, and you need both.** Install this one, the native part, and [Voltz (assets)](https://playhorizon.dev/mods/voltz), then press Build.
Voltz is a big tech and explosives pack for Horizon, remade from the spirit of the classic Voltz modpack. It adds working machines, power, automation and weapons, each set in its own creative tab:
- **Power**: wire, coal, heat, wind, solar and geothermal generators, batteries and energy storage.
- **Processing**: electric furnace, crusher, compressor, extractor, enrichment chamber, infuser, alloy smelter, SAG mill, smeltery, coke oven, blast furnace, centrifuge and more, with survival recipes.
- **Automation**: item pipes, quarry, mining well, and an ME-style storage network with drives, a terminal and an import bus.
- **Nuclear**: a 9x6 grid reactor with fuel rods, vents, heat exchangers and coolant cells. Let it overheat and it melts down.
- **Explosives and missiles**: 16 explosive blocks, 12 missiles, a launcher and a target designator.
- **Defence**: force field projector, four turrets, guns and ammo.
- **Worldgen**: new ores, plus tools, armor and six chest tiers.
Native source mod: install it on the launcher's Mods page, press Build there, and confirm the native-code warning. It runs with your account's permissions. It is pinned to one Horizon Nightly and Horizon Mixins revision.
**Credits.** All code and art here is new, written for Horizon. Nothing was copied or decompiled from another mod. It follows the gameplay of mods from the Voltz pack, and the full list with authors, licences and links is in [CREDITS.md](https://github.com/d3xc0/voltz-horizon/blob/main/CREDITS.md): Mekanism, ICBM Classic, Ender IO, Tinkers' Construct, BuildCraft, Applied Energistics 2, Iron Chests, IndustrialCraft 2, Railcraft, Atomic Science, Modular Force Field System, Open Modular Turrets and Techguns. Not affiliated with any of them.
No Minecraft code or assets are included. MIT licensed."""
authors = ["Arthur Black"]
owners = ["d3xc0"]
owner_ids = [136307382]
license = "MIT"
source = "https://github.com/d3xc0/voltz-horizon"
icon = "icons/voltz_core.png"
categories = ["technology", "game-mechanics", "storage"]
tags = ["machines", "energy", "explosives", "automation", "reactor"]
[[versions]]
version = "0.3.0"
published = "2026-11-06"
game = "26.3"
file = "voltz_core-0.3.0.hnmod"
sha256 = "07671d2d8267871a88c4a78ebe890b7b3f63210345f1d889c7f348d317e8d5cf"
changelog = "First release in the registry. Pinned to Horizon Nightly 66f3981 and Horizon Mixins e8cd0aa."
+13 -1
View File
@@ -48,10 +48,22 @@ owner_ids = [339589475]
license = "MIT"
source = "https://github.com/Lauch2/horizon-waymap-mod"
icon = "icons/waymap.png"
categories = ["utility", "adventure"]
categories = ["utility", "adventure", "management"]
tags = ["waypoints", "minimap", "navigation", "death-points", "hud"]
key = "RWS1B1QZPeYaSNKJr9rffnfHDSvB0AZj/Ul1B2pKrJ2XFBgKXL0FC96u"
[[versions]]
version = "0.2.1"
published = "2026-11-05"
game = "26.3"
file = "waymap-0.2.1.hnmod"
sha256 = "702af5081ef69b97e4ab8c43eed98140243cc4dc9d0964df2ef2227f9bc76342"
signature = """
untrusted comment: signature from minisign secret key
RUS1B1QZPeYaSHezDLD6R2pB3yPNb/cRiVDBUdyRz6wMEN89Wteo8J9Fnjf9Smoup4qVFZFd1a/L1YogmobVGGzk4OTrb4mVqAY=
trusted comment: timestamp:1793896727\tfile:waymap-0.2.1.hnmod\thashed
RvWULAMNk5gh3M7ewdU/sju6cpVHsOscwpw1pqEHb5xU7iqFAXRbcXMA5tTEmUvWjMtRgQZJ11m0Fn+Rjb3hDg=="""
[[versions]]
version = "0.2.0"
published = "2026-11-04"
+44
View File
@@ -0,0 +1,44 @@
id = "worldmap"
kind = "native-mod"
name = "World Map"
summary = "A full screen, self-writing world map with a minimap, waypoints (groups, import and export), day and night, cave layers and teleport."
description = """
A full screen map that writes itself as you explore, with a minimap in the corner of the game.
- **Self-writing map.** The terrain you have seen stays on the map after you leave, kept per world, dimension and cave layer, in the vanilla map colours. Dark at night, and lit blocks (torches, lava, lanterns) shine.
- **Minimap.** In a corner of the game: the map round you, turning with you with the sides of the world on its edge (or north up), your waypoints, other players as dots, dark at night. Under a roof or in a cave it shows the floor at your height.
- **Smooth.** Drag to move (the map glides on when you let go), scroll to zoom towards the pointer; far zoom blurs instead of flickering.
- **Cave layers.** Under a roof, in a cave or in the Nether the map shows the floor round you; layered or full, with a Top Y slider from -64 to 319.
- **Dimensions.** One button shows the Overworld, the Nether or the End from any of them, with the other world's coordinates of the place under the pointer.
- **Waypoints.** Right-click for a menu: add, rename, 16 colours, three shapes, group, teleport (/tp), delete. Waypoints show in the world as a square with a letter, with their name and distance; a waypoint is made where you die; a list with search (L) and groups you can hide; Export and Import of the list (it reads other map mods' waypoints files too).
- **Also:** the biome under the pointer, other players on the map, go to coordinates (J), a chunk grid, your trail, and an export of the whole map as a PNG.
- **Keys.** A World Map section in Options > Controls > Key Binds (with Reset), twelve keys, all rebindable. Open the map with M.
- **Russian** interface when the game is in Russian.
**What it does and doesn't do:** it reads the chunks the game has loaded around you and the game's own state, draws on its own screen and in the game's HUD, and keeps files in `config/worldmap/` (the explored chunks and a waypoints file for each world). It sends `/tp` in chat when you choose Teleport. It makes no network connection and needs no other mod.
**Native mod, pinned** to Horizon Nightly `66f3981` (Minecraft 26.3): it adds rows to the game's Key Binds screen and reuses the minimap's colour scan, so it builds on that revision."""
authors = ["Px228-Da-Da"]
owners = ["Px228-Da-Da"]
owner_ids = [160890712]
license = "MIT"
source = "https://github.com/Px228-Da-Da/horizon-worldmap"
icon = "icons/worldmap.png"
categories = ["utility", "adventure"]
tags = ["map", "worldmap", "waypoints", "navigation", "caves", "minimap"]
screenshots = ["screenshots/worldmap/1.jpg", "screenshots/worldmap/2.png", "screenshots/worldmap/3.jpg", "screenshots/worldmap/4.png", "screenshots/worldmap/5.png", "screenshots/worldmap/6.png"]
[[versions]]
version = "0.6.0"
published = "2026-11-06"
game = "26.3"
file = "worldmap-0.6.0.hnmod"
sha256 = "460af1e08fd353cc7455fc32c4b4bd543572e68f6791c03910ae356725904a40"
changelog = """
- **Minimap** in a corner of the game, with your waypoints and the night. It turns with you (the way you face is up) with the sides of the world on its edge, or keeps north up. Under a roof or in a cave it shows the floor at your height, at every block, a jump too. Other players are dots on it. Corner and size are in Options > Mods; keys N (on and off) and Z (scale).
- **Day and night on the map:** the surface of the Overworld is dark at night, and lit blocks keep their light.
- **Waypoints in the world** are a square of their colour with their first letter, name and distance under it; they follow the view smoothly.
- **Waypoint groups:** give a waypoint a group in its menu, click the group's heading in the list to hide or show them all.
- **Export and Import** of waypoints (exports/waypoints.txt, exports/import.txt); the import also reads the waypoints file of other map mods.
- **Smoother map:** it glides on when you let go of a drag, and reads the world faster while it is open.
- **Fixed:** worlds with the same name (New World, New World (1)...) and friends' worlds no longer share one map and one set of waypoints."""
Binary file not shown.

After

Width:  |  Height:  |  Size: 681 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 927 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 896 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 832 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 744 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 556 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 565 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 946 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 724 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 KiB

+25 -1
View File
@@ -79,7 +79,27 @@ class Bundle:
# As the launcher does for a mod built on another Horizon than it pins.
toml = out / "horizon-mixin.toml"
text = re.sub(r'horizon_revision\s*=\s*"[0-9a-f]{40}"', f'horizon_revision = "{revision}"', toml.read_text())
toml.write_text(text)
toml.write_text(strip_launcher_tables(text))
# The tables only the launcher reads; it removes them before horizon-mixins sees the manifest (native_mods/api.rs).
LAUNCHER_TABLES = ("api", "dependencies")
def strip_launcher_tables(text):
"""`text` without its [api] and [dependencies] tables (and their sub-tables), the rest unchanged."""
kept, skipping = [], False
for line in text.splitlines(keepends=True):
header = re.match(r'\s*\[\[?\s*([^\]]+?)\s*\]\]?\s*(#.*)?$', line)
if header:
skipping = header.group(1).split(".")[0].strip().strip('"\'') in LAUNCHER_TABLES
if not skipping:
kept.append(line)
stripped = "".join(kept)
want = {k: v for k, v in tomllib.loads(text).items() if k not in LAUNCHER_TABLES}
if tomllib.loads(stripped) != want:
sys.exit("horizon-mixin.toml: its [api] or [dependencies] table couldn't be removed line by line")
return stripped
def download(url, sha256):
@@ -321,6 +341,10 @@ def check(args):
failed.append(mod.id)
if args.no_compile:
continue
if mod.api:
# Its API package is staged by the launcher only (Bundle.api), as `health` leaves these out too.
print("- applies; it has a mod API package, which only the launcher builds, so it isn't compiled here.")
continue
if compiles(stage):
print(f"- applies and compiles with {len(popular) - len(refused)} popular mods.")
continue
+52
View File
@@ -0,0 +1,52 @@
"""python3 -m unittest discover -s scripts -p 'test_*.py'"""
import tomllib
import unittest
from native_compat import strip_launcher_tables
MANIFEST = """[mod]
id = "example"
version = "1.0.0"
[compatibility]
horizon_revision = "0123456789abcdef0123456789abcdef01234567"
# A trait-mod package.
[api]
path = "api"
[dependencies]
jei = { optional = true }
[dependencies.ae2]
optional = false
[[module]]
id = "runtime"
file = "crates/horizon-client/src/game.rs"
name = "example_mod"
source = "runtime.rs"
[[injection]]
id = "frame"
target = "horizon_client::game::native_hooks::Game<'_>::native_frame"
helper = "frame.rs"
"""
class StripLauncherTables(unittest.TestCase):
def test_removes_only_the_launcher_tables(self):
stripped = tomllib.loads(strip_launcher_tables(MANIFEST))
original = tomllib.loads(MANIFEST)
self.assertNotIn("api", stripped)
self.assertNotIn("dependencies", stripped)
for key in ("mod", "compatibility", "module", "injection"):
self.assertEqual(stripped[key], original[key])
def test_a_manifest_without_them_is_unchanged(self):
plain = MANIFEST.split("# A trait-mod package.")[0] + MANIFEST.split('optional = false\n')[1]
self.assertEqual(strip_launcher_tables(plain), plain)
if __name__ == "__main__":
unittest.main()