All versions
1.3.0
Release
v1.3.0last month 4
Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.8–1.8.9
Platform
Paper
Changes
Added
- Auto-Update System (All Platforms): ProtectCord now checks Modrinth directly for new releases instead of relying on a hardcoded version endpoint. When an update is found, it can automatically download, SHA-1 verify, and stage the new JAR for seamless updating on next restart.
- Paper/Spigot/Folia: Uses Bukkit's native
plugins/update/folder — the server automatically applies the update on restart - BungeeCord: Stages in
plugins/update/(Waterfall and compatible forks apply automatically) - Velocity: Downloads to
plugins/protectcord/pending-update/and swaps the JAR on proxy shutdown - Forge: Downloads to
config/protectcord/pending-update/and swaps the mod JAR on server shutdown
- Paper/Spigot/Folia: Uses Bukkit's native
- Update Commands:
/protectcord update statusshows current version, latest version, update state, and changelog summary./protectcord update checkforces an immediate Modrinth check./protectcord update applytriggers download and staging. - In-Game Update Notifications: Ops and admins are notified when they join if an update is available or staged, with actionable messages showing the version and how to apply it
- Discord Webhook Update Alert: When a new version is detected, a formatted Discord embed is sent via the existing webhook system showing the current version, new version, changelog summary, and Modrinth download link. Controlled by
discord-webhook.events.update: true - Changelog Display:
/protectcord update statusshows the first 5 lines of the Modrinth release changelog so admins can see what changed without leaving the game - Config Section: New
auto-updateconfig block withenabled(default: true),auto-download(default: false — must opt-in),check-interval-hours(default: 12), andnotify-ops-on-join(default: true) - Config Migration v3: Existing configs automatically get the new auto-update section added on upgrade
Changed
- Update checking now polls the Modrinth API directly (
api.modrinth.com/v2/project/y05wfnBZ/version) instead of the custom CF Worker endpoint, with platform-specific loader filtering - All network I/O for update checking and downloading runs on async threads — never blocks the main server thread
- Downloaded JARs are verified with SHA-1 hashes from Modrinth metadata before staging
- Tab completion now includes
updatewithstatus,check,applysub-completions
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:y05wfnBZ:yZWajSIt"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:y05wfnBZ:yZWajSIt"
}

