MC-Market is now BuiltByBit. Read more

Races (Paid Version) (Extremely Configurable) (API) v2.6.9

A races plugin similar to Treasure Wars plugin!
Hello there, I want to explain to you guys why we made "Races" a premium plugin the reason for this was that we felt like Races was going somewhere and for this to motivate us more was to make it a premium plugin. There is a BIG difference between the free version and the premium version, the thing is for the free version we will most likely not post that many updates for it. The code is indeed optimized as well ;)

What is Races?

Do you want a racing plugin where you can choose a race upon when you join the first time? Then this is for you! Races allows players to chose their race to get different perks. For example the orc gets Resistance I forever. Now you might ask, how would a player chose their race? When a player first joins the server it automatically forces the player to open a menu from there they are required to select a race if they try to exit the menu it will reopen the menu for them. Create your own CUSTOM RACES, customize what you want the name to be!


/Changerace - reopens the menu the racechange menu if you have enough race changes available (Bypass permission: races.changerace)
/addracechanges (player) (number) - ( Gives a player a race change token which allows them to change their race once per token they have )
/setracespawn (race) - ( sets a racespawn wherever you are standing )
/racespawn (race) (player) - ( teleports to a racespawn )
/channel - ( switches between channels if you have them enabled )
/race - ( brings up a help menu )
/race reload - Permission: races.admin (EXPERIMENTAL: I advise to restart your server instead of using this)
/setrace (player) (race) - Set a player's race (Permissions: races.setrace)
/whatrace (player) - See what Race a player is in (Permissions: races.whatrace)
/chooserace - Choose your race, only when you have Skip GUI enabled (Permission: races.chooserace)
/friendlyfire - enable or disable this in the config.YML
/racestats (race;player) - See stats for a player or a race to a player (Permission: races.racestats)
/racedeposit - Racedeposit takes money from your balance and puts it into your Races balance. (Permission: races.deposit)
/racegiveall (race|all) (money|command) (moneyAmount|command)
/racevault - All of the players in each Race have access to a Vault that is specific to that Race. Only that Race can access that Vault so that each Race can share and transfer items to help each other out. (Permission: races.vault)
/topraces - display the top races on your server. (their balance and kills) etc (Permission: races.topraces)
/raceterritor - claim territory for certain Races (Permission: races.raceterritory)

