1.4.0
Compatibility
Changes
Adds two new challenge systems and integrates them across startup, reset and UI:
- New listeners: TimedRandomItemListener (gives progressive random loot every 30s) and BlockBreakRandomizerListener (replaces block drops with deterministic/randomized items per match).
- Registered listeners and exposed getters in ChallengeUtil; StartCommand now starts the timed challenge and ResetCommand stops it. FullReset now resets the block-break randomizer state.
- FullResetCommand.performHolodeckReset made public; world deletion now unloads Overworld, Nether and End (with a short delay) to avoid file-lock issues on Windows and then deletes/regenerates worlds asynchronously.
- DataManager: added reloadData() and expanded clearAllData() to clear timer/world/teamrace/speedrun milestones, save and reload to ensure on-disk state matches memory after resets.
- Settings GUI and SettingsGUIListener updated to expose new challenge toggles (timed_random_item, block_break_randomizer) and added language entries for messages; config.yml added settings for block_break_randomizer and an optional fullreset-on-startup toggle.
- Version bumped to 1.4.0.
These changes implement two new RNG-based challenges, ensure proper lifecycle handling during start/reset/fullreset, and fix world-unload race conditions during regeneration.
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:iVvRCDkH"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:EPkgUkCn:iVvRCDkH"
}

