Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
83886de13c | ||
|
|
df3e843284 | ||
|
|
5798ba209e | ||
|
|
8984945062 | ||
|
|
b8778d8a89 | ||
|
|
5b2524fe4d | ||
|
|
6f3babddd3 | ||
|
|
6134bd3735 | ||
|
|
b44db64e1e | ||
|
|
9d9bfd868d | ||
|
|
fb19e0fa84 | ||
|
|
88ab8d85cb | ||
|
|
e49f05cd1d | ||
|
|
573e129dee | ||
|
|
c01152b3fc | ||
|
|
62ef8d3be8 | ||
|
|
29bdf93a39 | ||
|
|
0f0f7be986 | ||
|
|
81d6eba98b | ||
|
|
08ba86bf79 | ||
|
|
8e9427d775 | ||
|
|
54c59cfd8a | ||
|
|
4d5cb3f2a4 | ||
|
|
77d41657aa | ||
|
|
5a5b8d2bd2 | ||
|
|
d2de4c18de | ||
|
|
037298b5a7 | ||
|
|
68bd653d9c | ||
|
|
c7432500fc | ||
|
|
d0d3e68ec4 | ||
|
|
0da4e7d52e | ||
|
|
ef6ef9e6a2 | ||
|
|
aad3b35a3a | ||
|
|
dc20a5e020 | ||
|
|
d0cf2b0811 | ||
|
|
6e79b7f740 | ||
|
|
e736186084 | ||
|
|
56930b532a | ||
|
|
1bf7fa9614 | ||
|
|
25ab2d7ea1 | ||
|
|
a1198c687e | ||
|
|
aa6d96e803 | ||
|
|
b49e1fd97d | ||
|
|
8a6980d33b | ||
|
|
8514f5774b | ||
|
|
32d977bf99 | ||
|
|
d0bd59f735 | ||
|
|
21155c06fb | ||
|
|
e0ac4551c2 | ||
|
|
e799b04b82 | ||
|
|
c2d42eba1b | ||
|
|
070bddc417 | ||
|
|
f3d5967ae6 | ||
|
|
72c0912c7b | ||
|
|
89020e2062 | ||
|
|
a617775941 | ||
|
|
b9e03dbb7b | ||
|
|
96d7f7673b | ||
|
|
a2a18e41c3 | ||
|
|
e2fcb0f5c2 | ||
|
|
ed1a281c9c | ||
|
|
9844193547 | ||
|
|
e9d402b60c | ||
|
|
71323383d8 | ||
|
|
3b34bef27e | ||
|
|
23402771cf | ||
|
|
6480bf8b8d | ||
|
|
f64587952e | ||
|
|
ad5e3b12b7 | ||
|
|
f1cdfcb3e8 | ||
|
|
4931f3a819 | ||
|
|
7b74fe93b1 | ||
|
|
4ccc44d612 | ||
|
|
08e63434d8 | ||
|
|
40dc440cbb | ||
|
|
7581c129bb | ||
|
|
259d022945 | ||
|
|
e44816b65a | ||
|
|
b300e7efd4 | ||
|
|
78853c19a6 | ||
|
|
e53ad8220b | ||
|
|
43fb2513a2 | ||
|
|
c909eea98f | ||
|
|
1f1240298a | ||
|
|
dfd2102274 | ||
|
|
35ce93db53 | ||
|
|
3f3103d070 | ||
|
|
ed4aa85442 | ||
|
|
43010d3eb2 | ||
|
|
546deac561 | ||
|
|
2eca4bc2ec | ||
|
|
a2ae910123 | ||
|
|
88b20af247 | ||
|
|
6a3454953c | ||
|
|
ceb5b2275d | ||
|
|
e980583b96 | ||
|
|
5c094254e5 | ||
|
|
d8a3327ee3 | ||
|
|
239ce420fa | ||
|
|
13d6b9fbaa | ||
|
|
ee1620f438 | ||
|
|
a0dba26666 | ||
|
|
82e29462a9 | ||
|
|
725ff7a410 | ||
|
|
64b5237f7c | ||
|
|
7d17c4d63a | ||
|
|
aab9aa4c22 | ||
|
|
6d9a7492e2 | ||
|
|
96c7c46e41 | ||
|
|
09f69374d9 | ||
|
|
4e8a65e584 | ||
|
|
bba4bda2d7 | ||
|
|
6263473f81 | ||
|
|
1fc4bd47d5 | ||
|
|
7558c0945c | ||
|
|
467b17bf38 | ||
|
|
3d113f473a | ||
|
|
792fa822f4 | ||
|
|
7b65e9b10f | ||
|
|
cd1f1c3970 | ||
|
|
be266234cb | ||
|
|
cf1f608745 | ||
|
|
f1f5aba33a | ||
|
|
0062a1e27a | ||
|
|
e79b92ff2c | ||
|
|
ce14e90beb | ||
|
|
93b3f04390 |
No files matched your search
@@ -0,0 +1,103 @@
|
||||
# Native mods on the newest Nightly, as players' launchers build them (scripts/native_compat.py):
|
||||
# - on a pull request, each new native-mod version, applied together with the most downloaded native mods
|
||||
# and compiled (`cargo check`); its support modules' names against every registry mod's;
|
||||
# - every day after the Nightly, every native mod's newest version, applied, then the rest compiled
|
||||
# (`cargo check`): the ones horizon-mixins refuses alone and the ones whose own code doesn't compile go
|
||||
# to the `native-health` release, which publish adds to the index (`broken_on`) so the launcher warns
|
||||
# before an install.
|
||||
# The check compiles the submission, whose crates may have build scripts: it runs with a token that can
|
||||
# only read, and main's script, never the pull request's.
|
||||
name: native-compat
|
||||
on:
|
||||
pull_request:
|
||||
branches: [main]
|
||||
paths: ["mods/*.toml"]
|
||||
schedule:
|
||||
- cron: "40 18 * * *"
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
horizon:
|
||||
description: "Horizon commit, or `latest` (the newest Nightly)"
|
||||
default: latest
|
||||
upload:
|
||||
description: "Publish the result (native-health release); `false` for a trial run"
|
||||
default: "true"
|
||||
permissions:
|
||||
contents: read
|
||||
concurrency:
|
||||
group: native-compat-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: true
|
||||
env:
|
||||
# The Rust the launcher builds native mods with (Horizon's launcher/src/rust_toolchain.rs).
|
||||
RUST: "1.99.1"
|
||||
jobs:
|
||||
check:
|
||||
if: github.event_name == 'pull_request'
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 120
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.base.sha }}
|
||||
path: base
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
path: head
|
||||
persist-credentials: false
|
||||
- name: Does it change a native mod?
|
||||
id: native
|
||||
run: |
|
||||
if [ -n "$(python3 base/scripts/native_compat.py new base head)" ]; then
|
||||
echo "changed=true" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
- if: steps.native.outputs.changed == 'true'
|
||||
run: rustup toolchain install $RUST --profile minimal && rustup default $RUST
|
||||
- if: steps.native.outputs.changed == 'true'
|
||||
run: sudo apt-get update && sudo apt-get install -y libasound2-dev libudev-dev pkg-config
|
||||
- if: steps.native.outputs.changed == 'true'
|
||||
name: On the newest Nightly, with the popular native mods
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
set -o pipefail
|
||||
python3 base/scripts/native_compat.py check base head | tee -a "$GITHUB_STEP_SUMMARY"
|
||||
health:
|
||||
if: github.event_name != 'pull_request'
|
||||
runs-on: ubuntu-latest
|
||||
# Each mod horizon-mixins refuses costs one more apply of the whole set.
|
||||
timeout-minutes: 300
|
||||
permissions:
|
||||
contents: write
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
GH_REPO: ${{ github.repository }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- run: python3 -m unittest discover -s scripts -p 'test_*.py'
|
||||
- run: rustup toolchain install $RUST --profile minimal && rustup default $RUST
|
||||
- run: sudo apt-get update && sudo apt-get install -y libasound2-dev libudev-dev pkg-config
|
||||
# Yesterday's dependencies, checked, and horizon-mixins: only Horizon's own crates and the mods compile again.
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.cargo/registry/index
|
||||
~/.cargo/registry/cache
|
||||
~/.cargo/git/db
|
||||
native/target/compat/cargo
|
||||
native/target/horizon-mixins
|
||||
key: native-health-${{ env.RUST }}-${{ github.run_id }}
|
||||
restore-keys: native-health-${{ env.RUST }}-
|
||||
- name: Every native mod's newest version on the newest Nightly
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
HORIZON: ${{ inputs.horizon || 'latest' }}
|
||||
run: |
|
||||
set -o pipefail
|
||||
python3 scripts/native_compat.py health --horizon "$HORIZON" --out native-health.json | tee -a "$GITHUB_STEP_SUMMARY"
|
||||
- name: Keep it for publish
|
||||
if: inputs.upload != 'false'
|
||||
run: |
|
||||
gh release view native-health >/dev/null 2>&1 \
|
||||
|| gh release create native-health --prerelease --title "Native mods' health" \
|
||||
--notes "native-health.json: the native mods that don't apply on the newest Nightly (native-compat.yml). publish adds them to the index as broken_on."
|
||||
gh release upload native-health native-health.json --clobber
|
||||
@@ -1,9 +1,9 @@
|
||||
# Merging publishes: each new version's file becomes a release asset
|
||||
# (<id>-<version>/<file>), then index.json and the icons go to GitHub Pages
|
||||
# (https://horizon-rust.github.io/horizon-mods/index.json), which the launcher and
|
||||
# (<id>-<version>/<file>), then index.json, the icons and the screenshots go to GitHub
|
||||
# Pages (https://horizon-rust.github.io/horizon-mods/index.json), which the launcher and
|
||||
# playhorizon.dev/mods read. Nothing is published if any entry fails its checks.
|
||||
# Every hour it runs again to refresh each project's `downloads`: GitHub's
|
||||
# download counts of its release assets.
|
||||
# Every hour it runs again to refresh each project's `downloads` (GitHub's download
|
||||
# counts of its release assets) and `stars` (its source repository's GitHub stars).
|
||||
name: publish
|
||||
on:
|
||||
push:
|
||||
@@ -73,9 +73,48 @@ jobs:
|
||||
| if $n > 0 then .downloads = $n else . end)' site/index.json > index.counted.json
|
||||
mv index.counted.json site/index.json
|
||||
jq -r '.projects[] | "\(.id) \(.downloads // 0)"' site/index.json
|
||||
- name: GitHub stars
|
||||
run: |
|
||||
# A project's stars are its source repository's (owner/repo of a
|
||||
# https://github.com/ source, a folder of it or .git included), asked
|
||||
# once per repository. One that can't be read is left out, not zero.
|
||||
jq -r '.projects[].source // empty' site/index.json \
|
||||
| sed -nE 's#^https://github\.com/([A-Za-z0-9-]+)/([A-Za-z0-9._-]+).*#\1/\2#p' \
|
||||
| sed -E 's/\.git$//' | tr 'A-Z' 'a-z' | sort -u \
|
||||
| while read -r repo; do
|
||||
n="$(gh api "repos/$repo" --jq .stargazers_count 2>/dev/null)" || continue
|
||||
echo "{\"key\": \"$repo\", \"value\": $n}"
|
||||
done | jq -s from_entries > stars.json
|
||||
jq --slurpfile stars stars.json '
|
||||
.projects |= map(
|
||||
(first((.source // "") | ascii_downcase
|
||||
| capture("^https://github[.]com/(?<r>[a-z0-9-]+/[a-z0-9._-]+)").r
|
||||
| sub("[.]git$"; "")) // "") as $r
|
||||
| ($stars[0][$r] // 0) as $n
|
||||
| if $n > 0 then .stars = $n else . end)' site/index.json > index.starred.json
|
||||
mv index.starred.json site/index.json
|
||||
jq -r '.projects[] | "\(.id) \(.stars // 0)"' site/index.json
|
||||
- name: Native mods that don't apply on the newest Nightly
|
||||
run: |
|
||||
# native-compat.yml's daily health: the version each names gets `broken_on`, the Horizon
|
||||
# commit horizon-mixins refused it on and its code, so the launcher warns before an install.
|
||||
if gh release download native-health --pattern native-health.json --dir health 2>/dev/null; then
|
||||
jq --slurpfile h health/native-health.json '
|
||||
$h[0] as $health
|
||||
| .projects |= map(. as $p | .versions |= map(
|
||||
($health.broken[$p.id] // null) as $b
|
||||
| if $b != null and $b.version == .version
|
||||
then .broken_on = [{horizon: $health.horizon, code: $b.code}] else . end))' \
|
||||
site/index.json > index.health.json
|
||||
mv index.health.json site/index.json
|
||||
jq -r '.projects[] | select(.versions[0].broken_on) | "\(.id) \(.versions[0].version): \(.versions[0].broken_on[0].code)"' site/index.json
|
||||
fi
|
||||
- name: The site
|
||||
run: |
|
||||
cp -R icons site/icons
|
||||
# Screenshots are served beside the icons: the index lists them at
|
||||
# <site>screenshots/<id>/<name>.
|
||||
if [ -d screenshots ]; then cp -R screenshots site/screenshots; fi
|
||||
cat > site/index.html <<'HTML'
|
||||
<!doctype html><meta charset="utf-8"><title>Horizon mods</title>
|
||||
<meta http-equiv="refresh" content="0; url=https://playhorizon.dev/mods">
|
||||
|
||||
@@ -11,9 +11,10 @@ with no file, network or clock access, and can only do what their page lists.
|
||||
Native source mods (`.hnmod`, kind `native-mod`) are built into an isolated game by
|
||||
a launcher with native-mod support. They run with the player’s account permissions.
|
||||
Their bundles pin the exact Horizon and Horizon Mixins revisions used for the build.
|
||||
Other revisions have not been validated. Registry checks inspect the source bundle without
|
||||
executing native code; reviewers must also examine the source and pinned-build
|
||||
validation. Publishing these requires the native-mod changes to `cargo-horizon-mod`
|
||||
Other revisions have not been validated. Registry checks inspect the source bundle and compile it
|
||||
on the newest Nightly with the most downloaded native mods (in a job whose token
|
||||
can only read) without running it; reviewers must also examine the source and
|
||||
pinned-build validation. Publishing these requires the native-mod changes to `cargo-horizon-mod`
|
||||
and the launcher to have shipped first.
|
||||
|
||||
**Who is responsible.** Except the projects marked Official (made by the Horizon project), everything here is made and
|
||||
@@ -65,6 +66,7 @@ why.
|
||||
| `.github/workflows/check.yml` | A pull request's checks |
|
||||
| `.github/workflows/publish.yml` | On merge: releases, then `index.json` on Pages |
|
||||
| `.github/workflows/cleanup.yml` | Weekly: staging files nobody needs any more |
|
||||
| `.github/workflows/native-compat.yml` | Native mods on the newest Nightly, as the launcher builds them: a pull request's new version applied and compiled with the most downloaded native mods, its module names against every mod's; daily, every mod's newest version, the ones that don't apply marked `broken_on` in the index (`scripts/native_compat.py`) |
|
||||
| `.github/workflows/native.yml` | Horizon's native mods: each changed one's tests, `.hnmod` and game check, all of them together, and weekly on the newest Nightly |
|
||||
| `native/<name>/` | Horizon's own native mods (Zoom, FPS Counter, Keystrokes, Minimap, Recipes, Coordinates HUD): the source of their `.hnmod` files |
|
||||
| `native/tools/` | Shared by them: apply on Horizon, check, build, package, prove (`native/tools/native.py`) |
|
||||
|
||||
|
After Width: | Height: | Size: 782 B |
|
After Width: | Height: | Size: 208 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
|
After Width: | Height: | Size: 193 KiB |
|
After Width: | Height: | Size: 805 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 687 B |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 198 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
After Width: | Height: | Size: 245 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 100 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 211 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 107 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 660 B |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 195 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 212 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 7.6 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 131 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 9.3 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,34 @@
|
||||
id = "accurate_block_placement"
|
||||
kind = "native-mod"
|
||||
name = "Accurate Block Placement"
|
||||
summary = "Hold right click with a block and every new spot you look at gets one, however fast you move."
|
||||
description = """
|
||||
Placing blocks fast is all about timing: vanilla places a block every four ticks while you hold right click, so moving fast skips spots and moving slowly stacks extra blocks. **Accurate Block Placement** times it for you: hold right click and every *new* spot you look at gets a block at once.
|
||||
|
||||
- **A new spot, a block**: bridging, building walls and floors, or sweeping along a row; no spot skipped, however fast you move.
|
||||
- **No extra blocks**: staring at one spot places nothing more.
|
||||
- **A single click stays a single block**: right after the click it waits as vanilla does, unless you turn the view.
|
||||
- **Building backwards**: walking backwards while placing toward yourself places one block per step.
|
||||
- Doors, chests, buttons and other blocks you click still work as usual.
|
||||
|
||||
**Settings** (Options > Mods > Accurate Block Placement): turn it on or off, bind a key to toggle it (unbound by default), and choose whether it works on servers.
|
||||
|
||||
Some servers see fast, accurate placing as a cheat: check their rules, or turn "Allowed on servers" off.
|
||||
|
||||
A port of [Accurate Block Placement: Reborn](https://modrinth.com/mod/accurate-block-placement-reborn) (MIT) by Clayborn, Flourick, schwar and KadTheHunter, rewritten in Rust for Horizon."""
|
||||
authors = ["Lutziano888"]
|
||||
owners = ["Lutziano888"]
|
||||
owner_ids = [129792568]
|
||||
license = "MIT"
|
||||
source = "https://github.com/Lutziano888/horizon-accurate-block-placement"
|
||||
icon = "icons/accurate_block_placement.png"
|
||||
categories = ["utility", "game-mechanics"]
|
||||
tags = ["building", "block-placement", "bridging", "port"]
|
||||
|
||||
[[versions]]
|
||||
version = "1.0.0"
|
||||
published = "2026-11-03"
|
||||
game = "26.3"
|
||||
file = "accurate_block_placement-1.0.0.hnmod"
|
||||
sha256 = "e631745f6d267360de6eb51995ee995bf1ab3d64393d287b7b93c332b85939ce"
|
||||
changelog = "First release."
|
||||
@@ -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)."""
|
||||
@@ -3,19 +3,53 @@ kind = "native-mod"
|
||||
name = "AppleSkin"
|
||||
summary = "Shows how much HP, hunger, and saturation will be restored."
|
||||
description = """
|
||||
AppleSkin for Horizon, a native mod.
|
||||
A port of [AppleSkin](https://github.com/squeek502/AppleSkin) by squeek502 for Horizon, as a native mod. It
|
||||
draws the hunger details AppleSkin shows over the food bar:
|
||||
|
||||
Renders saturation, exhaustion, and held-food values over the hunger bar, as the original AppleSkin does.
|
||||
- **Saturation**: how much saturation you have, as food icons over the food bar.
|
||||
- **Exhaustion**: a thin strip showing how close you are to losing the next food point.
|
||||
- **Held food preview**: the food in your hand, with how much food and saturation it would restore.
|
||||
- **Animation**: fade in, pulse, or both (the default).
|
||||
|
||||
Based on AppleSkin by squeek502. See the LICENSE in the source for the
|
||||
original copyright and licence notices."""
|
||||
authors = ["soufi"]
|
||||
Each part can be turned on or off, and the animation changed, in the mod's settings (Options > Mods > AppleSkin).
|
||||
|
||||
Based on AppleSkin by squeek502. See the LICENSE in the source for the original copyright and licence notices."""
|
||||
authors = ["sillysoufi"]
|
||||
owners = ["soufied"]
|
||||
owner_ids = [47915535]
|
||||
license = "MIT"
|
||||
source = "https://github.com/soufied/AppleSkin-Horizon"
|
||||
icon = "icons/appleskin.png"
|
||||
categories = ["utility", "food"]
|
||||
tags = ["hud", "hunger", "saturation", "food", "port"]
|
||||
key = "RWT6eNq4e5WfVDA2lzOOi6XCm/+jJgilqT1+HUUM33ie5MCjcRfSg760"
|
||||
|
||||
[[versions]]
|
||||
version = "0.1.3"
|
||||
published = "2026-11-05"
|
||||
game = "26.3"
|
||||
file = "appleskin-0.1.3.hnmod"
|
||||
sha256 = "2dac91d4c4c4ab65684f41a3279c6b27beffa7407e5362b0d7a97c28c07914a6"
|
||||
signature = """
|
||||
untrusted comment: signature from minisign secret key
|
||||
RUT6eNq4e5WfVGmizdOQdqc3jXpjW/MxBBP/JE8iFYmkrE0cKbEOUP5t11senfkM2hkDW2JLSOEJCfQJT7PMS/LnYbXET1ux0Ag=
|
||||
trusted comment: timestamp:1793891067\tfile:appleskin-0.1.3.hnmod\thashed
|
||||
r7jcpfe0pAz6c2FZAuAd6EUJojhQ56mGoq/H9hYXyC8rZ6QuwErQt/nEM4ly1VjMIKS7pbn6vCz0wK7jIak+DQ=="""
|
||||
changelog = "Fix for https://github.com/horizon-rust/horizon-mods/issues/289"
|
||||
|
||||
[[versions]]
|
||||
version = "0.1.2"
|
||||
published = "2026-11-02"
|
||||
game = "26.3"
|
||||
file = "appleskin-0.1.2.hnmod"
|
||||
sha256 = "627d1e7c4b4fa3dd191a4ff5887fe38b20ceb7d7d7f1197c1e03d1f25b6b6b92"
|
||||
signature = """
|
||||
untrusted comment: signature from minisign secret key
|
||||
RUT6eNq4e5WfVJqiP4tt8vQGW6sVLSxiLXLeVunyGuyfS9aZWqPilg77biu/2B+HUDS1FlBE31F/HOhBR2YWy0GSmdwhUO7xNAs=
|
||||
trusted comment: timestamp:1793633868\tfile:appleskin-0.1.2.hnmod\thashed
|
||||
IW9M2qJIktmQDlARS6ZTJ1IA9BoGCfMZvatnjIlSpVPkpeG/Qpr5QKRRRPFhnZa93a5KcUG34ok+cgFxipRjBg=="""
|
||||
changelog = "animation fix"
|
||||
|
||||
[[versions]]
|
||||
version = "0.1.1"
|
||||
published = "2026-10-31"
|
||||
|
||||
@@ -3,16 +3,20 @@ kind = "native-mod"
|
||||
name = "AppleSkin"
|
||||
summary = "1:1 Minecraft Java parity food value preview & saturation HUD overlay."
|
||||
description = """
|
||||
1:1 Minecraft Java parity port of AppleSkin for the native Horizon Rust client.
|
||||
A port of AppleSkin for Horizon, as a native mod, drawn to match the Java Edition HUD.
|
||||
|
||||
Features
|
||||
Saturation Overlay: Golden border and glow around active saturation drumsticks matching original icons.png pixel art.
|
||||
Food Value Preview: Pulsing preview drumsticks and preview saturation border when holding edible items.
|
||||
Clean Integration: Easily toggled via Options > Mods > AppleSkin."""
|
||||
- **Saturation overlay**: a golden border and glow around the drumsticks your saturation covers.
|
||||
- **Food value preview**: pulsing preview drumsticks, and a preview of the saturation border, while you hold
|
||||
something you can eat.
|
||||
- **On or off** at any time in Options > Mods > AppleSkin."""
|
||||
authors = ["CayMac"]
|
||||
owners = ["CayMac97"]
|
||||
owner_ids = [197672048]
|
||||
license = "MIT"
|
||||
source = "https://github.com/CayMac97/appleskin"
|
||||
icon = "icons/appleskin_horizon.png"
|
||||
categories = ["utility", "food"]
|
||||
tags = ["hud", "hunger", "saturation", "food", "port"]
|
||||
key = "RWS411U2KXdTN4/y5bQhqBYxNlZvCtSZ5lNy46eeSAcgy0cxSJo2+Sm3"
|
||||
|
||||
[[versions]]
|
||||
|
||||
@@ -3,17 +3,24 @@ kind = "native-mod"
|
||||
name = "Armor Status"
|
||||
summary = "Displays equipped armor & held items with authentic Java durability colors."
|
||||
description = """
|
||||
A native ArmorStatusHUD mod for the Horizon Rust client.
|
||||
An ArmorStatusHUD-style overlay for Horizon, as a native mod: your armor and the items in your hands, with
|
||||
their durability, on the HUD.
|
||||
|
||||
Features
|
||||
Displays all 4 armor slots plus main and off-hand items on the HUD.
|
||||
Authentic Java durability color coding (Green > Yellow > Orange > Red).
|
||||
Item count display for non-damageable held items (torches, food, blocks).
|
||||
Default position: Bottom Right (freely customizable in Options > Mods)."""
|
||||
- **All four armor slots** (helmet, chestplate, leggings, boots) plus the main hand and the off hand.
|
||||
- **Durability colours** as in Java Edition: green above 50%, yellow from 25%, orange from 10%, red below 10%.
|
||||
- **Stack counts** for held items that don't wear out (food, blocks, torches).
|
||||
|
||||
**Settings** (Options > Mods > Armor Status): position (bottom right by default; hotbar left or right, top left or
|
||||
right, bottom left), durability as the remaining value, a percentage or a fraction, which hand items to show (both,
|
||||
main hand, off hand or armor only), and a translucent background box."""
|
||||
authors = ["CayMac"]
|
||||
owners = ["CayMac97"]
|
||||
owner_ids = [197672048]
|
||||
license = "MIT"
|
||||
source = "https://github.com/CayMac97/armor-status"
|
||||
icon = "icons/armor_status.png"
|
||||
categories = ["utility", "equipment"]
|
||||
tags = ["hud", "armor", "durability", "inventory-hud"]
|
||||
key = "RWS411U2KXdTN4/y5bQhqBYxNlZvCtSZ5lNy46eeSAcgy0cxSJo2+Sm3"
|
||||
|
||||
[[versions]]
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
id = "armorhud"
|
||||
kind = "native-mod"
|
||||
name = "Armor HUD"
|
||||
summary = "Your worn armor and its durability in a column left to the off-hand slot."
|
||||
description = """
|
||||
Your worn armor and its durability in a column of four slots left of the hotbar's off-hand slot, as a
|
||||
native mod for Horizon.
|
||||
|
||||
- **Durability numbers**: press **K** (rebindable in Options > Mods) to show or hide them; a notice above the
|
||||
hotbar says which. Off by default.
|
||||
- **Low-durability alerts**: a piece about to break pulses so you notice it in time. On by default.
|
||||
|
||||
Both switches are also on the mod's settings page (Options > Mods > Armor HUD)."""
|
||||
authors = ["Thomas9950"]
|
||||
owners = ["Thomas-Slot"]
|
||||
owner_ids = [265566914]
|
||||
license = "MIT"
|
||||
source = "https://github.com/Thomas-Slot/horizon-armor-hud"
|
||||
icon = "icons/armorhud.png"
|
||||
categories = ["utility", "equipment"]
|
||||
tags = ["hud", "armor", "durability"]
|
||||
key = "RWQNLUB+Hf9pa54kEx/ItgJHmDivzpAZxK9lqvv9wnecj34yzNVQHQur"
|
||||
|
||||
[[versions]]
|
||||
version = "1.0.0"
|
||||
published = "2026-11-04"
|
||||
game = "26.3"
|
||||
file = "armorhud-1.0.0.hnmod"
|
||||
sha256 = "8bd85e1584f307201bce5de2e60466d603b61d4807803d4ebc02772b4f6b704b"
|
||||
signature = """
|
||||
untrusted comment: signature from minisign secret key
|
||||
RUQNLUB+Hf9pa0KnzbNFmdhyi6xpMr56two0l9g3QlnoBYyrHFtJt5luXXEl9FnJQpP6GH7Y9KDqYUSAac7QZEQDejqrM2gA7A4=
|
||||
trusted comment: timestamp:1793750475\tfile:armorhud-1.0.0.hnmod\thashed
|
||||
q840egwiCqF5Ptn8MCP/0VqaPUQQgaWzyXwhnFhD47GLeblsZWdvPyaTnEUbsGxHCgHGT5FFrqJ54Mu1OSz/DQ=="""
|
||||
changelog = "Changed mod icon and description."
|
||||
@@ -20,8 +20,12 @@ Weapons hurt the mobs they hit. With blasting turned on in the control panel (of
|
||||
Built for this Horizon commit only: `68ac6f647e7022b2c696e81863d7cface28c9416`."""
|
||||
authors = ["repositorykreml1n"]
|
||||
owners = ["repositorykreml1n"]
|
||||
owner_ids = [271232376]
|
||||
license = "MIT"
|
||||
source = "https://github.com/repositorykreml1n/astral-cruiser"
|
||||
icon = "icons/astral_cruiser.png"
|
||||
categories = ["transportation", "adventure"]
|
||||
tags = ["starship", "vehicle", "flying", "portals", "weapons", "dimensions"]
|
||||
|
||||
[[versions]]
|
||||
version = "0.1.0"
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
id = "baritone"
|
||||
kind = "native-mod"
|
||||
name = "Baritone"
|
||||
summary = "A Rust port of the Baritone pathfinder: #goto, #mine, #farm, #build, #explore, #follow, #elytra and the rest."
|
||||
description = """
|
||||
A port to Rust of Baritone 1.21.4 for Horizon, written from the Java source: the pathfinder (A* with walking, sprinting, parkour, bridging, pillaring, doors, ladders and water bucket landings), `#goto`, `#mine`, `#farm`, `#follow`, `#explore`, `#build` (schematics and shapes), `#tunnel`, `#elytra`, waypoints, and every setting and command of the Java mod. Type `#help` in chat. PARITY.md in the source lists every Java class and what became of it.
|
||||
|
||||
What it does not do: it draws the cached chunks semitransparent (`renderCachedChunks`) only if Horizon later offers a renderer for it. Like the Java mod it plays for you, so many multiplayer servers ban it: that choice is the player's.
|
||||
|
||||
For reviewers:
|
||||
- No network access of its own: nothing in the source opens a socket or an HTTP request.
|
||||
- It writes only its settings, cached chunks and waypoints under `horizon-mods/.horizon-mod-data/baritone/`, and reads the schematic and explore-filter files the player names in a command.
|
||||
- It starts an operating system program in two places, both in `src/utils/notification.rs`: desktop notifications (PowerShell on Windows, osascript on macOS, notify-send on Linux), which are off unless the player sets `desktopNotifications true`, and `#pizza`, which opens a web page in the browser (the Java mod has the same command).
|
||||
- The `.hnmod` is built from the source of the tagged release, `python tools/pack.py`, and is the same file every time.
|
||||
- Pinned to Nightly 2026-10-30 (ba6344a): the launcher builds the game on that commit, and so does not depend on the Nightly the player has."""
|
||||
authors = ["luhnox (this port); Baritone by leijurv and the Baritone contributors"]
|
||||
owners = ["luhnox"]
|
||||
license = "LGPL-3.0-or-later (a derivative of Baritone, https://github.com/cabaletta/baritone)"
|
||||
source = "https://github.com/luhnox/horizon-baritone"
|
||||
icon = "icons/baritone.png"
|
||||
categories = ["utility", "transportation"]
|
||||
tags = ["pathfinding", "automation", "bot", "mining", "elytra", "port"]
|
||||
key = "RWRTLwnAmb4dyVYWM1egwotcybd6nw1ILTIWGHmQVwiMROClbjW0JoKZ"
|
||||
|
||||
[[versions]]
|
||||
version = "1.1.38"
|
||||
published = "2026-11-04"
|
||||
game = "26.3"
|
||||
file = "baritone-1.1.38.hnmod"
|
||||
sha256 = "b1a79d09061c30f757f428d9702a1a9f39a3c11d7ad17c96d48e101150e98e0c"
|
||||
signature = """
|
||||
untrusted comment: signature from minisign secret key\r
|
||||
RURTLwnAmb4dyQdoJpJlo6cHKjQifEH+yI6oUn+h7Qt0U0nujno7s1PO+nfhF4AxS8m8SVGgPrTl6JPTLuVYXai08leFO6JlVAY=\r
|
||||
trusted comment: timestamp:1793793185\tfile:dist/baritone.hnmod\thashed\r
|
||||
Rur3Vc4xI4A+zxLLeLBlPg+T3D0yNMhoPgjOutE/SxtQJ9J1Mjh5LsceEF0Peql/fBP+Ja5+2s5iH7BJWCjfBA=="""
|
||||
changelog = "`#mine` and `#goto <block>` of a block that is not found underground now explore the surface instead of digging down; the full Mask family, IOpenSet and LinkedListOpenSet; the goal beam shows through terrain; 247 of 297 Baritone 1.21.4 classes ported, none missing (PARITY.md)."
|
||||
@@ -1,29 +1,76 @@
|
||||
id = "basic_hud"
|
||||
kind = "native-mod"
|
||||
name = "The Basic HUD"
|
||||
summary = "Effect timers, potions, golden apples and totems carried, totems used by each player, and armour, elytra and shield durability."
|
||||
summary = "A visual HUD editor with 14 customizable widgets, recent pickups, effect timers, durability, coordinates, FPS and a customizable Tab list."
|
||||
description = """
|
||||
A small HUD box in a corner of the screen.
|
||||
A client-side visual HUD for Horizon. Move, resize and style fourteen independent widgets directly over the game.
|
||||
|
||||
## What it shows
|
||||
Includes effects and timers, consumable counts, durability, observed totem uses, available player health, item cooldowns, coordinates, FPS, ping, speed, CPS, world clock, mini armour and recent item pickups.
|
||||
|
||||
- Active effects with their time left. Potion effects are pinned by default; any other effect can be pinned on the mod's settings page, or all of them shown at once.
|
||||
- Potions of each kind, golden apples, enchanted golden apples and totems in your inventory.
|
||||
- Totems each player has used, above that player's name. Your own count is in the box.
|
||||
- Durability of worn armour, elytra and a held shield.
|
||||
Recent pickups aggregates matching items and refreshes their expiry: 4 torches + 2 torches becomes x6. Five seconds by default, adjustable from 1 to 60 seconds. Includes icon + count mode.
|
||||
|
||||
The count of a player's totems resets when they die or when you leave the world.
|
||||
Customize each widget's position, scale, colours, opacity, padding and shadows. Includes a customizable Tab list and ten interface languages. A short tutorial appears on the first settings visit and can be replayed with ?. Reset requires confirmation; leaving with edits offers Save / Discard / Stay.
|
||||
|
||||
## What it does not do
|
||||
Controls: Right Shift, or Options > Mods > The Basic HUD > Settings > Edit HUD.
|
||||
|
||||
- It builds on one Horizon commit only, 68ac6f6 (Minecraft 26.3). Counting totems and writing above a player have no hook point, so it hooks two of the game's own functions (totem_event, name_tag_geometry). The rest uses hook points but reads the game's internal data.
|
||||
- It knows only what the client is told: a totem used out of your sight is not counted.
|
||||
- Its own texts are in English. Effect and item names follow the game's language.
|
||||
- Tested on Windows in single player and over LAN with two clients, not on a dedicated server."""
|
||||
Install the .hnmod through Horizon and choose Performance. Minecraft 26.3; pinned Horizon 68ac6f647e7022b2c696e81863d7cface28c9416. Compatibility with other Nightlies is not claimed.
|
||||
|
||||
Client-side only: unknown health stays unknown, unobserved totem uses cannot be counted, and server-plugin-only cooldowns are unavailable. No FPS improvement is claimed.
|
||||
|
||||
Release notes and verification: https://github.com/repositorykreml1n/the-basic-hud/releases/tag/v0.5.0"""
|
||||
authors = ["repositorykreml1n"]
|
||||
owners = ["repositorykreml1n"]
|
||||
owner_ids = [271232376]
|
||||
license = "MIT"
|
||||
source = "https://github.com/repositorykreml1n/the-basic-hud"
|
||||
icon = "icons/basic_hud.png"
|
||||
categories = ["utility"]
|
||||
tags = ["hud", "hud-editor", "widgets", "coordinates", "fps", "status-effects", "durability", "tab-list"]
|
||||
|
||||
[[versions]]
|
||||
version = "0.5.0"
|
||||
published = "2026-11-04"
|
||||
game = "26.3"
|
||||
file = "basic_hud-0.5.0.hnmod"
|
||||
sha256 = "97011cc7374354c6293678c7ab593240d0512bffde1d7b642dad521e1df3f8ac"
|
||||
changelog = """
|
||||
## 0.5.0 — Recent pickups
|
||||
- New movable widget for recently collected items: pick up 4 torches, then 2 more before expiry, and it shows x6. Each repeat pickup refreshes that item's timer.
|
||||
- Default display time: 5 seconds; adjustable from 1 to 60 seconds.
|
||||
- Supports icon + count mode, dragging, scale, colours and opacity.
|
||||
- Partial pickups count only the amount that fits. Giving, crafting and inventory rearrangement do not by themselves create entries.
|
||||
- New pixel-art totem icon; new labels translated into all ten interface languages. Existing layouts and settings are preserved.
|
||||
|
||||
Verified: 75 strict Rust test executions, warning-free pinned native build, real in-game aggregation/expiry/partial-pickup checks, editor persistence and ordinary startup without a controller.
|
||||
|
||||
Русский: добавлен блок недавнего подбора с суммированием количества, обновлением таймера и настройкой 1–60 секунд (по умолчанию 5). Новая иконка — тотем.
|
||||
Deutsch: Neues Widget für aufgehobene Gegenstände mit addierten Mengen und einstellbarer Dauer von 1–60 Sekunden.
|
||||
Français : nouveau widget des objets ramassés, quantités cumulées et durée réglable de 1 à 60 secondes.
|
||||
Español: nuevo widget de objetos recogidos, cantidades acumuladas y duración ajustable de 1 a 60 segundos."""
|
||||
|
||||
[[versions]]
|
||||
version = "0.4.1"
|
||||
published = "2026-11-03"
|
||||
game = "26.3"
|
||||
file = "basic_hud-0.4.1.hnmod"
|
||||
sha256 = "36431d3a2d810e2aefbd8611767a80f9184e3df032e4cc2b9b9fd9398f794560"
|
||||
changelog = """
|
||||
Major update from 0.1.0 to 0.4.1.
|
||||
|
||||
- Visual in-game editor: drag, individual scale, colours, opacity, shadows, padding and snap.
|
||||
- 13 widgets, including FPS, coordinates, available player health and actual item cooldowns.
|
||||
- Icons + values: ×16, 1:45 and durability without long labels.
|
||||
- Mini armour beside the hotbar, including elytra.
|
||||
- Custom Tab list: numeric ping, bars, player counts, sorting and scale.
|
||||
- Smoothed optional speed; single-player ping labelled Local.
|
||||
- Ten UI languages plus Auto; first-visit tutorial, replay through ?.
|
||||
- Reset confirmation; Save / Discard changes / Stay on leaving with edits; failed-save recovery.
|
||||
|
||||
Pinned to Minecraft 26.3 / Horizon 68ac6f6. Use the Performance build profile on Windows; Dev can overflow the startup stack on this baseline. No compatibility with other Nightlies or FPS gain is claimed.
|
||||
|
||||
Validated: 67 Rust test executions, native build, isolated gameplay/editor tests, restart persistence and ordinary asynchronous startup.
|
||||
|
||||
Full notes (English + Russian, Ukrainian, German, French and Spanish summaries): https://github.com/repositorykreml1n/the-basic-hud/blob/main/CHANGELOG.md"""
|
||||
|
||||
[[versions]]
|
||||
version = "0.1.0"
|
||||
|
||||
@@ -14,9 +14,12 @@ Craft a **Biome Compass** (a compass with a sapling on each of its four sides, a
|
||||
Inspired by [Nature's Compass](https://modrinth.com/mod/natures-compass); not affiliated, no code from it."""
|
||||
authors = ["d3grando"]
|
||||
owners = ["d3grando"]
|
||||
owner_ids = [36463198]
|
||||
license = "MIT"
|
||||
source = "https://github.com/d3grando/biomecompass"
|
||||
icon = "icons/biomecompass.png"
|
||||
categories = ["utility", "adventure"]
|
||||
tags = ["compass", "biomes", "exploration", "navigation"]
|
||||
|
||||
[[versions]]
|
||||
version = "0.2.2"
|
||||
|
||||
@@ -1,13 +1,34 @@
|
||||
id = "blockscope"
|
||||
kind = "native-mod"
|
||||
name = "Blockscope"
|
||||
summary = "The block under your crosshair: its name, id, distance and icon, with reach, placement and opacity on its own settings page. A Jade-style tooltip for Horizon."
|
||||
description = "Jade-style block info for Horizon: the block under your crosshair, its name in your language, its block id, how far it is and its icon."
|
||||
summary = "The block under your crosshair: its name, id, distance and icon, plus hardness, states and a container's slots."
|
||||
description = """
|
||||
A Jade-style tooltip for Horizon: the block under your crosshair, in a small box you can place where you
|
||||
want.
|
||||
|
||||
- Its name in your language, its block id and its distance, with its icon.
|
||||
- Its hardness and the tool it wants, and whether what you hold harvests it.
|
||||
- Its state properties, a crop's growth, and a container's slots laid out as its own screen has them.
|
||||
- Its coordinates on request, and a creature's name and health when you look at one.
|
||||
|
||||
Nothing shows when you look at no block within reach, while a screen is open, or with the HUD hidden (F1). Ten
|
||||
switches on its settings page (Options > Mods > Blockscope > Settings) choose what the box shows."""
|
||||
authors = ["Domanffe"]
|
||||
owners = ["Domanffe"]
|
||||
owner_ids = [94391234]
|
||||
license = "MIT"
|
||||
source = "https://github.com/Domanffe/blockscope"
|
||||
icon = "https://horizon-rust.github.io/horizon-mods/icons/blockscope.png"
|
||||
icon = "icons/blockscope.png"
|
||||
categories = ["utility"]
|
||||
tags = ["tooltip", "hud", "block-info", "waila"]
|
||||
|
||||
[[versions]]
|
||||
version = "0.3.1"
|
||||
published = "2026-11-02"
|
||||
game = "26.3"
|
||||
file = "blockscope-0.3.1.hnmod"
|
||||
sha256 = "4fea94e5337aa82df3d981fc6231fecc80161262add577b596bb6661e0e303d1"
|
||||
changelog = "Rebuilt on the 2026-11-01 Nightly (Horizon `4aa6854`). All five hook points are named now — `mods`, `settings`, `settings_click`, `hud`, `tick` — so the bundle still applies when the game moves them."
|
||||
|
||||
[[versions]]
|
||||
version = "0.3.0"
|
||||
|
||||
@@ -15,9 +15,12 @@ Sneak and right-click with an empty hand to pick up a block with its contents (c
|
||||
Inspired by [Carry On](https://modrinth.com/mod/carry-on); not affiliated, no code from it."""
|
||||
authors = ["d3grando"]
|
||||
owners = ["d3grando"]
|
||||
owner_ids = [36463198]
|
||||
license = "MIT"
|
||||
source = "https://github.com/d3grando/carryblock"
|
||||
icon = "icons/carryblock.png"
|
||||
categories = ["game-mechanics", "utility"]
|
||||
tags = ["carry", "chests", "pick-up", "animals"]
|
||||
|
||||
[[versions]]
|
||||
version = "0.1.2"
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
id = "chat_animation"
|
||||
kind = "native-mod"
|
||||
name = "ChatAnimationHorizon"
|
||||
summary = "ChatAnimation for Horizon"
|
||||
description = """
|
||||
Smooth chat for Horizon, recreating Ezzenix's Chat Animation mod as a native mod.
|
||||
|
||||
- **New messages slide up**: the chat starts one line lower and eases into place while the new message fades in.
|
||||
- **The input field slides up** from the bottom of the screen when you open the chat.
|
||||
- **The indicator line** (the coloured bar left of some messages) can be hidden.
|
||||
|
||||
**Settings**: "Chat Animation Settings..." on the Options screen, or Options > Mods > Chat Animation: animate
|
||||
messages (150 ms by default), hide the indicator line, animate opacity, animate the input field (170 ms), each with
|
||||
a reset button.
|
||||
|
||||
Based on Ezzenix's Chat Animation (MIT), recreated for Horizon."""
|
||||
authors = ["tariksabanuz"]
|
||||
owners = ["tariksabanuz"]
|
||||
license = "MIT"
|
||||
source = "https://github.com/tariksabanuz/ChatAnimationHorizon"
|
||||
icon = "icons/chat_animation.png"
|
||||
categories = ["utility", "social"]
|
||||
tags = ["chat", "animation", "ui", "port"]
|
||||
|
||||
[[versions]]
|
||||
version = "0.1.0"
|
||||
published = "2026-11-04"
|
||||
game = "26.3"
|
||||
file = "chat_animation-0.1.0.hnmod"
|
||||
sha256 = "aee273e2861a185ed2667679c0f943dcc73693b46eded6c078cde8bdf13ee49a"
|
||||
@@ -0,0 +1,26 @@
|
||||
id = "chat_heads_rust"
|
||||
kind = "native-mod"
|
||||
name = "Chat Heads Horizon"
|
||||
summary = "Chat Heads displays player heads in the chat before the players name making it easier to see who is writing"
|
||||
description = "Chat Heads displays player heads in the chat before the players name making it easier to see who is writing. with options being to turn off your own head display "
|
||||
authors = ["Demerobit"]
|
||||
owners = ["Demerobit"]
|
||||
owner_ids = [193929759]
|
||||
license = "MIT"
|
||||
source = "https://github.com/Demerobit/Chat-Heads-For-Horizon"
|
||||
icon = "icons/chat_heads_rust.png"
|
||||
categories = ["utility", "optimization", "decoration"]
|
||||
tags = ["optimization", "display"]
|
||||
key = "RWQ8B3u8yfza0a/X/QmiRXnrl8+l/dZFkWlWTSPsfshlLWbzHlb3AjU4"
|
||||
|
||||
[[versions]]
|
||||
version = "1.0.2"
|
||||
published = "2026-11-06"
|
||||
game = "26.3"
|
||||
file = "chat_heads_rust-1.0.2.hnmod"
|
||||
sha256 = "b4dd7f7b8e5689dc0718821d7926ff3e3c9107fc11737903c195aed19c6cb7a1"
|
||||
signature = """
|
||||
untrusted comment: signature from minisign secret key
|
||||
RUQ8B3u8yfza0SgDJ0cjYatSuZ4rK5ILraOltdS3g0iq0usoRVymHortTv33u7Qxer3I0NXrTup0b7DIvbfB3Wa3VP587yFlbQI=
|
||||
trusted comment: timestamp:1793952467\tfile:chat_heads_rust-1.0.2.hnmod\thashed
|
||||
U+qTKpDMR7PFaX5fsvLfLvhVeS23ypKgCBavykz5gTUEPDNzQNzzB9mIOt4DLi0v3Sezb6F06Mhw07EsJmzgDA=="""
|
||||
@@ -3,16 +3,30 @@ kind = "native-mod"
|
||||
name = "ChatHeads"
|
||||
summary = "A player's head left of every chat line they wrote."
|
||||
description = """
|
||||
Each chat line from a player gets their 8x8 skin face in the strip to its left, like the Chat Heads Java mod. Lines without a player (system messages, /me, wrapped continuations) stay as they are; the face fades with its line.
|
||||
A player's 8x8 skin face left of every chat line they wrote, as a native mod for Horizon.
|
||||
|
||||
Settings: Options > Mods > ChatHeads > Settings (on or off).
|
||||
- The face comes from the skin the game resolved for that player; with none, a default skin picked by the name, so a
|
||||
player always keeps the same head.
|
||||
- System messages, `/me` lines and wrapped continuations get no head, and the head fades with its line.
|
||||
- F1 hides it as it hides the chat.
|
||||
|
||||
Known limit: the chat's hit-test does not know about the 10 px indent, so clicking a link in chat lands 10 px left of its pixels."""
|
||||
Turn it on or off in Options > Mods > ChatHeads > Settings."""
|
||||
authors = ["Domanffe"]
|
||||
owners = ["Domanffe"]
|
||||
owner_ids = [94391234]
|
||||
license = "MIT"
|
||||
source = "https://github.com/Domanffe/chatheads"
|
||||
icon = "https://horizon-rust.github.io/horizon-mods/icons/chatheads.png"
|
||||
icon = "icons/chatheads.png"
|
||||
categories = ["social", "utility"]
|
||||
tags = ["chat", "player-heads", "skins"]
|
||||
|
||||
[[versions]]
|
||||
version = "0.1.1"
|
||||
published = "2026-11-02"
|
||||
game = "26.3"
|
||||
file = "chatheads-0.1.1.hnmod"
|
||||
sha256 = "16f5e1db33255c550c087fcf3ed982a4be9abf61b547b470a08f471d309ad1fe"
|
||||
changelog = "Rebuilt on the 2026-11-01 Nightly (Horizon `4aa6854`). The three hook points it shares — `mods`, `settings`, `settings_click` — are named now instead of pinned to raw source targets, so a Horizon update that moves them no longer breaks the bundle."
|
||||
|
||||
[[versions]]
|
||||
version = "0.1.0"
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
id = "chop"
|
||||
kind = "native-mod"
|
||||
name = "Chop!"
|
||||
summary = "Cut one log and the whole tree tips over, crashes down and breaks apart, with soft vanilla sounds and particles."
|
||||
description = """
|
||||
Cut one log with an axe: the whole tree tips over like a real falling tree, crashes to the ground, and breaks apart from the base to the top in little pops. Everything is made of vanilla sounds and particles: no resource pack.
|
||||
|
||||
- **The log shakes while you cut it**, then pops when it gives way.
|
||||
- **A physical fall**: the trunk drops onto the stump, creaks, tips over with gravity and stops where it meets the ground. Leaves in the way are crushed.
|
||||
- **Falls in front of you**, within an adjustable angle, toward the clearest side.
|
||||
- **A cute break-up** from the base to the top, with clouds, sparkles and hearts.
|
||||
- **Replants a sapling** of the tree's kind (from its loot, or always).
|
||||
- **Chain reactions**: a falling trunk can knock over the next tree.
|
||||
- **Adjustable damage**: hurts monsters by default; animals, allies and players are spared unless you turn them on.
|
||||
- Vanilla loot (Fortune, Silk Touch), honest axe wear, fall preview, shaking trees with an empty hand, giant mushrooms and Nether fungi, angry bees, birds, apples, biome-tinted leaves, optional loot into your inventory.
|
||||
- **Everything is configurable in game**, with commands or by clicking in the chat: `/chop config` (operators), `/chop perso` (each player's sounds, particles and preview), `/chop stats`, `/chop aide`. The menus are in French.
|
||||
|
||||
**What it does and doesn't do.** It runs server-side, where the world runs: players who join install nothing. No network access, no telemetry, never runs a program. It reads and writes one file, `<world>/data/chop.txt` (settings, stats, player-placed logs). It only touches trees, the sapling it replants, its own `block_display` entities and what a falling tree hits. Besides the game's functions, it runs a few vanilla commands as the server: `kill` on its own tagged displays, `item modify` for the axe's wear, `damage` on a player the tree hits (off by default), and `summon item` / `setblock … keep` for loot and replanting when the tree is in another dimension.
|
||||
|
||||
Native source mod: install it on the launcher's Mods page, press Build there, and confirm the native-code warning. The launcher builds a separate game with it, and it runs with your account's permissions. Each version is pinned to one Horizon Nightly and Horizon Mixins revision, named in its changelog; the launcher builds those exact revisions.
|
||||
|
||||
Original mod by Mayonesu0. All rights reserved, except the grants in its [LICENSE](https://github.com/Mayonesu0/chop/blob/main/LICENSE): players may use it unchanged, Horizon's registry may distribute it, and Horizon's reviewers may read it to review it."""
|
||||
authors = ["Mayonesu0", "Claude"]
|
||||
owners = ["Mayonesu0"]
|
||||
owner_ids = [350298764]
|
||||
license = "LicenseRef-Chop-1.0"
|
||||
source = "https://github.com/Mayonesu0/chop"
|
||||
icon = "icons/chop.png"
|
||||
categories = ["game-mechanics"]
|
||||
tags = ["trees", "tree-felling", "axe", "lumberjack", "animation", "server-side"]
|
||||
key = "RWSwx1v4zUCUjQ8rssfZCXvXkvgVc9TbA60RJyCtVCeMx4lSTanIleIs"
|
||||
|
||||
[[versions]]
|
||||
version = "1.0.1"
|
||||
published = "2026-11-03"
|
||||
game = "26.3"
|
||||
file = "chop-1.0.1.hnmod"
|
||||
sha256 = "5abac195c54da7716f35f641489c0dba780444c91b0b3e4f3387ecd4cb2b260b"
|
||||
signature = """
|
||||
untrusted comment: signature from minisign secret key\r
|
||||
RUSwx1v4zUCUjfR+WYS97be0UecaBcKGyNXNsCQAPVG0j2U2yeMfnNPkWMEU9CMOobMI6nKaPj/Kqv0EPAuw2xiPnRaduNgI8wA=\r
|
||||
trusted comment: timestamp:1793711491\tfile:chop-1.0.1.hnmod\thashed\r
|
||||
eOi2t+LMQ4LOM/nsJqmpvAraWsLcgdRZA4OJotjBkgxcANkG3MeZ9tbAKbEaidIy1kBSZyc4Dri+3MtOsd+xBA=="""
|
||||
changelog = "First release (1.0.0 was never published: its package carried a LICENSE file the registry's checker refuses; the code is the same). Pinned to Horizon Nightly 2026-11-01 (c9d474d) and Horizon Mixins ddd9700; the launcher builds those exact revisions."
|
||||
@@ -37,9 +37,12 @@ Both can be installed at once: they use different keys.
|
||||
Source and issues: [github.com/SU4G3/classic-zoom](https://github.com/SU4G3/classic-zoom)"""
|
||||
authors = ["Surge"]
|
||||
owners = ["SU4G3"]
|
||||
owner_ids = [92383635]
|
||||
license = "GPL-3.0-or-later"
|
||||
source = "https://github.com/SU4G3/classic-zoom"
|
||||
icon = "icons/classic_zoom.png"
|
||||
categories = ["utility"]
|
||||
tags = ["zoom", "camera"]
|
||||
key = "RWTOxMcIG6MtC0QQnhWEMC+nLKJ6+u4trV/rF+4juSRuow8W4b5P+CPS"
|
||||
|
||||
[[versions]]
|
||||
|
||||
@@ -16,8 +16,12 @@ A compass bar at the top of your screen that shows where you are facing, in degr
|
||||
Settings are in Options → Mods → Compass Bar. Death points are not saved: they vanish when you close the game."""
|
||||
authors = ["Isaac"]
|
||||
owners = ["Fernandes585"]
|
||||
owner_ids = [344517364]
|
||||
license = "MIT"
|
||||
source = "https://github.com/Fernandes585/Compass-Enhanced"
|
||||
icon = "icons/compass_bar.png"
|
||||
categories = ["utility", "adventure"]
|
||||
tags = ["compass", "hud", "navigation", "death-points"]
|
||||
key = "RWScU5xtTnTnu55tXSTPbhM2BQ6KG2FLeMD9aTeX111NlQPh7cCafm1w"
|
||||
|
||||
[[versions]]
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
id = "connected_textures"
|
||||
kind = "native-mod"
|
||||
name = "ContinuityHorizon"
|
||||
summary = "Continuity for Horizon"
|
||||
description = """
|
||||
Continuity-style connected textures for Horizon, as a native mod: blocks of the same kind join up into one
|
||||
surface instead of showing a border on every block. It works with the game's own textures; no resource pack needed.
|
||||
|
||||
- **Glass and stained glass** (all 16 colours and tinted glass): the frame between two blocks of the same glass goes
|
||||
away, so a window is one pane with one frame round it.
|
||||
- **Glass panes**: the same, between panes of the same colour.
|
||||
- **Bookshelves, cut and chiseled sandstone** (red too): joined left and right into one long shelf or band.
|
||||
- **Sandstone and red sandstone**: a wall or pillar loses the band between its blocks; the top row keeps it.
|
||||
|
||||
Options > Mods > Connected Textures turns it on and off, and each part on its own; the world is redrawn at once.
|
||||
|
||||
Inspired by Continuity (MIT), recreated for Horizon."""
|
||||
authors = ["tariksabanuz"]
|
||||
owners = ["tariksabanuz"]
|
||||
license = "MIT"
|
||||
source = "https://github.com/tariksabanuz/ContinuityHorizon"
|
||||
icon = "icons/connected_textures.png"
|
||||
categories = ["decoration", "utility"]
|
||||
tags = ["connected-textures", "glass", "visual", "port"]
|
||||
|
||||
[[versions]]
|
||||
version = "0.1.2"
|
||||
published = "2026-11-04"
|
||||
game = "26.3"
|
||||
file = "connected_textures-0.1.2.hnmod"
|
||||
sha256 = "e86d1d3fd92045737b90218de51c158b60519afc6618c063c87f64ca68d36adf"
|
||||