Luminol 26.1.2 + EkaiiMC custom patches and plugins (ported from ver/1.21.11). Monorepo: Luminol fork + EkaiiAFK + EkaiiAPI + local test rig.
- Java 99.3%
- Shell 0.7%
|
Some checks failed
Build luminol-ekaii (paperclip) / build (push) Failing after 9m37s
The original patch had zeroed-out index hashes and missing diff stats separator, causing git am to fail with "corrupt patch at line 47". Regenerated using git format-patch from the actual runLuminolSetup repo. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .forgejo/workflows | ||
| luminol | ||
| scripts | ||
| test-server | ||
| .gitignore | ||
| .plugbench.toml | ||
| EKAII_PORT.md | ||
| LUMINOL_UPSTREAM_SHA | ||
| README.md | ||
luminol-ekaii
Luminol 26.1.2 fork with the EkaiiMC custom patches ported from ver/1.21.11. Companion plugins live in their own repos.
| Component | Repo | Latest jar |
|---|---|---|
Luminol fork (luminol/) |
forgejo.ekaii.fr/exo/luminol-ekaii (this repo) |
luminol-paperclip-26.1.2.local-SNAPSHOT.jar |
| EkaiiAFK plugin | exo/EkaiiAFK | EkaiiAFK-1.1.0-ekaii26.jar |
| EkaiiAPI plugin | exo/EkaiiAPI | EkaiiAPI-1.3.0-ekaii26.jar |
| Local test rig | test-server/ (this repo) |
runs on 127.0.0.1:25599 |
What changed from upstream
The entire EkaiiMC custom delta on ver/1.21.11 was a single feature, ported as two patches:
luminol/luminol-server/minecraft-patches/features/0068-Add-distinct-activation-range-for-copper-golems.patch(NMS —ActivationRange.java)luminol/luminol-server/paper-patches/features/0015-Add-distinct-activation-range-for-copper-golems.patch(Paper API —ActivationTypeenum +SpigotWorldConfig)
Both are additive. The pinned upstream baseline is in LUMINOL_UPSTREAM_SHA.
Build (locally)
Requires JDK 25 (brew install openjdk).
export JAVA_HOME=/opt/homebrew/opt/openjdk/libexec/openjdk.jdk/Contents/Home
# 1. Hyacinthusweight (paperweight fork) + Hyacinthusclip (paperclip fork) → mavenLocal
git clone https://github.com/LuminolMC/Hyacinthusweight.git /tmp/hw && (cd /tmp/hw && ./gradlew publishToMavenLocal)
git clone https://github.com/LuminolMC/Hyacinthusclip.git /tmp/hc && (cd /tmp/hc && ./gradlew publishToMavenLocal)
# 2. Luminol fork (paperweight needs git user.email + user.name set GLOBALLY)
(cd luminol && ./gradlew applyAllPatches \
&& ./gradlew --no-configuration-cache createPaperclipJar)
# Output: luminol/luminol-server/build/libs/luminol-paperclip-26.1.2.local-SNAPSHOT.jar (~61 MB)
For the plugins, see exo/EkaiiAFK and exo/EkaiiAPI.
Test it locally
cp luminol/luminol-server/build/libs/luminol-paperclip-*.jar test-server/
# grab plugins from their release pages or build them yourself:
curl -L -o test-server/plugins/EkaiiAFK.jar https://forgejo.ekaii.fr/exo/EkaiiAFK/releases/download/v1.1.0-ekaii26/EkaiiAFK-1.1.0-ekaii26.jar
curl -L -o test-server/plugins/EkaiiAPI.jar https://forgejo.ekaii.fr/exo/EkaiiAPI/releases/download/v1.3.0-ekaii26/EkaiiAPI-1.3.0-ekaii26.jar
test-server/run.sh
Boots in ~7 s on M-series, MOTD luminol-ekaii smoke test, port 25599.
CI
.forgejo/workflows/build.yml— every push tomainbuilds the paperclip jar and uploads it as an artifact. Push av*tag → also creates a Forgejo release with the jar attached..forgejo/workflows/upstream-watch.yml— every Monday 06:00 UTC (and on manual dispatch) it diffsLUMINOL_UPSTREAM_SHAagainstgit ls-remote LuminolMC/Luminol@dev/26.1.x. If they differ, opens (or updates) aUpstream Luminol drift: <sha7>issue with the new commits + diff stat.
To bump after the watcher fires: re-clone upstream, replay the 2 patches on top, write the new SHA to LUMINOL_UPSTREAM_SHA, push.
Releases
Releases are manual, triggered by pushing a tag (not on every CI run). Tag format: v<mc-version>-ekaii-<port-version> (e.g. v26.1.2-ekaii-0.1.0).
| Tag | Forgejo | GitHub |
|---|---|---|
| v26.1.2-ekaii-0.1.0 | release | release |
Why these defaults
- Group
me.earthme.luminolkept so any plugin compiled against upstreamluminol-apistill resolves. - Version suffixed
-ekaiiso artifacts are distinguishable from upstream. paper-api:26.1.2.build.53-stablefor plugins (Folia API stops at 1.21.11; merged into Paper for 26.x).- Hyacinthusweight + Hyacinthusclip published locally because LuminolMC's snapshots repo (
repo.menthamc.org) was DNS-unreachable at port time.