Race v1.4.1

Timed races on foot, by boat or with elytra. Build your tracks in-game, the timer does the rest.
  • ChatGPT Image 10 juin 2026, 23_12_15.png
  • 2026-06-21_09.28.36.png
  • 2026-06-21_09.28.55.png
  • 2026-06-21_09.31.50.png
  • 2026-06-21_09.32.48.png
  • Capture d'écran 2026-06-21 093730.png
  • ChatGPT Image 10 juin 2026, 23_12_15.png
  • 2026-06-21_09.28.36.png
  • 2026-06-21_09.28.55.png
  • 2026-06-21_09.31.50.png
  • 2026-06-21_09.32.48.png
  • Capture d'écran 2026-06-21 093730.png
Race

Languages: English · Français

Build timed race tracks and run multiplayer races on foot, by boat or in an elytra: sign up, wait for the synchronized countdown, chain the checkpoints and chase the record.

✨ Features
  • Tracks built 100% in-game: a start, ordered checkpoints (the last checkpoint = the finish line), each with a configurable radius.
  • Three vehicle types — on foot, boat, or elytra (with a configurable number of rockets) — chosen per track in a settings GUI.
  • Multiplayer races: players sign up with /race join; the race auto-starts after a delay (or an admin forces it), with a synchronized countdown then a simultaneous GO.
  • Live HUD: chronometer + speed (km/h), a per-checkpoint title showing the time gap with the racer just ahead, and a "back to last checkpoint" compass.
  • Checkpoints required in order, or optional (reaching the finish is enough) — per track.
  • Records & leaderboard per track: best times, average time (cached, refreshed every 6h) and your personal rank, all shown by /race info.
  • Track preview: particles + holograms (green start, cyan checkpoints, orange finish), toggled with /race show and /race hide.
  • Settings GUI: rename, vehicle, rockets, checkpoints required/optional, spectator-on-finish, entity collisions on/off.
  • Rank money reward via Vault (works with any economy plugin): (racers - rank + 1) × coefficient.
  • Full FR/EN localization (lang/fr.yml, lang/en.yml).

📥 Installation
  1. Drop Race-<version>.jar into the server's plugins/ folder.
  2. Restart the server (Paper 1.21+, Java 21). Optional soft-dependencies: PlaceholderAPI, Vault (+ any economy plugin) for placeholders and money rewards.
  3. config.yml, lang/fr.yml, lang/en.yml and tracks.yml are generated on first launch.

🕹️ Usage

Admin — create & configure a track (100% in-game):
  1. /race create <name>
  2. Stand at the start, then /race setstart <name>
  3. /race cp add <name> [radius] for each checkpoint — the last one is the finish line
  4. /race settings <name> → pick the vehicle (on foot / boat / elytra), rockets and options
  5. Once complete (start + finish), the track is ready to race.

