Links
Tags
Creators
Details
2.0-BETA
Compatibility
Changes
IceBoatRacing v2.0-BETA
A major update focused on multi-race support, a brand-new auto-trace checkpoint system, and a big pass on stability, translations, and race-finish feedback. This is a BETA release โ core features are implemented and playable, but some older systems are still being polished and re-tested.
โจ Major Features
๐ Multi-Race System
IBR now supports multiple simultaneous races instead of a single global race.
- New
Raceclass: every race (checkpoints, cars, sectors, data) is now scoped to its own race instance instead of being global. RaceManagercan load, save, and manage many races at once.- Cars, checkpoints, and sectors are all race-aware.
- Races can be started/ended/prepared directly from
Race.java, without needing to go throughRaceManager.
๐ง RaceCreator: Guided Race Setup
A new guided, step-by-step process for creating a race from scratch, replacing manual/scattered setup steps.
๐ฐ๏ธ Auto-Trace Checkpoint System
A brand new way to place checkpoints โ record a lap and let IBR trace the track for you instead of manually placing every checkpoint with a wand.
- Full language/config support for auto-trace messages.
- Integrated directly into the
RaceCreatorguided flow. - New
/checkpoint view <Race>command to visualize all checkpoints of a race.
๐ Localization
- Full French (
fr_FR) and English (en_US) language files, including translated error and ranking messages. - Auto-trace and checkpoint messages now support the language config system.
๐ Ranking & Finish Stats
- Races now send a full ranking when they end, with proper error handling/logging.
- Players get a personal stats message when they finish a race, including best sector times (fixed a bug where these previously wouldn't display correctly).
๐ค Cars
- Added support for chest boat cars.
- Prevented players from creating more than one car per race.
- Fixed cars not deleting properly (config path bug).
- Fixed the car listener not stopping cars from moving before a race starts.
- Cars are now removed before respawning to prevent duplicate boats.
- Improved handling of cars when a player disconnects and reconnects mid-race (start location, logging, etc.).
๐๏ธ Races
- Races now automatically end when the last racer disconnects.
- Racing gamemode is now enforced and configurable, along with
spectateOnFinish, viaconfig.yml. - Added
/race setLapCount. - Added support for players disconnecting and reconnecting during an active race.
- Players can now skip a checkpoint if needed.
- Fixed
/race deletereading from the wrong race list. - Fixed race name lookups not supporting spaces.
๐ ๏ธ General / Technical
- Migrated the project from Maven to Gradle.
- Plugin version in
build.gradle.ktsis now kept in sync withpaper-plugin.yml. - Rewrote
README.md. - Added automatic reload when a world loads.
- Various dev quality-of-life improvements.
- Numerous bug fixes and project warning cleanups throughout (checkpoint/car commands, tab completion, sidebar scoring, sector/finish messages, and more).
๐ Notes
This is a BETA build โ auto-trace and several reworked systems are still being play-tested. Feedback and bug reports are very welcome!
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:jj9IEQao:8bWY0SfY"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:jj9IEQao:8bWY0SfY"
}

