Alpha-1.5.48
Compatibility
Changes
Introduce Connunity Hunt mode and related UI/logic, plus robustness improvements to full world reset.
- Add ConnunityHuntManager: automatic team assignment (Streamer vs Viewer), 2-minute viewer headstart (blindness/invulnerability), compass charging/usage, compass tracking with fallback portal search, glowing effects and visual particle feedback. Includes utility methods to manage teams and compass cooldowns.
- Add SpectatorCommand to allow hosts to become spectators in Connunity Hunt mode.
- Add team selection GUI and multiple new listeners (ConnunityHuntMovementListener, TeamSelectionGUIListener, TeamSelectionItemListener, HeadstartRestrictionListener, BedExplosionPreventionListener, and others) and wire them up in ChallengeUtil; also expose getters for new managers/listeners.
- Update StartCommand and TeamCommand to support Connunity Hunt mode (mode mutual-exclusion checks, auto-assignment, start/notify logic, spectator handling).
- Refactor FullResetCommand: perform folder deletion asynchronously, move Thread.sleep to async task, use boolean-returning deleteWorldFolder with NIO and improved error logging, add extra safety checks (abort on incomplete deletion), create data folders for new worlds/dimensions to avoid missing files, and ensure regeneration runs on the main thread.
- Avoid loading speedrun world at startup when reset.fullreset-on-startup is enabled to prevent unnecessary I/O and Windows file-lock issues.
- Register new commands/listeners and initialize new components in ChallengeUtil.
- Bump plugin version in pom.xml and update plugin language/resources and plugin.yml accordingly.
These changes add the new game mode features and harden the reset workflow to reduce failures on Windows and avoid re-opening deleted world files.
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:EPkgUkCn:qewdf9z6"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:EPkgUkCn:qewdf9z6"
}