Player — race:
  1. Run /race list and pick a track.
  2. /race join <name> to sign up; the race starts after the countdown (or an admin's /race start).
  3. /race leave to forfeit.

🎮 Commands & Permissions
Command /race (alias /r). Permissions: race.play (default true) · race.admin (default op).

Players (race.play):

CommandDescription
/race listList the tracks (opens the menu in-game)
/race join <name>Join / sign up for a race
/race leaveLeave / forfeit the race
/race info <name>Track details (records, average, your best)
/race supportGet the support Discord link

Admins (race.admin):

CommandDescription
/race create <name>Create a track
/race delete <name>Delete a track
/race setstart <name>Set the start at your position
/race cp <add|move|delete|list> <name> [value]Manage a track's checkpoints (last = finish)
/race tp <name>Teleport to a track's start
/race settings <name>Settings menu (name, vehicle, rockets, options)
/race show <name> | /race hideEnable / hide the track preview
/race resettimes <name>Clear a track's times and record
/race start [name] | /race stop [name]Force an immediate start / stop the race
/race reloadReload the config and messages

⚙️ Configuration
Excerpt from config.yml (English keys & comments; only player-facing values follow the server language):
Code:
# Message language: "fr" or "en" (files customizable in plugins/Race/lang/).
language: fr
prefix: "<gradient:#1e90ff:#00bfff><bold>Race</bold></gradient> <dark_gray>»</dark_gray> "
# Default radius (blocks) of a checkpoint / the finish line.
default-checkpoint-radius: 3.0
# Vault money reward by rank: (numberOfPlayers - rank + 1) * coefficient. 0 disables it.
reward-coefficient: 10.0
default-elytra-rockets: 16          # rockets given for an elytra race
auto-start-delay-seconds: 120       # auto-start delay after the first sign-up
countdown-seconds: 3                # start countdown (TP + release)
detection-interval-ticks: 2         # progress checks (checkpoints / finish)
checkpoint-gap-display-seconds: 1   # time-gap title duration (0 disables)

🔗 Compatibility
  • Vault (optional): rank money rewards on finish, with any Vault economy (EssentialsX, CMI…). Set reward-coefficient: 0 to disable.
  • PlaceholderAPI (optional): placeholders %race_in_race%, %race_record_<track>%, %race_active_track%, %race_track_count% for scoreboards, tablists and chat.
  • Standalone: runs on any Paper 1.21+ server — no other plugin required.

🔌 API
Loose coupling through the ServicesManager (no compile-time dependency on the Race jar):
Code:
var reg = Bukkit.getServicesManager().getRegistration(RaceApi.class);
if (reg != null) {
    RaceApi api = reg.getProvider();
    api.getGames().forEach(g -> getLogger().info(g.displayName() + " : " + g.status()));
    api.join(player, "track1");
}
RaceApi exposes getGames(), join(player, id), isInGame(uuid) and leaveCommand(); each game is a RaceGame(id, displayName, status, players, joinable). Listen to the custom events:
Code:
@EventHandler
public void onEnd(RaceEndEvent event) {
    getLogger().info("Race finished on " + event.getTrack() + " — winner: " + event.getWinner());
}
(RaceStartEvent exposes getTrack() / getPlayers().)

🤝 Contributing

━━━━━━━━━━━━━━━━━━━━​

Race (Français)

Langues : English · Français

Crée des parcours chronométrés et lance des courses multijoueurs à pied, en bateau ou en élytra : inscris-toi, attends le décompte synchronisé, enchaîne les checkpoints et bats le record.

✨ Fonctionnalités
  • Parcours créés 100 % en jeu : un départ, des checkpoints ordonnés (le dernier checkpoint = la ligne d'arrivée), chacun avec un rayon configurable.
  • Trois types de véhicule — à pied, en bateau ou en élytra (avec un nombre de fusées configurable) — choisis par parcours dans un menu de réglages.
  • Courses multijoueurs : on s'inscrit avec /race join ; la course démarre automatiquement après un délai (ou un admin la force), avec un décompte synchronisé puis un GO simultané.
  • HUD en direct : chronomètre + vitesse (km/h), un titre à chaque checkpoint affichant l'écart de temps avec le concurrent juste devant, et une boussole « retour au dernier checkpoint ».
  • Checkpoints obligatoires dans l'ordre, ou optionnels (atteindre l'arrivée suffit) — par parcours.
  • Records & classement par parcours : meilleurs temps, temps moyen (mis en cache, recalculé toutes les 6 h) et ta position personnelle, le tout via /race info.
  • Prévisualisation du parcours : particules + hologrammes (départ vert, checkpoints cyan, arrivée orange), activée avec /race show et /race hide.
  • Menu de réglages : renommer, véhicule, fusées, checkpoints obligatoires/optionnels, spectateur à l'arrivée, collisions entre entités activées/désactivées.
  • Récompense en argent au classement via Vault (fonctionne avec n'importe quelle économie) : (nbCoureurs - rang + 1) × coefficient.
  • Localisation FR/EN complète (lang/fr.yml, lang/en.yml).

📥 Installation
  1. Déposer Race-<version>.jar dans le dossier plugins/ du serveur.
  2. Redémarrer le serveur (Paper 1.21+, Java 21). Dépendances optionnelles : PlaceholderAPI, Vault (+ une économie) pour les placeholders et les récompenses en argent.
  3. config.yml, lang/fr.yml, lang/en.yml et tracks.yml sont générés au premier lancement.

🕹️ Utilisation

Admin — créer & configurer un parcours (100 % en jeu) :
  1. /race create <nom>
  2. Se placer au départ, puis /race setstart <nom>
  3. /race cp add <nom> [rayon] pour chaque checkpoint — le dernier est la ligne d'arrivée
  4. /race settings <nom> → choisir le véhicule (à pied / bateau / élytra), les fusées et les options
  5. Une fois complet (départ + arrivée), le parcours est prêt à être couru.

Joueur — courir :
  1. Lancer /race list et choisir un parcours.
  2. /race join <nom> pour s'inscrire ; la course démarre au décompte (ou via le /race start d'un admin).
  3. /race leave pour abandonner.

🎮 Commandes & Permissions
Commande /race (alias /r). Permissions : race.play (défaut true) · race.admin (défaut op).

Joueurs (race.play) :

CommandeDescription
/race listLister les parcours (ouvre le menu en jeu)
/race join <nom>S'inscrire à la course
/race leaveSe désinscrire / abandonner
/race info <nom>Détail d'un parcours (records, moyenne, ton meilleur temps)
/race supportObtenir le lien du Discord de support

Admins (race.admin) :

CommandeDescription
/race create <nom>Créer un parcours
/race delete <nom>Supprimer un parcours
/race setstart <nom>Définir le départ à ta position
/race cp <add|move|delete|list> <nom> [valeur]Gérer les checkpoints (le dernier = l'arrivée)
/race tp <nom>Se téléporter au départ d'un parcours
/race settings <nom>Menu de réglages (nom, véhicule, fusées, options)
/race show <nom> | /race hideActiver / masquer la prévisualisation
/race resettimes <nom>Effacer les temps et le record d'un parcours
/race start [nom] | /race stop [nom]Forcer le départ immédiat / arrêter la course
/race reloadRecharger la config et les messages

⚙️ Configuration
Extrait de config.yml (clés & commentaires en anglais ; seules les valeurs affichées aux joueurs suivent la langue du serveur) :
Code:
# Langue des messages : "fr" ou "en" (fichiers personnalisables dans plugins/Race/lang/).
language: fr
prefix: "<gradient:#1e90ff:#00bfff><bold>Race</bold></gradient> <dark_gray>»</dark_gray> "
# Rayon par défaut (blocs) d'un checkpoint / de l'arrivée.
default-checkpoint-radius: 3.0
# Récompense Vault au classement : (nbJoueurs - rang + 1) * coefficient. 0 désactive.
reward-coefficient: 10.0
default-elytra-rockets: 16          # fusées données pour une course en élytra
auto-start-delay-seconds: 120       # délai d'auto-démarrage après la 1re inscription
countdown-seconds: 3                # décompte de départ (TP + libération)
detection-interval-ticks: 2         # fréquence des vérifications (checkpoints / arrivée)
checkpoint-gap-display-seconds: 1   # durée du titre d'écart de temps (0 désactive)

🔗 Compatibilité
  • Vault (optionnel) : récompenses en argent au classement, avec n'importe quelle économie Vault (EssentialsX, CMI…). reward-coefficient: 0 pour les désactiver.
  • PlaceholderAPI (optionnel) : placeholders %race_in_race%, %race_record_<parcours>%, %race_active_track%, %race_track_count% pour scoreboards, tablists et chat.
  • Autonome : fonctionne sur tout serveur Paper 1.21+ — aucun autre plugin requis.

🔌 API
Couplage faible via le ServicesManager (aucune dépendance de compilation au jar de Race) :
Code:
var reg = Bukkit.getServicesManager().getRegistration(RaceApi.class);
if (reg != null) {
    RaceApi api = reg.getProvider();
    api.getGames().forEach(g -> getLogger().info(g.displayName() + " : " + g.status()));
    api.join(player, "parcours1");
}
RaceApi expose getGames(), join(player, id), isInGame(uuid) et leaveCommand() ; chaque jeu est un RaceGame(id, displayName, status, players, joinable). Écouter les événements custom :
Code:
@EventHandler
public void onEnd(RaceEndEvent event) {
    getLogger().info("Fin de course sur " + event.getTrack() + " — vainqueur : " + event.getWinner());
}
(RaceStartEvent expose getTrack() / getPlayers().)

🤝 Contribution
Buy a license now
$5.00
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
1 year
Share and earn
Refer this resource and earn a 10% commission.
106 Views
0 Purchases
2 Downloads
Jun 26, 2026 Published
N/A Updated
Not yet rated
147.3 KB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. No
Type
  1. Gameplay
  1. Minigame
  1. Fun
Game mode
  1. Survival
  1. Minigame
  1. Parkour
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
Supported languages
  1. English
  1. French
Creator
Owner
Struggling to cover the costs of your server? Set up your own webstore with Tebex in under 30 seconds.
Host a lag-free Minecraft or Hytale server in minutes.
Get 25% off your first order with our link.
Recommended for you
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,208 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 53 ratings
3,170 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 44 ratings
3,097 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 71 ratings
2,812 purchases
All-in-one dungeon creator. Create unlimited, timed dungeon experiences with your own builds
4.50 star(s) 72 ratings
2,580 purchases
Share and earn
Refer this resource and earn a 10% commission.
106 Views
0 Purchases
2 Downloads
Jun 26, 2026 Published
N/A Updated
Not yet rated
147.3 KB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. No
Type
  1. Gameplay
  1. Minigame
  1. Fun
Game mode
  1. Survival
  1. Minigame
  1. Parkour
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Folia
  1. Purpur
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
Supported languages
  1. English
  1. French
Creator
Owner
Struggling to cover the costs of your server? Set up your own webstore with Tebex in under 30 seconds.
Host a lag-free Minecraft or Hytale server in minutes.
Get 25% off your first order with our link.
Recommended for you
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,208 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 53 ratings
3,170 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 44 ratings
3,097 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 71 ratings
2,812 purchases
All-in-one dungeon creator. Create unlimited, timed dungeon experiences with your own builds
4.50 star(s) 72 ratings
2,580 purchases
Top