Tags
Creators
Details
All versions
3.0.0+1.21.1-fabric
Release
3.0.0+1.21.1-fabric3 days ago 42
Uploaded by
Compatibility
Minecraft: Java Edition
1.21.1
Platform
Fabric
Supported environments
Server-side
Singleplayer
Required content
Any compatible version
Any compatible version
Changes
[3.0.0] - 2026-10-07
Stable release for Minecraft 1.21.1 on Fabric and NeoForge. Remnant continues Offline Player Cache (OPC).
Added
- Separate Fabric and NeoForge publishing jobs for Modrinth and CurseForge, plus a single GitHub release containing both loader JARs.
- Manual recovery options for each loader and destination, so one failed upload can be retried without repeating successful uploads.
- Release validation for version tags, loader JARs, and missing marketplace credentials.
- A refreshed Remnant logo and banner based on the original OPC artwork, with a 256×256 icon and a 1920×640 banner optimized for web use.
- GitHub, Modrinth, and CurseForge descriptions, with the Bare Minimum Studios BisectHosting banner and sponsor code.
- MixinMCP 1.5.0 development tooling and an IntelliJ/Gradle setup guide.
- Dependabot configuration for Gradle and GitHub Actions maintenance.
Changed
- Public versions use
3.0.0+1.21.1-fabricand3.0.0+1.21.1-neoforge; the internal mod version remains3.0.0and the GitHub tag isv3.0.0+1.21.1. - Publishing builds both loaders once, then uploads to each destination independently with stable Release status.
- GitHub release authentication uses the automatic
GITHUB_TOKENwith permission to write repository contents. - Publishing stages verified runtime JARs under consistent filenames and uses only the current release's changelog section as release notes.
- Project version and Maven group are configured in
gradle.properties. - Builds use Java 21, Gradle build and configuration caches, and a checksum-verified Gradle distribution.
- Gradle parallel execution is disabled for the MixinMCP/Vineflower development workflow to reduce decompilation memory pressure.
- Cached UUID and name collections now return snapshots instead of mutable backing-map views; the registered-key map is exposed as an unmodifiable view.
- Offline cache loading and per-key serialization handle malformed or failing data more safely.
- Documentation reflects the current API, commands, dependencies, project links, and BML v1.0 license. Maven examples use Modrinth project ID
oLPaySSb. - GitHub Actions and mc-publish references remain pinned to commit SHAs.
Removed
- Unused repositories, buildscript dependencies, compiler flags, and the unused
maven-publishplugin.
Fixed
- Build-tool incompatibilities by aligning Gradle 9.8.0, Cloche 0.18.10, Kotlin 2.2.21, and matching Fabric Language Kotlin, with Kotlin 2.2 language/API output.
- Fabric dependency transforms running before their required mapping archive was generated.
- Duplicate ledger registrations returning an unregistered key instead of rejecting the duplicate ID.
- Offline player persistence using an unstable player-data directory when a player entry is closed.
- Username changes leaving inconsistent UUID/name mappings, and case-sensitive offline name lookups.
- Command registration conflicts involving
/remnant clear. getandlistfailing to handle live online players alongside cached offline players.- Incorrect
/remnant playerscounts and unclear command failure reporting. - NeoForge integrated servers missing login, logout, or command events, with duplicate subscriber paths removed.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:oLPaySSb:7AYXvK88"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:oLPaySSb:7AYXvK88"
}

