Links
Tags
Creators
Details
1.0.1
Compatibility
Required content
Changes
Fix release β /skin did not work correctly on any Minecraft version other than the one the mod was compiled against.
Fixed
/skincrashed the server on 1.21.9 and 1.21.10. The mod calledServerPlayer.getServer(), which those releases no longer have. TheNoSuchMethodErrorlanded in the server tick loop, so the whole server went down, not just the command./skinfailed on 1.21 through 1.21.8. Messages went out viaServerPlayer.sendSystemMessage, which only appeared in 1.21.9./skin resetfailed on 1.21.9+. The player name came fromGameProfile.getName(), but in newer authlibGameProfileis a record withname().
All three had the same root cause: one jar for the whole version range reaching for API that part of that range does not have. Commands now use only CommandSourceStack β the one API with the same shape across 1.21 β 1.21.10.
Changed
- Supported range is now 1.21 β 1.21.10. 1.21.11 is out: it no longer has
CommandSourceStack.hasPermission, which therequireOperatoroption relies on.
Added
tools/check_api.pyβ checks a built jar against the mappings of every supported version and rejects it if the mod calls anything missing from any of them. It also flags casts to Minecraft types and direct authlib usage, the exact traps behind the bugs above.
Verified with a bot on test servers running 1.21.10 and 1.21.1: list, paging, library skin, random, reset, player, url and an unknown name.
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:npzRyUlx:HS1tYEiU"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:npzRyUlx:HS1tYEiU"
}

