- Tested Minecraft Versions:
This plugin provides a way for players to stake items, or money, against other players. These items are held while the players duel using pre-defined kits. Players are teleported to arenas that are setup ingame, the winner will be given the bet items & money. This plugin has the ability to save player wins/looses, using SQLite.
- Allow players to duel one another in pre-defined arenas
- Allow players to stake items (or money using Vault) against one another
- Configure (and customise) the Kits players can select during a duel
- Allow players to fight with their own items
- Disable McMMO Abilities during duels
- Save player stats data to an SQLite database
- Works out the box, however very configurable
(Kit selector - All kits & items configurable..)
/Stake <Player> - staking.player.stake
/Stake stats - staking.player.stats
/Stake stats <Player> - staking.player.statsother
/Stake createarena <arenaName> - staking.admin.createarena
/Stake deletearena <arenaName> - staking.admin.createarena
/Stake setspawn <1 or 2> <arenaName> - staking.admin.setspawn
/Stake reload - staking.admin.reload
Installation steps follow:
- Download Staking (Vault too if you wish to enable money!)
- Place these jars within your 'plugins' directory
- Run the server to produce the files
- Create the arenas and set the spawns ingame using the ingame commands!
- Optional: Configure the various kits, messages, and configuration file generated within the /staking directory. Although I suggest rebooting after making changes to these files, /staking reload will work fine in most cases
Many options can be configured, below are the configuration files generated by the plugin.
#The prefix used for messages
PluginsPrefix: "&7[&eStaking&7] "
#The time needed to wait before sending another duel request, this prevents players from spamming duel requests (Measured as Seconds, must be integer)
## Inventory Options ##
#When both players have accepted, a timer will tick down. Set the number of seconds you wish this timer to play for
## Stats Options ##
#The plugin automatically uses SQLite in order to store data
#Editing any Stats Options will require a reboot in order to take effect
EnableQuickStatsCommand: true #Whether /stats can be used rather than /stake stats
## PvP Options ##
#If McMMO is enabled, Do you want to disable McMMO abilities during dueling?
#This is the time allowed for each player to choose their kit (in seconds)
#This is the duration (in seconds) that the match will last
#Where would you like to teleport the players when the battle is over?
#Either enter in a world name (and they will be teleported to the worlds spawn) or type 'LastLocation' for their last location
#NOTE: If an invalid world is entered, last location will be used
# Messages for the plugin - Use %PLUGINPREFIX% in any message to get the plugins prefix from the configuration file
#No permission to command message
NoPermission: "%PLUGINPREFIX%&cYou do not have permission for this!"
InvalidSyntax: "%PLUGINPREFIX%&cUsage: &6/Stake &a<Player> &eor &6/Stats &a<Player>"
#Invalid target - The message shown if the target player is invalid
InvalidTarget: "%PLUGINPREFIX%&6Player &c%PLAYER% &6cannot be found!"
#The message shown if the target player is already in a duel - %PlAYER% can be used in order to get the target player
TargetPlayerIsInDuel: "%PLUGINPREFIX%&c%PLAYER% &6is currently in a duel!"
#The message shown if the user performing the command is in a duel
PlayerInDuel: "%PLUGINPREFIX%&6Finish your current duel before starting another one!"
#Duel Expired (This message is shown if the opponent does not accept the players duel)- use %PLAYER% to get opponents name
DuelExpired: "%PLUGINPREFIX%&6Your duel request against %PLAYER% has now expired!"
#Duel is in cooldown - This message is sent to the player if player is in cooldown
DuelCooldown: "%PLUGINPREFIX%&cPlease wait before sending another duel request!"
#The message sent to the target player for a duel - use %PLAYER% to get the player sending the duel request
DuelRequest: "%PLUGINPREFIX%&cPlayer &a%PLAYER% &chas challenged you to a duel! &a[CLICK]"
#The message sent to the player for a duel - use %PLAYER% to get the target players name
DuelSent: "%PLUGINPREFIX%&6You have sent &c%PLAYER%&6 a duel!"
#The message sent if the player sends a duel to him/her self
DuelSentToSelf: "%PLUGINPREFIX%&cYou cannot stake yourself!"
#If the user adds more money to a duel but does not have enough this message is shown
NotEnoughFunds: "%PLUGINPREFIX%&cYou do not have enough funds to stake this much!"
#The message sent when a user closes the Kit Inventory without choosing a kit
NoKitSelected: "%PLUGINPREFIX%&cYou must choose a kit!"
#Title messages that are sent during countdown
- "10:&cMatch Starting in..|&610"
- "5:&cMatch Starting in..|&65"
- "3:&cMatch Starting in..|&63"
- "2:&cMatch Starting in..|&62"
- "1:&cMatch Starting in..|&61"
#Messages that are sent during countdown
- "10:%PLUGINPREFIX%&cMatch Starting in &610"
- "5:%PLUGINPREFIX%&cMatch Starting in &65"
- "3:%PLUGINPREFIX%&cMatch Starting in &63"
- "2:%PLUGINPREFIX%&cMatch Starting in &62"
- "1:%PLUGINPREFIX%&cMatch Starting in &61"
- "0:%PLUGINPREFIX%&cFIGHT &6Goodluck!"
#The message sent to the person who won the duel
WinnerMessage: "%PLUGINPREFIX%&aCongratulations! You won the duel!"
#The message that is sent to the person who won, due to the opponent disconecting
WinnerMessageDueToOpponentDisconnect: "%PLUGINPREFIX%&aCongratulations! You won due to your opponent quiting!"
#The message sent to the person who list the duel
LooserMessage: "%PLUGINPREFIX%&cUnlucky, You lost the duel"
#After a while (such as if the users AFK within the arena) the match will expire. This is the message shown if the match timer reaches 0
MatchEndDueToTime: "%PLUGINPREFIX%&6The match has now ended! &cKill the opponent quicker next time!"
NoArenaFound: "%PLUGINPREFIX%&6No arenas are currently available"
#The message shown when the a user has been force removed from a duel or trade (On server reboot, or plugin reload for example)
ForceKickOutOfDuel: "%PLUGINPREFIX%&cThe plugin has been reloaded &6(Items have been refunded)"
#If the stats option is not enabled, this is the message that is sent
StatsNotEnabled: "%PLUGINPREFIX%&cStats has not been enabled!"
#Message of the players stats - Replace %WR% for the win/loose ratio, %WINS% for the total wins, and %LOOSES% for the looses
PlayersStats: "%PLUGINPREFIX%&6You have won &a%WINS%&6 games and lost &c%LOOSES%&6. Your win/loose ration is &e%WR%"
#Similar to the above, however for a specified player, %TARGETPLAYER% can be used to get the target players name
TargetPlayerStats: "%PLUGINPREFIX%&6%TARGETPLAYER% has won &a%WINS%&6 games and lost &c%LOOSES%&6. Your win/loose ratio is &e%WR%"
#If the target player is invalid, this message is shown
TargetPlayerNotFound: "%PLUGINPREFIX%&c%TARGETPLAYER% is not online"
#If an error occurs while processing a command, the following message is sent
ErrorOccurred: "%PLUGINPREFIX%&cAn error has occurred while processing your last request, please try again soon"
#Up to 54 kits can be created
#Kits are selected by the player just before the duel starts
#If only one kit is present in this file, that kit will be automatically wielded by the player - Else the player will select a kit via a GUI
#specifiy slot in here
#When a material is specified, first define the material type, then the amount, then the display name (use _ for spaces), then the lore (use _ for spaces and \n for new line) then the enchants
#Enchants must be one from here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html
# "DIAMOND_SWORD:0 1 displayname:&7Fighter_&7Sword lore:&7Trusty_Sword|&7New_line! DAMAGE_ALL:5 "
Size: 9 #Must be a multiple of 9, 54 is max
Fighter: #This can be called anything really..
DisplayMaterial: "DIAMOND_SWORD:0 1 displayname:&7Fighter DAMAGE_ALL:1 "
HideEnchants: false #Whether enchants should be hidden
HeadSlot: "DIAMOND_HELMET:0 1" #Simply put "none" if you do not want anything in slot
ChestSlot: "IRON_CHESTPLATE:0 1"
LegSlot: "IRON_LEGGINGS:0 1"
BootSlot: "DIAMOND_BOOTS:0 1"
- "DIAMOND_SWORD:0 1 displayname:&aTrusty_Sword DAMAGE_ALL:1"
- "GRILLED_PORK:0 16"
DisplayMaterial: "BOW:0 1 displayname:&7Archer ARROW_DAMAGE:3 ARROW_KNOCKBACK:1 "
HeadSlot: "LEATHER_HELMET:0 1"
ChestSlot: "CHAINMAIL_CHESTPLATE:0 1"
LegSlot: "CHAINMAIL_LEGGINGS:0 1"
BootSlot: "LEATHER_BOOTS:0 1"
- "BOW:0 1 ARROW_DAMAGE:3 ARROW_KNOCKBACK:1"
- "ARROW:0 32"
- "STONE_SWORD:0 1"
- "GRILLED_PORK:0 16"
#Use this config for editing GUI settings
#Replace %PLAYER1% for the player, and %PLAYER2% for their opponent
StakeInventoryName: "&7<= My Staking | Their Staking =>"
#Not Accepted Item - shown when the user has not accepted the stake yet
NotAcceptedDisplayName: "&c&lNOT ACCEPTED"
#Accepted Item - shown when the user has accepted the trade
#The item that is located down the middle of the inventory (the divider)
#If Vault is enabled, would you like a money option in the GUI to appear where users can deposit money?
#This is the item that is shown to the user - Replace %AMOUNT% with the amount that the player has put up
PlayersMoneyDisplayName: "&7Your current stake is &e$%AMOUNT%"
#The lore of their money item, %RIGHTCLICK%, %LEFTCLICK%, %SHIFTRIGHTCLICK% and %SHIFTLEFTCLICK% can be used in order to get the prices
- "&aLeft click to &craise &aby &e$%LEFTCLICK%"
- "&aRight click to &clower &aby &e$%RIGHTCLICK%"
- "&aShift Left click to &craise &aby &e$%SHIFTLEFTCLICK%"
- "&aShift Right click to &clower &aby &e$%SHIFTRIGHTCLICK%"
#When the opponent places money up, the display name of the item will be this:
# (Replace %OPPONENTSAMOUNT% with the amount that they have staked)
OpponentsMoneyDisplayName: "&7Their current stake is &e$%OPPONENTSAMOUNT%"
- "&aThis is the amount of money they have bet!"
#Noises - https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html (This may differ depending on Spigot version) - Set any to 'none' for no noise to occur
AddItemNoise: none #BLOCK_NOTE_CHIME
EndCountDownNoise: ENTITY_PLAYER_LEVELUP #This sound is played on 0, when they are tp'd to the arena
#This item is shown as a filler, when no money is at stake for example
Any problems, questions or suggestions send me a PM here, on Spigot
By buying this plugin you agree to the following terms:
- You will not chargeback - If you have a problem message me, in most cases I will happily refund the purchase (If within 48 Hours of purchase)
- I cannot guarantee support indefinitely.
- You may not redistribute or resell this plugin
- I may refuse to give you support with or without any specific reason
- If you have an issue with this plugin, please contact me before leaving a 1 or low star rating