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]
the plugin not support spigot1.12.2. can you make that support spigot1.12.2, i very need the plugin, this is very good plugin, hope you can update the plugin to 1.12.2! :)
plz add a tutorial, because I love this plugin, but still don't know how it works....
LOL you have to download the newest "Horse Racing" plugin from the dev
help?
[11:39:17] [Server thread/INFO]: Loading properties [11:39:17] [Server thread/INFO]: Default game type: SURVIVAL [11:39:18] [Server thread/INFO]: This server is running CraftBukkit version git-Spigot-c3c767f-33d5de3 (MC: 1.8) (Implementing API version 1.8-R0.1-SNAPSHOT) [11:39:18] [Server thread/INFO]: Debug logging is disabled [11:39:18] [Server thread/INFO]: Server Ping Player Sample Count: 12 [11:39:18] [Server thread/INFO]: Using 4 threads for Netty based IO [11:39:18] [Server thread/INFO]: Generating keypair [11:39:18] [Server thread/INFO]: Starting Minecraft server on localhost:25565 [11:39:18] [Server thread/INFO]: Set PluginClassLoader as parallel capable [11:39:18] [Server thread/ERROR]: Could not load 'plugins\EssentialsSpawn-2.x-SNAPSHOT.jar' in folder 'plugins' org..plugin.UnknownDependencyException: Essentials at org..plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:219) [server.jar:git-Spigot-c3c767f-33d5de3] at org..craftbukkit.v1_8_R1.CraftServer.loadPlugins(CraftServer.java:291) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:152) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:505) [server.jar:git-Spigot-c3c767f-33d5de3] at java.lang.Thread.run(Unknown Source) [?:1.8.0_73] [11:39:18] [Server thread/ERROR]: Could not load 'plugins\EssentialsChat-2.x-SNAPSHOT.jar' in folder 'plugins' org..plugin.UnknownDependencyException: Essentials at org..plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:219) [server.jar:git-Spigot-c3c767f-33d5de3] at org..craftbukkit.v1_8_R1.CraftServer.loadPlugins(CraftServer.java:291) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:152) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:505) [server.jar:git-Spigot-c3c767f-33d5de3] at java.lang.Thread.run(Unknown Source) [?:1.8.0_73] [11:39:19] [Server thread/INFO]: [WorldEdit] Loading WorldEdit v6.0;3342-78f975b9 [11:39:19] [Server thread/INFO]: [HorseRacingPlus] Loading HorseRacingPlus v1.4.1 [11:39:19] [Server thread/INFO]: [Multiverse-Core] Loading Multiverse-Core v2.5-b699 [11:39:19] [Server thread/INFO]: [WorldGuard] Loading WorldGuard v6.1 [11:39:19] [Server thread/WARN]: SERVER IS RUNNING IN OFFLINE/INSECURE MODE! [11:39:19] [Server thread/WARN]: The server will make no attempt to authenticate usernames. Beware. [11:39:19] [Server thread/WARN]: While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose. [11:39:19] [Server thread/WARN]: To change this, set "online-mode" to "true" in the server.properties file. [11:39:19] [Server thread/INFO]: Beginning UUID conversion, this may take A LONG time [11:39:19] [Server thread/ERROR]: Conversion failed, please try again later net.minecraft.server.v1_8_R1.FileConversionException: Could not convert file for Lioco at net.minecraft.server.v1_8_R1.PlayerDatFileConverter.a(PlayerDatFileConverter.java:77) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.PlayerDatFileConverter.onProfileLookupSucceeded(PlayerDatFileConverter.java:32) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.NameReferencingFileConverter.a(NameReferencingFileConverter.java:67) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.NameReferencingFileConverter.a(NameReferencingFileConverter.java:269) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.DedicatedServer.aP(DedicatedServer.java:520) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:163) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:505) [server.jar:git-Spigot-c3c767f-33d5de3] at java.lang.Thread.run(Unknown Source) [?:1.8.0_73] [11:39:19] [Server thread/WARN]: Encountered a problem while converting the player save files, retrying in a few seconds [11:39:24] [Server thread/ERROR]: Conversion failed, please try again later net.minecraft.server.v1_8_R1.FileConversionException: Could not convert file for Lioco at net.minecraft.server.v1_8_R1.PlayerDatFileConverter.a(PlayerDatFileConverter.java:77) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.PlayerDatFileConverter.onProfileLookupSucceeded(PlayerDatFileConverter.java:32) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.NameReferencingFileConverter.a(NameReferencingFileConverter.java:67) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.NameReferencingFileConverter.a(NameReferencingFileConverter.java:269) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.DedicatedServer.aP(DedicatedServer.java:520) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:163) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:505) [server.jar:git-Spigot-c3c767f-33d5de3] at java.lang.Thread.run(Unknown Source) [?:1.8.0_73] [11:39:24] [Server thread/WARN]: Encountered a problem while converting the player save files, retrying in a few seconds [11:39:29] [Server thread/ERROR]: Conversion failed, please try again later net.minecraft.server.v1_8_R1.FileConversionException: Could not convert file for Lioco at net.minecraft.server.v1_8_R1.PlayerDatFileConverter.a(PlayerDatFileConverter.java:77) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.PlayerDatFileConverter.onProfileLookupSucceeded(PlayerDatFileConverter.java:32) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.NameReferencingFileConverter.a(NameReferencingFileConverter.java:67) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.NameReferencingFileConverter.a(NameReferencingFileConverter.java:269) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.DedicatedServer.aP(DedicatedServer.java:520) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:163) [server.jar:git-Spigot-c3c767f-33d5de3] at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:505) [server.jar:git-Spigot-c3c767f-33d5de3] at java.lang.Thread.run(Unknown Source) [?:1.8.0_73] [11:39:29] [Server thread/WARN]: DETECTED OLD PLAYER DIRECTORY IN THE WORLD SAVE [11:39:29] [Server thread/WARN]: THIS USUALLY HAPPENS WHEN THE AUTOMATIC CONVERSION FAILED IN SOME WAY [11:39:29] [Server thread/WARN]: please restart the server and if the problem persists, remove the directory '.\world\players' [11:39:29] [Server thread/INFO]: Stopping server [11:39:29] [Server thread/INFO]: Saving players
Hi, I havn't changed the config at all and once Iv'e created a race, it says 'This arena is not set up properly!'. Please help somehow. Image Removed: http://www.mediafire.com/view/mnlld2qz8r278zs/Screenshot (10).png
I know this is an older plugin, but I figured I'd give it a shot and comment:
I have the config set to specify the white horse, but it still uses random horses. With the difference speeds of the different horses, this obviously creates some unfair advantages depending on the horse you are assigned.
Hey, is there a way to run this on 1.8 ? Everytime i try to start the game me and the other persons fly up high and gets kicked for flying is not enabled on this server, horses doesn´t spawn - No errors in the console.
I hope for help, greets HALOween
@scorpionvssub
Checked the source. If you run /hr setspectate <arena-name>, it will create the spectate spawn (not sure if there's multiple points, but I know you can set one), then /hr spectate <arena>, once the arena has started, will allow you to spectate the race.
been reading through this thiing and it said on 1 version "spectating" but im wildly guessing, that you didnt add the command for spectating? or...do you spectate the race after you won, cause i was thinking of using this then create an arena with seats on the sides for players to stand and watch the race while bedding who will win. Kinda like a football stadium but with horse tracks instead of goals and pitches
@EnderSandman
Thank you very mutch. Works perfect!
my horse doesent appear
There were some features that did not seem to work so I updated this to 1.8.1. Here is a link to it if you want to try it out.
https://www.dropbox.com/s/aa3vtqgbh71i3z2/HorseRacingPlus-1.8.1-SNAPSHOT.jar?dl=0
Hello. Can you add a new feature about running commands to the horse racing winner? That will be very useful.
Any chance at updates?
I like the different horses, it adds a luck element.
for baby horses all you must do is make the correct track, baby horses fit through 1 block spaces, adult horses don't.
\/ Try it yourselves \/
=== Join my server: 198.24.166.206 ===
@Jake7902
I've had to remove this plugin due to those bugs a few months ago. instancelabs is aware of them and he said that to fix them, he needs to re-write the plugin. I'm guessing if it is released, it will use the API plugin he made for mini-games. And yes, this would be a great fit to be added to the mini-games party plugin. :)
LHammonds
Time for a list of bugs!
Please fix these ASAP as it is restricting the plugins' use on my server.
Is this still being developed?
this plugin makes huge log files like reaches 20gb in a few days 2 or 3 it's crazy fix that
People at my server love the plugin! A thing that I would recommend though, make an in-game leaderboard and maybe a overall leaderboard with signs/playerheads ? Would be a cool add-on!
I might do a video on this plugin when I get to know it better :)