No description
Find a file
FTMahringer 8e1aae3663
Some checks failed
Build / publish_external (push) Has been skipped
Build / build (push) Successful in 1m54s
Build / release_meta (push) Successful in 3s
Build / publish_nexus (push) Successful in 2s
Build / forgejo_release (push) Failing after 2s
Update gradle.properties
2026-06-09 23:17:30 +02:00
.forgejo/workflows second commit 2026-06-09 21:33:49 +02:00
docs feat: add ftm library foundation 2026-06-09 23:13:23 +02:00
gradle/wrapper second commit 2026-06-09 21:33:49 +02:00
src/main feat: add ftm library foundation 2026-06-09 23:13:23 +02:00
.gitattributes second commit 2026-06-09 21:33:49 +02:00
.gitignore feat: add ftm library foundation 2026-06-09 23:13:23 +02:00
build.gradle second commit 2026-06-09 21:33:49 +02:00
CONTRIBUTING.md feat: add ftm library foundation 2026-06-09 23:13:23 +02:00
gradle.properties Update gradle.properties 2026-06-09 23:17:30 +02:00
gradlew second commit 2026-06-09 21:33:49 +02:00
gradlew.bat second commit 2026-06-09 21:33:49 +02:00
IDEAS.md feat: add ftm library foundation 2026-06-09 23:13:23 +02:00
LICENSE second commit 2026-06-09 21:33:49 +02:00
README.md feat: add ftm library foundation 2026-06-09 23:13:23 +02:00
settings.gradle second commit 2026-06-09 21:33:49 +02:00

FTM-Library

FTM-Library is a shared NeoForge 1.21.1 library module for FT-MC mods.

It is intended to become the common base for the dependency chain:

  • ftm-library
  • future shared sub-libraries
  • mod-specific feature modules built on top of the shared base

Release Flow

FTM-Library follows the same release model as the starter mod:

  • build once in Forgejo
  • create a Forgejo release with the built jar
  • publish the same jar to Nexus
  • optionally publish alpha, beta, and stable releases to Modrinth and CurseForge by manual dispatch

Workflow

The workflow uses java-ci only for the Gradle build. Release metadata, Forgejo publishing, Nexus publishing, and manual external publishing use the other idle runners. Release notes reset at the previous Forgejo tag, so each release only shows the commits that landed since the last published release.

If you want to add a new shared library feature, write it down in IDEAS.md first. That keeps the main library focused on the current stable surface and makes it easier to decide what should become real API next.

Publish Secrets

For external publishing:

  • Put these in organization secrets:
    • MODRINTH_TOKEN
    • CURSEFORGE_TOKEN
  • Put these in repository secrets:
    • MODRINTH_PROJECT_ID
    • CURSEFORGE_PROJECT_ID

Modrinth and CurseForge publishing is skipped for -rc releases. Stable releases keep the semver version string unchanged and only add -stable to the visible release name. The external publish path is manual and uses the Forgejo UI dispatch input publish_external=true.

Local Setup

If you need to refresh dependencies:

./gradlew --refresh-dependencies
./gradlew clean

Reference