2.5 KiB
Custom Server Mods
Builds permissively-licensed custom forks / newer-than-release builds of mods
used by the SciCraft NeoForge 1.21.1 modpack, and publishes the resulting
JARs as release assets that packwiz entries can point at.
Only mods whose licenses permit redistribution (MIT / Apache-2.0 / LGPL / BSD /
MPL) are included. Every mod has a mods/<name>/manifest.sh describing exactly
what gets cloned and built. Nothing is built unless a manifest exists.
Why
Some mods we use are either:
- abandoned/buggy upstream (their Modrinth/CurseForge release is stale or broken), or
- ahead of release — the GitHub source has fixes not yet published to Modrinth/CurseForge.
For those, we compile from source and host our own build so the pack always gets the fixed/newest behavior without waiting on a release.
Current manifests
| Mod | License | Why we build it | Build cmd |
|---|---|---|---|
ipsable |
Apache-2.0 | Immersive-Portals×Sable fork; experimental, GitHub-only | ./gradlew jarJar |
create-diesel-generators |
MIT | GitHub ahead of Modrinth (CME fix, configurable oil barrel) | ./gradlew build |
Build locally
Requires JDK 21 and network access (NeoForge deps are downloaded by Gradle).
./scripts/build-all.sh # build every manifest in mods/
./scripts/build-mod.sh ipsable # build one mod
Built JARs land in out/<mod>/*.jar (gitignored).
Build via CI
The Gitea Actions workflow .gitea/workflows/build-mods.yaml runs the same
logic on the runner and uploads each JAR to the GitHub/Gitea release assets
for the tag that triggered it. Tag with v* to publish:
git tag v0.1.0 && git push origin v0.1.0
The pack's *.pw.toml entries then reference
https://git.mithraic.cloud/ad3laid3/custom-server-mods/releases/download/v0.1.0/<jar>.jar.
Adding a mod
mkdir mods/<name>- Write
mods/<name>/manifest.sh(see existing manifests for the shape):MOD_NAME,SOURCE_URL(git clone URL),SOURCE_REF(tag/branch/commit)BUILD_CMD(e.g../gradlew jarJar),JAR_GLOB(relative to the source dir)LICENSE(must be permissive — review before adding)
- Optionally add a
patch/step if you maintain local fixes (seePATCH_CMD). - Commit, tag
vX, push; CI builds and attaches the JAR.
License review policy
Only add a mod here if its license allows redistribution AND it's already used (or intended) in the SciCraft pack. When in doubt, do not add it. Re-review licenses whenever the upstream source changes.