Horse Racing Plus
Horse Racing Plus
This plugin let's you create an arena with several spawns and a finish line and let your players race against each other! You will be able to specify rewards in form of money or items and have multiple arenas in multiple worlds!
This project is now open source: Github.
Features
v1.0: (14.08.13)
- simple setup
- rewards in form of money or items
- multiworld support
- multiarena support
- every command available trough signs
- customize all strings to your language and change all colors
- custom names for horses
- Linux support
- Include not only gambling, but also normal money reward
- Movement lock
- Players can't exit horses in any way (commands, shift)
- Autoupdater
v1.1: (16.08.13)
- /hr cancel [name] for cancelling a race
- clear arenas on server reload/shutdown
- /hr join command
- Java 1.6 support
- multiple rounds
- fix countdown bugs <-
- optionally announce winners
- Race statistics
v1.2: (20.08.13)
- remove log spam in the console
- Big code cleanup
- Errors etc. get logged to plugin_log.txt in the HorseRacingPlus directory
- shop
- Leaderboards
- Stats fixed
- minor bugfixes
- /hr removespawn command
- arena cycling
v1.2.1: (22.08.13)
- players can bet
- Bugfix: Horses not spawning if arena too far away
- Horse protection: if horse dies in a game, players gets new one
v1.2.2: (29.09.13)
- spectating
- a few minor bugfixes regarding player leaving
- inventory saving
- if all players leave and no winning possible anymore -> "last man standing" wins prize
- play sound when game starts
- add /hr reset command
- fix sign on rightclick, if it's screwed
- reloading now properly tps people away and fixes signs
- add wrong setup prevention
- fix bug preventing horses from despawning
- Bugfixes
v1.3:
- MySQL support
v1.3.1:
- multiple item prizes (only multiple ids, not amounts yet)
- maybe Bungee support
Green bullets are done, orange ones buggy or in work and red ones not done yet
Setup
It's fairly simple, you need a lobby, some spawns and the finish line.
- /hr createrace [name]
- /hr setlobby [name]
- /hr setspawn [count] [name] You can set unlimited spawns. The number of spawns is equal to the maximum of players that can join a race
- /hr setfinish [name] After you typed in /hr setfinish [name], you'll get a wooden shovel to select two points, as described on the picture beneath.
- create a join sign at the lobby:
- [horserace]
- racename
To set a finish line, select the first point by leftclicking the block with the wooden shovel and the second point by rightclicking the other block:

Arenacycling Setup (v1.2)
If you have two (or more) arenas and want your users to cycle through all this arenas in one run, use this feature.
Please delete any join signs before using arenacycling, otherwise it won't work. Right now you can either use multiple arenas with multiple join signs or arena cycling. Also, every arena needs to have the same amount of spawns.
- Be sure to have at least two arenas already set up.
- turn on arena_cycling in the config.
- Create the following join sign:
- [horserace]
- [cycle]
To remove the cycling feature again, turn arena_cycling off in the config. You can optionally remove the cycle join sign, but it won't work anyway with arena_cycling disabled.
MySQL (v1.3)
Enable MySQL in the config file by setting mysql.enabled to true, also adjust the host, database, user and password settings to your needs. Create a table in the following format and you're good to go!
| id (int) | player (string) | win (int) | lose (int) |
The id column must be the primary key and have the autoincrement attribute set to true. Table name: horseracing_stats.
Configuration
Config:
- use_economy: true
- use_gambling: true
- entry_money: 10 if use_gambling is set to true, everyone pays a little bit, but the player wins everything
- normal_money_reward: 50 if gambling is not enabled, noone needs to pay to join the race and the winner gets e.g. 50$
- itemid: 364 If you don't want to use economy, your players can also get items (e.g. diamonds) as a reward
- itemamount: 10 amount of items to give
- horsename: Racehorse You can change the name of the race horses
- horsecolor: BLACK And even the color of the horses :)
- use_rounds_system: false
- rounds: 2
- min_players: 2
- starting_cooldown: 10
- cycle_through_arenas: false
- announce_winner: true
- arena_cycling: false see ArenaCycling Setup for more information
- enable_betting: false
- max_bet_amount: 500
- lastmanstanding: true if enabled, the last player in an arena gets the prize after everyone leaves
Shop:
- jumppotion_price: 50
- speedpotion_price: 150
- barding_price: 100
Commands
- /hr createrace [name]
- /hr setlobby [name]
- /hr setspawn [count] [name]
- /hr list: lists all arenas
- /hr reload: Reloads config
- /hr cancel [name]: cancels a race and clears the arena
- /hr join [name]: joins a race without rightclicking a sign
- /hr removerace [name]
- /hr removespawn [name] [count] e.g. '/hr removespawn arena1 3' removes the third spawn of arena1
- /hr stats [name] show win/lose ratio and later on personal horse stats
- /hr bet [amount] [name] if the provided player wins, you'll get the doubled amount back
- /hr leave
- /hr reset [name] resets the arena, if something went wrong
Permissions
- horseracing.createrace
- horseracing.setlobby
- horseracing.setspawn
- horseracing.removerace
- horseracing.setfinish
- horseracing.sign
Preview and Youtube

