All versions
1.1.1
Release
Protectcord 1.1.17 months ago 15
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
Folia
Changes
Version: 1.1.1 Release Type: Critical Bug Fix
Critical Fixes - Folia Scheduler Compatibility
This release fixes a critical crash on startup caused by incompatible scheduler API usage with Folia.
Fixed:
- Folia Scheduler Compatibility - Replaced legacy Bukkit scheduler with Folia async scheduler
- Previously, the plugin used
Bukkit.getScheduler().runTaskTimerAsynchronously()which is unsupported in Folia (my mistake) - Folia's regionalized threading model requires use of its own async scheduler API
- Error:
java.lang.UnsupportedOperationExceptionatCraftScheduler.runTaskTimerAsynchronously - Fix: Replaced with
Bukkit.getAsyncScheduler().runAtFixedRate()using proper time units - Impact: Plugin now loads successfully on Folia servers without crashing
- Previously, the plugin used
Technical Details:
- Changed update checker scheduling from tick-based to time-based (3600 seconds = 1 hour)
- Added
java.util.concurrent.TimeUnitimport for proper time unit handling - Updated scheduler call at ProtectCordPlugin.java:90-97
- Maintains same hourly update check frequency
Compatibility:
- Fully backward compatible with v1.1.0 configuration and data
- No configuration changes required
- No breaking changes
- Tested on Folia 1.21.8
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:GMox8fd9"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:y05wfnBZ:GMox8fd9"
}