Features that is getting added to Races upon the next days/weeks!

    • Leaders - Be able to vote for a leader to lead that Race, example if you choose a leader for ORC and vote for a person to be the leader of that Race he will have the permissions to ( Turn friendly fire on/off, manage a race warp for that specific race, and more to come! You'll be able to manage this in a GUI ( the leader of the race )

    • Custom Abilities - Be able to make whatever you want the race to have, etc if you want them to have strength and speed and jump. You can manage this all in the config.yml whenever the next update comes!
More to come as we are thinking of new and cool features for the plugin!

What features does the plugin have?

Races - adds a whole new aspect to your Minecraft server by allowing your players to select and fight other races.

RaceEffects - customize-able effects in each race. Found in races.yml. You can find a list of effects here. (Under "Field and Description")

RaceChanges - Adds a new way for you to make money by giving a token to a player which allows them to change their race once for token they have

RaceSpawns - Adds a different spawning system which is done by multiple spawns which you can add to the commands you want to run when a player selects a race

Channels - Adds a very unique channel system which can be selected and configured accordingly in the config.yml. By using the static channel system it forces the player to select one channel and they can only read messages that are sent in that channel. By using the dynamic channel it allows the player to see 2 channels at once for example if a player is a Human they can see global chat and Human chat they can easily type in the human's chat by typing /channel (msg) or switch to the human's chat by just typing /channel

Race vaults - All of the players in each Race have access to a Vault that is specific to that Race. Only that Race can access that Vault so that each Race can share and transfer items to help each other out.

Race top - display the top races on your server. (their balance and kills)

(NOTE: Race vaults are experimental on 1.7 and may produce error when first executing /racevault. Please send in your errors if you are experiencing these errors on 1.7.)

# Thank you for downloading Races!
# Thank you for downloading Races!
# Developer: HuliPvP & LegendDev
# Version 2.6.7

# Use this to be able to skip the GUI on join
skipGuiOnJoin: 'false'

# This is for when you want to a random firework,
# "random" meaning random effect and color,
# to be shot in the sky when a Player selects a Race
fireworkEnabled: 'true'

# Enable this if you want the tags to show up in chat as a prefix or suffix
# Enable this if you want to use placeholders as well
enableTags: 'true'

# When you use the command /topraces you can either choose to show a player
# a GUI with the top races or send a message (both configurable in messages.yml)
# The two options for this are “gui� and “message�
TopRacesCommand: gui

# You can choose how to sort the top Races by choosing the statistic that Races
# would compete for. By default, it’s sorted by kills.
# Options include:
# kills, balance, deaths, oresMined, mobKills
SortTopRacesBy: kills

# Enable this option to override your server’s /spawn
# command. When a player does /spawn and they are in a Race,
# they will be teleported to their Race spawn.
overrideSpawnCommand: true

# You can toggle this on and off in game by using the following command:
# /ff <enable|disable|on|off>
friendlyFire: false

# Use Placeholder {RACE}
# You can use this to put prefixes or suffixes on players
# You can set the tags of each race inside races.yml
usePlaceholder: true

# Enabling this will disable /channel entirely
DisableChannels: false
# This will determine what kind of channel it is
# Dynamic: Player will be able to listen to Global and their race's chat at the
# same time and easily switch between them when they type /channel
# Static: Players will only be able to see the channel that they are in for
# example when a player types /channel Test they join the Test race channel and they can only see the Test race channel.
# Use 'static' or 'dynamic' to enable either one of these
# channeltype: 'static'
channeltype: 'dynamic'
# You can edit the channel formats in the messages.yml

# If this is true it will run the commands below
doCommands: 'true'

# A list of commands that the console will run when a player selects a race
# These will only run if 'doCommands' is true
# Use %race% to get the name of Race the player joined
# Use %player% for the name of the player
  - /racespawn %race% %player%
  - /kit starter %player%

spawn: {}

Prefix: '&6&lRaces &8»&e'
  racespawn: '%preifx% You did not set the race spawn correctly'
  noperms: '%prefix% No permission!'
  invalidrace: '%prefix% That race does not exist!'
  selected: '%prefix% You have select %race%'
  spawnset: '%prefix% Spawn set!'
  teleporting: '%prefix% Teleporting to %spawn%...'
  teleportingother: '%prefix% Sending %player% to %spawn%'
  invalidspawn: '%prefix% Spawn %spawn% does not exist!'
  playeroffline: '%prefix% That player is offline!'
  updatedchanges: '%prefix% Updated racechanges for %player%'
  - '%prefix% You have been given x%amount% racechanges'
  - '%prefix% You now have x%changes% racechanges!'
  spawndeleted: '%prefix% Spawn deleted!'
  addedracechanges: '%prefix% Updated racechanges for %player%!'
  - '%prefix% You do not have any racechanges available!'
  - '%prefix% You currently have x%changes% changes available'
  - '%prefix% You have used a racechange!'
  - '%prefix% You currently have x%changes% changes available'
  channelsdisabled: '%prefix% Channels are currently disabled!'
  invalidchannel: '%prefix% This channel does not exist!'
  noaccesstochannel: '%prefix% You do not have access to this channel!'
  switchedchannels: '%prefix% You have switched to %channel% chat'
  - '%prefix% %race% chat enabled!'
  - '%prefix% Type /channel (msg) to send just one message!'
  racedisabled: '&e&l(!) &6That race is disabled!'
  noplayerrace: '%prefix% That player has no race.'
  havenorace: '%prefix% You do not have a race.'
  setplayerrace: '%prefix% You set %player%''s race to %race%!'
  raceset: '%prefix% Your race was set to %race% by %player%!'
  noraceavailable: '%prefix% That player does not have a race!'
  whatrace: '%prefix% %player% is in the race %race%'
  racefull: '%prefix% The race %race% is currently full!'
  alreadyhaverace: '%prefix% You already have a race!'
  blockedracecommand: '%prefix% That command is disabled in your race!'
  toggledfriendlyfire: '%prefix% You have %toggledState% Friendly Fire for Races!'
  notenoughmoney: '%prefix% You do not have enough money for this deposit.'
  moneydeposited: '%prefix% You have deposited %amount% into your race.'
  prizereceived: '%prefix% Your Race received a prize for being a top competitor!'
  prizegiven: '%prefix% Your gave prizes to the %race% (Prize: %type% - %data%)'
  openingvault: '%prefix% Opening Race vault...'
  invalidclaim: '%prefix% You have either not chosen two corners or the territory is invalid'
  successfulclaim: '%prefix% You have successfully made a claim for %race%'
  enterringterritory: '%prefix% You are entering the territory of &f%race%'
  leavingterritory: '%prefix% You are leaving the territory of &f%race%'
  raceSelect: '&e&l(!) &6%player% &eselected the &6%race% &erace!'
  size: 18
  title: '&eSelect your race...'
  - ' '
  - '&a&nENABLED'
  - ' '
  - '&c&nDISABLED'
  size: 27
  title: '&eOne Time Race Change'
    slot: 12
    material: WOOL
    data: 5
    displayName: '&a&nCONFIRM'
    - '&eYou are confirming that you have one Race Change left!'
    - ' '
    - '&eAfter this, you can by more Race Changes'
    - '&6&'
    slot: 16
    material: WOOL
    data: 14
    displayName: '&c&nDENY'
    - '&eRight click me to cancel this Race Change'
  channelstatic: '%prefix% /channel [human, orc, elf, dwarf, global]'
  channeldynamic: '%prefix% /channel (msg)'
  addracechanges: '%prefix% /addracechanges (player) (number)'
  setracespawn: '%prefix% /setracespawn (race)'
  channel: '%prefix% /channel [human, orc, elf, dwarf, global]'
  race: '%prefix% Invalid args! Type /race help'
format: '&6[&e%channel%&6] &e%player% &8» &7%msg%'
  - '&6=========&eRaces&6========='
  - '&eCommands:'
  - '&6/setracespawn (race)'
  - '&6/racespawn (race) (optional: player)'
  - '&6/delracespawn (spawn)'
  - '&6/addracechanges (player) (amount)'
  - '&6/setrace (player) (race)'
  - '&6/whatrace (player)'
  - '&6/changerace'
  - '&6/channel'
  - '&6/friendlyfire (on|off|enable|disable)'
  - '&6/racestats (race|player)'
  - '&6/recedeposit (number)'
  - '&6/racegiveall (raceName|all) (money|command) (prize)'
  - '&6/racevault'
  - '&6/raceterritory (wand|add) (race)'
  - '&eThank you for downloading races!'
  - '&7&m--------------------------------------'
  - '&6&l%name%'
  - '&eKills: &6%kills%'
  - '&eDeaths: &6%deaths%'
  - '&eBalance: &6%balance%'
  - '&eOres Mined: &6%oresMined%'
  - '&eMob Kills: &6%mobKills%'
  - '&7&m-------------------------------------'
  size: 27
  title: '&e&l(!) Race Vault'
    topline: '&7&m------&r &r&8[&6Top Races&8] &7&m------'
    raceposition: '&e{number}. &6{name} &7- &e${balance}&7, &e{kills} kills'
    size: 9
    title: '&e&l(!) Top Races'
    itemName: '&e&l{number}. {displayName}'
    - '&eKills: &6{kills}'
    - '&eDeaths: &6{deaths}'
    - '&eBalance: &6{balance}'
    - '&eOres Mined: &6{oresMined}'
    - '&eMob Kills: &6{mobKills}'

    enabled: true
    name: Human
      displayName: '&e&lHuman'
      material: GOLD_SWORD
      data: 0
    slot: 4
    - '&eDescription: &7Inquisistive, resillient, versatile.'
    - '&7Humans are a young race that'
    - '&7known for their accomplishments in'
    - '&7Empire Building, Exploration and Magic.'
    tag: '&8(&eHuman&8)&r '
    permission: races.human
    - increase_damage 1
    kills: 0
    deaths: 0
    balance: 0
    oresMined: 0
    mobKills: 0
    - essentials.spawn
    enabled: true
    name: Dwarf
      displayName: '&c&lDwarf'
      material: GOLD_PICKAXE
      data: 0
    slot: 5
    - '&cDescription: &7Miners, drunken, explosive.'
    - '&7Dwarves are a stout little race,'
    - '&7that is built for a war economy,'
    - '&7they love War, Drinking and Mining.'
    tag: '&8(&cDwarf&8)&r '
    permission: races.dwarf
    - fast_digging 1
    kills: 0
    deaths: 0
    balance: 0
    oresMined: 0
    mobKills: 0
    enabled: true
    name: Elf
      displayName: '&a&lElf'
      material: BOW
      data: 0
    slot: 6
    - '&aDescription: &7Intelligent, perceptive, quick.'
    - '&7Elves are an extremely mature race'
    - '&7made famous throughout the ages for'
    - '&7Wisdom, War-Stratagists and Vitality.'
    tag: '&8(&aElf&8)&r '
    permission: races.elf
    - speed 1
    - item
    - whatrace
    - lol
    kills: 0
    deaths: 0
    balance: 0
    oresMined: 0
    mobKills: 0
    - essentials.spawn
    enabled: true
    name: Orc
      displayName: '&4&lOrc'
      material: GOLD_AXE
      data: 0
    slot: 14
    - '&4Description: &7Tribal, barbaric, ruthless'
    - '&7Orcs are an ancient, tribal race,'
    - '&7feared throughout the realms for their'
    - '&7Immense Strength and Brute Barbatism.'
    tag: '&8(&4Orc&8)&r '
    permission: races.orc
    - damage_resistance 1
    kills: 0
    deaths: 0
    balance: 0
    oresMined: 0
    mobKills: 0

Showcase of the GUI



    • Please use Java 8, every developer will thank you greatly.
    • Download Races.jar
    • Place Races.jar into your plugins folder.
    • Turn server on.
    • Enjoy!
Terms of service

    • Chargebacks are PROHIBITED. Please message me on if you have issues with the plugin, I will help you sort them.
    • 1 purchase of this plugin is valid for an entire Minecraft network*. Feel free to use it on as many servers as you want, granted they are within the same Minecraft network*. Please purchase 1 license for each Minecraft network* you plan to use it for(contact me regarding the purchase of additional licenses).
    • Distribution of the plugin or any modified version is prohibited.
    • You may not use the code from this plugin in any additional plugin.
    • You may not change the plugin to where it is unidentifiable within the game.
You agree to these terms upon purchase. Clicking the "Buy" button above states that you agree to these terms, and will abide by them.
*- In this context, a "Minecraft network" is defined by a network of Minecraft servers connected by a Proxy-like system. You must be able to switch between any servers within the network without disconnecting.

PlaceholderAPI Placeholders

- Currently looking for suggestions on some more placeholders.
- %races_player_race% - Returns the name of the player's race
- %races_player_race_tag% - Returns the tag of the player's race
- %races_player_race_isEnabled% - Returns Yes if the Race is enabled, or No if disabled


public class RaceAPI {

    * Get a List<Race> of Races loaded on the server
    * Recommended to check if the List is null
    public static List<Race> getRaces() {
        return Main.getInstance().getManager().getRaces();

    * Get a Map<String, Race> of Races loaded on the server
    * Recommended to check if the Map is empty
    * String = Races name
    * Race = The Race object
    public static Map<String, Race> getRacesMap() {
        return Main.getInstance().getManager().getRacesMap();

    * Get a Race by their name
    * race:
    *   name: raceName
    public static Race getRaceByString(String race) {
        return Main.getInstance().getManager().getRaceByName(race);

    * Get a player's file
    * Use this to get access to their information
    public static PlayerFile getPlayerFile(Player p) {
        return GetPlayerFile.getPlayerFile(p);

    * Get an OfflinePlayer's file
    * Used when a server is not in Online mode
    public static PlayerFile getPlayerFile(OfflinePlayer p) {
        return GetPlayerFile.getPlayerFile(p);

    * Get a player's race
    * Use this to see what race a player has
    public static Race getPlayerRace(Player p) {
        PlayerFile file = getPlayerFile(p);
        return getRaceByString(file.getString("race"));

    * Get an OfflinePlayer's race
    * Used when a server is not in Online mode
    public static Race getPlayerRace(OfflinePlayer p) {
        PlayerFile file = getPlayerFile(p);
        return getRaceByString(file.getString("race"));



Digital product
License duration
First release
Last update
Not yet rated
You need to upgrade!
Our dark style is reserved for our Premium members. Upgrade here.