Also, thanks to 300richboy for doing that nice youtube video for me!
Additional Info
- I'm open for any suggestions, just comment below! Thank you and have fun :)
- You need Vault for the economy stuff to work
- This plugin uses MCStats to send statistics to mcstats.griefcraft.com/plugin/HorseRacingPlus which contain things like server software information etc.
- This plugin also uses an auto-updater which can be turned off in the config (I don't recommend that for future bugfix releases).
[Metrics stats again soon]
-
View User Profile
-
Send Message
Posted Jan 29, 2014[00:20:51 ERROR]: Could not pass event PlayerMoveEvent to HorseRacingPlus v1.3.1
org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:320) [craftbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15 -g2f3dbd3-b2995jnks] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:62) [craftbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15-g 2f3dbd3-b2995jnks] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j ava:481) [craftbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15 -g2f3dbd3-b2995jnks] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:466) [craftbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15 -g2f3dbd3-b2995jnks] at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java :227) [craftbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15-g2 f3dbd3-b2995jnks] at net.minecraft.server.v1_7_R1.PacketPlayInFlying.a(SourceFile:137) [cr aftbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15-g2f3dbd3-b2 995jnks] at net.minecraft.server.v1_7_R1.PacketPlayInLook.handle(SourceFile:98) [ craftbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15-g2f3dbd3- b2995jnks] at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146 ) [craftbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15-g2f3db d3-b2995jnks] at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craf tbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15-g2f3dbd3-b299 5jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:6 55) [craftbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15-g2f3 dbd3-b2995jnks] at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2 50) [craftbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15-g2f3 dbd3-b2995jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5 45) [craftbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15-g2f3 dbd3-b2995jnks] at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java :457) [craftbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15-g2 f3dbd3-b2995jnks] at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6 17) [craftbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15-g2f3 dbd3-b2995jnks] Caused by: java.lang.NullPointerException at com.comze_instancelabs.horseracingplus.Main.onmove(Main.java:1401) [ ?:?] at sun.reflect.GeneratedMethodAccessor87.invoke(Unknown Source) [?:?] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1 .7.0_40] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.7.0_40] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:318) [craftbukkit-1.7.2-R0.3-20140127.014203-21.jar:git-Bukkit-1.7.2-R0.2-15 -g2f3dbd3-b2995jnks]
I got this error when I ran into the finishline with the horse in-game... :)
-
View User Profile
-
Send Message
Posted Jan 23, 2014Thanks For Updating! Keep It Up!
-
View User Profile
-
Send Message
Posted Jan 22, 2014I get this error when i joine a game! 1 player use 2 slots... so when 2 players will join i need 4 spawns!
http://pastebin.com/8UzUxvU7
-
View User Profile
-
Send Message
Posted Jan 19, 2014i installed this plugin but i can't do /hr createrace and /hr setfinish the problem is that i can't do these commands also if i'm OP or i have all the perms... help!
-
View User Profile
-
Send Message
Posted Jan 17, 2014Yes, Please Update. Im a Huge fan of this plugin but it dosen't work without updating it to 1.7.2. So update quickly plz, thx. Also cool plugin and Sea Battle too.
-
View User Profile
-
Send Message
Posted Jan 15, 2014I was working on many other projects and didn't find the time to update HorseRacingPlus and SeaBattle, but I'm planning on updating both and fixing any bugs that are present as of now soon :)
-
View User Profile
-
Send Message
Posted Jan 15, 2014Don't spawn horses and after start all are frezed.
Any ideas?
-
View User Profile
-
Send Message
Posted Jan 6, 2014Hi! Is there any possible way that I can make it so people have to bring their own tamed horse to the arena?? Thanks!
-
View User Profile
-
Send Message
Posted Jan 6, 2014Hi! So I was wondering if it was possible to make it that you bring your own pet horse to the arena. Is that possible?
-
View User Profile
-
Send Message
Posted Dec 26, 2013hey whenever i try making an arena i follow the steps exactly as described and when i try to put the sign up at the end it says "unfortunately, this arena was not found", and when i try to do /hr join equo (equo is the name of the arena) it says "this arena is not set up properly"…please help
-
View User Profile
-
Send Message
Posted Dec 14, 2013I love the way this works, but how would I make a race if it was a round track? (Starts at line, goes around, ends at line again.)
-
View User Profile
-
Send Message
Posted Dec 8, 2013Does this plugin update to 1.7.2 soon? Because it won't work in combination with other plugins in my server who are already updated to the latest version (which is 1.7.2.).
-
View User Profile
-
Send Message
Posted Dec 1, 2013@PapaHarni
I'm gonna look into that and fix the bug :)
-
View User Profile
-
Send Message
Posted Nov 27, 2013Next error after use /hr leave after race start.
-
View User Profile
-
Send Message
Posted Nov 22, 2013@BryanChung
@instancelabs
Have the same problem like BryanChung, I'm stack into the air without horse. Horse can be spawned.
Get this error into the console :
, And what is the Tablename for MySQL Support? I can't create a table without a Name ;-) Edit : Ok have found Table name , sounds "horseracing_stats"
-
View User Profile
-
Send Message
Posted Nov 19, 2013@BryanChung
Check for any worldguard flags (mob-spawning: allow) or plugins that could prevent mob spawning :)
-
View User Profile
-
Send Message
Posted Nov 17, 2013Why is it that when the race counts down to 0, the players just get stuck? Don't see any horses spawning on it and the player cannot move.
On Spigot 1.6.4.
-
View User Profile
-
Send Message
Posted Nov 16, 2013@MrFrostmaul
Ah, thanks :)
-
View User Profile
-
Send Message
Posted Nov 15, 2013@Coookiii
It's
/hr setfinish not /hr finishline
-
View User Profile
-
Send Message
Posted Nov 15, 2013I am having an error when setting the finishline, Whenever I have setup the lobby and spawns already, and of course created the course itself. Wich is named kingly; Whenever I type /hr finishline Kingly , it gives me the message: "This command action was not found."