✦ Staking / Dueling (1v1)✦ [1.8-1.14.X] Supported! ✦ Duel Players for staked Items & Money! ✦ 1.0

Duel players for items & money that you have staked! Highly configurable, save player stats

  1. jet315
    Tested Minecraft Versions:
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    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.

    Come and join our official Discord Server!​

    • 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..)

    Default Permissions:
    /Stake <Player> - staking.player.stake
    /Stake stats - staking.player.stats
    /Stake stats <Player> - staking.player.statsother

    Admin Permissions:
    /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

    Valid Aliases:

    Installation steps follow:
    1. Download Staking (Vault too if you wish to enable money!)
    2. Place these jars within your 'plugins' directory
    3. Run the server to produce the files
    4. Create the arenas and set the spawns ingame using the ingame commands!
    5. 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.
    Code (Text):

    #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)
    TimeForDuelRequestToExpire: 15

    ## Inventory Options ##
    #When both players have accepted, a timer will tick down. Set the number of seconds you wish this timer to play for
    ConfirmTime: 3

    ## 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
    SaveStatInformation: true
    SQLiteTableName: "stats"
    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?
    DisableMcMMOAbilitiesDuringDuels: true
    #This is the time allowed for each player to choose their kit (in seconds)
    MatchCountDownTime: 15
    #This is the duration (in seconds) that the match will last
    MatchTime: 300

    #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
    WhereToTeleportAfterDuel: "LastLocation"

    Code (Text):

    # 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
    #  timeInSeconds:<title|subtitle>
      - "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"
      - "0:&cFIGHT|&6Goodluck!"

    #Messages that are sent during countdown
    #  timeInSeconds:message
      - "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)"

    #Stats messages
    #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"
    Code (Text):

    #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 "
      DisplayName: "&7Kits"
      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 "
          HideEnchants: false
          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"
    Code (Text):

    #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
    NotAcceptedItem: STAINED_GLASS_PANE:14
    NotAcceptedDisplayName: "&c&lNOT ACCEPTED"
    #Accepted Item - shown when the user has accepted the trade
    AcceptedItem: STAINED_GLASS_PANE:5
    AcceptedDisplayName: "&a&LACCEPTED"

    #The item that is located down the middle of the inventory (the divider)
    DividerItem: STAINED_GLASS_PANE:15

    #If Vault is enabled, would you like a money option in the GUI to appear where users can deposit money?
    EnableMoneyInGUI: true
    MoneyItem: GOLD_INGOT:0
    RightClick: -10
    LeftClick: 10
    ShiftRightClick: -100
    ShiftLeftClick: 100

    #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
    CountDownNoise: BLOCK_NOTE_PLING
    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

    Coming soon :)

    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
    • I can update this terms of use at any time, without notification
    Lucky_Lemon likes this.

Recent Reviews

  1. Choubatsu
    Version: 1.0
    Hey! Amazing plugin! Could u add that we can disable the stats system completely?
    And that we can stake levels too? That'd be amazing :D