Compare commits

...
Author SHA1 Message Date
Ludovic MarieandDbdbdndbbsbs 75ca110914 Add notenoughanimations 0.2.71
Submitted by @Dbdbdndbbsbs through the form.

Submission: DnBKJPDfyobiFpH9CzIyIN3p6iB1ln24tWqQYvK_EV8
Co-authored-by: Dbdbdndbbsbs <[email protected]>
2026-11-07 12:41:15 +01:00
Ludovic MarieandDbdbdndbbsbs f6a7b77d58 Add notenoughanimations 0.2.71
Submitted by @Dbdbdndbbsbs through the form.

Submission: DnBKJPDfyobiFpH9CzIyIN3p6iB1ln24tWqQYvK_EV8
Co-authored-by: Dbdbdndbbsbs <[email protected]>
2026-11-07 12:41:13 +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
42 changed files with 462 additions and 3 deletions

No files matched your search

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 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: 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

+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"
+39
View File
@@ -0,0 +1,39 @@
id = "notenoughanimations"
kind = "native-mod"
name = "Not Enough Animations"
summary = "Bringing first-person animations to the third-person"
description = "Original mod by tr7zw. https://modrinth.com/mod/not-enough-animations Ported to Horizon by romaeboj."
authors = ["Original mod by tr7zw. Ported to Horizon by romaeboj"]
owners = ["Dbdbdndbbsbs"]
owner_ids = [97656496]
license = "LicenseRef-tr7zw-Protective"
source = "https://github.com/Dbdbdndbbsbs/notenoughanimations-horizon"
icon = "icons/notenoughanimations.png"
categories = ["decoration", "adventure"]
tags = ["animations", "player-model", "third-person", "immersion", "vanilla-plus"]
[[versions]]
version = "0.2.71"
published = "2026-11-07"
game = "26.3"
file = "notenoughanimations-0.2.71.hnmod"
sha256 = "a765476f2552424fdf2ee2bda1b2b5ccbc4af2010543d6607ddc5e38146678ba"
changelog = """
Not Enough Animations brings tr7zw's player animations to Horizon. It changes only how player models are posed. Movement, combat, damage and game logic stay vanilla.
Ported animations:
- **Eat / Drink** — the hand rises to the mouth while eating or drinking, with a chewing motion.
- **Ladder** — arms and legs alternate while climbing; the phase follows the player's height.
- **Boat** — each arm rows with its own oar timing, and rests when the oars do.
- **Item Swap** — the arms cross while the hands trade items, then unroll.
- **Burning** — the head wobbles and the free arms flail while the player is on fire.
- **Freezing** — the arms shake in powder snow, unless the player has Fire Resistance.
- **Crawling** — the swimming pose on land becomes a crawl with alternating arms and legs.
- **No Sleep Movement** — the arms lie still while sleeping in a bed.
Every animation has its own on/off toggle in **Options → Mods → Not Enough Animations**, plus a master switch. Labels use the original mod's translations.
Arms busy with a swing, held item use, item swap, climbing, rowing, aiming a two-handed item or holding a spear keep their pose, so the animations do not fight vanilla actions.
Original mod by **tr7zw**. Horizon port by **romaeboj**."""
+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."
+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: 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()