Minimum Java Version:
________Java 21
Description
Spleef is the iconic Minecraft mini game where players join an arena and try to break the blocks that other players are standing on causing them to fall and lose the game. The last player standing wins.
Spleef_reloaded is a highly configurable, fully automated minigame. It has been created using the TNTRun_reloaded code base so many of the commands and features are identical between the two plugins.
Players are given a tool (default DIAMOND_SHOVEL) to break blocks and optionally SNOWBALLs with knockback which can be configured to also break blocks if required.
The plugin features a customisable shop where players can buy items such as weapons, armour, double-jumps, splash potion, and commands which run when the game starts. There is an option to enable PVP in arenas, assign kits, and the plugin also interfaces with HeadsPlus (by ThatsMusic99) allowing players to buy/wear custom heads during the game.
Optionally, a fee can be set to join each arena, which can be monetary or any minecraft item such gold_nuggets. Rewards for winning the game can be set to any combination of coins, materials, XP or a command based reward. Scoreboards, leaderboards, placeholders and holograms are fully supported (see the Dependencies section below).
Features
The following list of features applies to the latest release and so not all features will be present in older versions of the plugin.
Legacy Support
If your server is running Minecraft 1.20.6 - 1.21.2, then download version 1.0.
If your server is running a minimum of Java 17 with Minecraft 1.20.x, then download version 0.83 from GitHub here.
Dependencies
Commands
The commands required to create a standard arena are shown below.
Player Commands
The following admin commands require the spleef.setup permission.
Arena Configuration Commands
Console Commands
Additional Commands
Arena Setup Example
Permissions
Installation
For upgrading, check the release notes for each release.
Configuration
Scoreboard Configuration
Kits
A kit is a set of items, weapons, food and potions that can be allocated to players at the start of a game.
A kit is created with command /spsetup addkit [kitname]
The addkit command adds all the items in your inventory including armour and active potion effects to the kit.
Kits are enabled on a per arena basis using command /spsetup enablekits [arena]
Players joining an arena (with kits enabled) will be allocated a random kit from those that have been created. If there is only one kit, everyone will receive the same kit.
A kit can also be linked to an arena using command /spsetup linkkit {arena} {kit}. Every player joining the arena will then receive the same kit.
If more than one kit is linked to an arena, by default players will receive a random kit from this list. To force all players to receive the same linked kit, set the following in the {arena}.yml file.
The list of available kits can be displayed with command
/spleef listkits
The contents of a kit can be displayed with command /spleef listkit [kitname]
A kit can be deleted with command /spsetup deletekit [kitname]
Item slot 9 in the hotbar will always be the configured 'leave' item for the arena unless removed in the config.
Parties
Players are able to create and join parties so that when the party leader joins an arena, the party members will automatically join the same arena at the same time.
Information on creating and using Spleef_reloaded parties can be found in the wiki .
Alternatively, parties created using the AlessioDP Parties plugin are also supported.
Heads
An optional feature is to allow players to purchase different heads to wear during the game. To enable this feature you will need to have the plugin HeadsPlus by Thatsmusic99 installed on your server.
During the arena countdown, players can use a hotbar item to open the HeadsPlus interface and purchase a head to wear during the game. The head is automatically equipped on the player's head when purchased, and removed at the end of the game.
Players will need permission node spleef.heads: true to be able to use this feature.
The price for each head is set in plugins\HeadsPlus\customheads.yml. The default price is 10.0 and is set in the same file, so if you want all heads to be free just change the default price to 0.0.
You may need to explicitly set permission headsplus.bypass.cost: false if players can buy heads at 0 cost even with a price set.
Arena Join Menu
The arena join menu allows Spleef_reloaded arenas to be selected from an inventory menu. This can be disabled by disallowing permission spleef.joinmenu.
The list of arenas can be limited to only show enabled arenas in the config.yml.
The clickable items (TNT by default) and the coloured tiles can be changed in the config.yml file. The menu heading and other text can be changed in the messages.yml file.
Double-Jumps
There is an option (disabled by default) to give players a set number of double-jumps at the beginning of each game.
This avoids the need to purchase double-jumps in the shop. If the free double-jumps option is enabled, then players can still purchase double-jumps in the shop (up to the maximum allowed), but these are stored and not used until the free double-jumps option is disabled. Unlike the shop bought double-jumps, the number of free double-jumps are reset at the start of each game.
The number of double-jumps a player can receive can also be limited using a permission node, spleef.doublejumps.n, where n is a positive integer (>=1).
A player with permission spleef.doublejumps.6: true will be able to receive or buy a maximum of 6 double-jumps, provided the maximum amount allowed in the config is at least 6.
A player should not have more than one doublejump permission set to true as there is no guarantee which one the plugin will match with first.
Doublejumps can be disabled completely in an arena by modifying the 'allowDoublejumps' setting in the arena config file.
The height of the doublejump can be modified in config.yml
The
multiplier affects the forward trajectory of the player, while the
height affects the vertical height the player can jump.
There is also an admin/console command ( [/trsetup|trconsole] givedoublejumps {player} {amount}) to give players additional doublejumps overriding any maximums set in the config.
Shop Setup
Items to be purchased in-game can be defined in the shop.yml file. The configuration below is the default shop configuration created when the plugin is installed. The description and prices can can be amended, items can removed completely or new items added provided they follow the existing convention.
By default, the permission node spleef.shop is set to true, allowing players to purchase any shop item, provided they have the money to purchase it. Alternatively, each shop item can have its own permission node set (in shop.yml) which a player will need to have in order to purchase that item.
Potions and Splash Potions have a duration and amplifier which can be set using the syntax:
<potion effect>#<duration>#<amplifier>
Setting the amplifier is optional in which case the default value of 1 will apply.
Snowballs have a custom knockback effect. This can be set from 0 (no knockback) to 5 (large knockback). The default is 2.
Items can be bought while waiting in the arena or during the arena countdown, and are given to the player immediately the game starts. Only one shop item can be purchased per game.
Optionally purchases can be removed when the player leaves the arena before the game starts using the config.yml option:
The amount of money a player currently has is displayed using the item in the final slot of the shop GUI. The GOLD_INGOT can be changed to any other item in the config.
Placeholders
All the placeholders listed below work with the current version.
Creating holograms using the placeholders
This information is on the wiki and includes examples on creating holographic leaderboards using HolographicDisplays.
Signs
Each sign is created as in the picture below. The Join sign colours are configurable in config.yml, and the arena name colour can be set when creating the sign, e.g. &farena1 will create the name in white instead of the default black text.
The Leaderboard sign colours and text can be set in messages.yml. The Leaderboard sign will automatically refresh at the end of each game.
The leave and vote signs have largely been superceded by using inventory items but can still be used if required.
If a join sign is placed on a STAINED_GLASS block, the glass colour can be configured to reflect the status of the arena, for example GREEN/waiting, RED/in-game, BLACK/disabled.
Custom Events
Custom events allow developers to hook into Spleef_reloaded.
Languages / Localization
The in-game default language is English (en-GB). The language can be changed by manually replacing the messages.yml with your own translated version of the file.
If you would like to contribute your translations to the project, these are managed via Crowdin.com. Please visit the wiki for details on how to set the language for your server and how to contribute via Crowdin.
If your language is not listed below and if its supported by Crowdin, let me know and it can easily be added.
Metrics
This plugin uses bStats to collect anonymous plugin metrics. The data is collected once every 30mins and is submitted asynchronously to the bStats server. The plugin doesn't collect any custom data, just the default bStats data which is listed on bstats.org. The metrics class is also open source and can be viewed here, or in this plugin's source code on GitHub.
Metrics can of course be disabled on your server but I would appreciate it if it was left enabled as the information it provides gives me an idea of how many servers are using the plugin, what versions are in use, etc. and is an incentive for me to put more of my time into development of the plugin.
Data from the plugin can be viewed here:
https://bstats.org/plugin/bukkit/Spleef_reloaded
Issues and support
Join our Discord server to make it easier to discuss issues and share information.
Any issues or suggestions can be raised on the Issues tab in the GitHub repository, by clicking the big Discord banner above, in the Discussions tab, or even send me a PM.
Please don't use the Review section to ask for help or additional features. Use one of the options listed above and provide as much information as possible. If something's not working, then it probably is a configuration issue, and it's just not possible to diagnose and resolve a problem in the review space. Thank you.
Spleef_reloaded
Run, run, run....
This latest version of this plugin Minecraft/Spigot 1.21.3 - 1.21.10.
Check the Legacy Support section for other versions.
Run, run, run....
This latest version of this plugin Minecraft/Spigot 1.21.3 - 1.21.10.
Check the Legacy Support section for other versions.
Description
Spleef is the iconic Minecraft mini game where players join an arena and try to break the blocks that other players are standing on causing them to fall and lose the game. The last player standing wins.
Spleef_reloaded is a highly configurable, fully automated minigame. It has been created using the TNTRun_reloaded code base so many of the commands and features are identical between the two plugins.
Players are given a tool (default DIAMOND_SHOVEL) to break blocks and optionally SNOWBALLs with knockback which can be configured to also break blocks if required.
The plugin features a customisable shop where players can buy items such as weapons, armour, double-jumps, splash potion, and commands which run when the game starts. There is an option to enable PVP in arenas, assign kits, and the plugin also interfaces with HeadsPlus (by ThatsMusic99) allowing players to buy/wear custom heads during the game.
Optionally, a fee can be set to join each arena, which can be monetary or any minecraft item such gold_nuggets. Rewards for winning the game can be set to any combination of coins, materials, XP or a command based reward. Scoreboards, leaderboards, placeholders and holograms are fully supported (see the Dependencies section below).
Features
The following list of features applies to the latest release and so not all features will be present in older versions of the plugin.
Spoiler: Features
- Supports multiple arenas
- Automatic arena regeneration
- Configurable block destroy delay
- Force-start voting system
- Force-start command with permission
- Custom Events
- Join fee can be set per arena
- Join fee currency can be money or Minecraft material
- Optional waiting spawn location before auto joining arena
- Configurable anti-camping system
- Custom messages
- Formatting codes support
- Full tab completion based on permissions
- Kits - can be enabled per arena
- Heads - interfaces with HeadsPlus plugin
- Signs
- Configurable per-arena time limit
- Configurable per-arena countdown
- Configurable sounds
- Customisable arena join menu
- Autojoin command to join first available arena
- In-game scoreboard
- Titles and bossbars
- Spectator system
- Option to join as spectator only
- Multiple spawn points
- Built-in party system
- Support for AlessioDP Parties
- Player stats
- Leader board
- Auto updating leader board sign
- Arena leave checker
- Customizable shop
- PVP can be enabled/disabled per arena
- Player rewards
- Built-in placeholder support
- MySQL support
- Bungeecord support
- One player test mode
- Localization support via Crowdin
Legacy Support
If your server is running Minecraft 1.20.6 - 1.21.2, then download version 1.0.
If your server is running a minimum of Java 17 with Minecraft 1.20.x, then download version 0.83 from GitHub here.
Dependencies
Spoiler: Plugin Dependencies
The latest version of Spleef_reloaded has been tested with the following versions of these plugins:
- WorldEdit 7.3.6 (optional, can use internal selection commands)
- Vault 1.7 (optional, required to use economy)
- HeadsPlus 7.1.2 (optional, allows players to buy different heads to run wear during the game)
- PlaceholderAPI 2.11.6 (optional, required to use placeholders)
- mcMMO 2.2.012 (optional, if you already have mcMMO you can allow players in same mcMMO party to PVP in the arena)
- DecentHolograms 2.8.8 (optional, an example plugin required to create holograms)
- Parties 3.2.13 (optional, can be used in place of internal parties)
Commands
The commands required to create a standard arena are shown below.
Player Commands
/sleef list - list the Spleef arenas
/spleef list {arena} - list the arena configuration
/spleef join {arena} - join arena, needs spleef.join permission (default)
/spleef join - open arena join menu, needs spleef.joinmenu permission (default)
/spleef autojoin {pvp|nopvp} - join arena with most waiting players
/spleef party {option} - Spleef party commands
/spleef leave - leave the current Spleef arena
/spleef vote - vote for the Spleef arena start
/spleef lobby - teleport to the Spleef lobby
/spleef stats - displays your Spleef record
/spleef leaderboard {size} - displays the Spleef leaderboard
/spleef listkit - list the Spleef kits
/spleef listkit {kit} - list the kit configuration
/spleef start {arena} - force-start arena, needs spleef.start permission
/spleef spectate {arena} - join as spectator, needs spleef.spectate
/spleef listrewards {arena} - list arena rewards, needs spleef.listrewards
/spleef info - information about this plugin
/spleef help - lists all the /spleef commands
/spleef cmds - lists all the /spsetup commands
/spleef list {arena} - list the arena configuration
/spleef join {arena} - join arena, needs spleef.join permission (default)
/spleef join - open arena join menu, needs spleef.joinmenu permission (default)
/spleef autojoin {pvp|nopvp} - join arena with most waiting players
/spleef party {option} - Spleef party commands
/spleef leave - leave the current Spleef arena
/spleef vote - vote for the Spleef arena start
/spleef lobby - teleport to the Spleef lobby
/spleef stats - displays your Spleef record
/spleef leaderboard {size} - displays the Spleef leaderboard
/spleef listkit - list the Spleef kits
/spleef listkit {kit} - list the kit configuration
/spleef start {arena} - force-start arena, needs spleef.start permission
/spleef spectate {arena} - join as spectator, needs spleef.spectate
/spleef listrewards {arena} - list arena rewards, needs spleef.listrewards
/spleef info - information about this plugin
/spleef help - lists all the /spleef commands
/spleef cmds - lists all the /spsetup commands
The following admin commands require the spleef.setup permission.
Arena Configuration Commands
/spsetup configure {arena} - open menu to run configuration commands
/spsetup setmaxplayers {arena} {number} - set max players for this arena (default: 15)
/spsetup setminplayers {arena} {number} - set min players for this arena (default: 2)
/spsetup settimelimit {arena} {seconds} - set the arena time limit in seconds (default: 300, no_time_limit: 0)
/spsetup setcountdown {arena} {seconds} - set countdown time for arena (default: 10)
/spsetup setmoneyreward {arena} {amount} - sets a money reward (Vault and economy plugins required for this)
/spsetup setteleport {arena} {previous/lobby} - teleports the player to pre-join location or to lobby when game ends
/spsetup setdamage {arena} {yes/no/zero} - sets pvp state in the arena (yes - full damage, zero - zero damage, no - no attack at all)
/spsetup deletespectate {arena} - deletes spectator spawnpoint
/spsetup setgameleveldestroydelay {arena} {ticks} - add a delay before a block is destroyed after a player steps on it (default: 8)
/spsetup setregenerationdelay {arena} {ticks} - set the time allowed for arena regeneration before players can rejoin (default: 60)
/spsetup setvotepercent {arena} {0<votepercent<1} - set the percentage of votes required to start the game for this arena (default: 0.75)
/spsetup givedoublejumps {player} {amount} - give doublejumps to a player
/spsetup setfee {arena} {amount} - set a fee to join the arena
/spsetup setcurrency {arena} {currency_item} - set the currency item
/spsetup setreward {arena} - start conversation to set Money, Material, XP and Command rewards for arena
/spsetup addtowhitelist {command} - whitelist a command for use in-game
/spsetup linkkit {arena} {kit} - links the named kit to an arena
/spsetup unlinkkit {arena} - removes a linked kit from an arena
/spsetup setP1 - set targetted block as first selection point
/spsetup setP2 - set targetted block as second selection point
/spsetup clear - clear selection points
/spsetup setmaxplayers {arena} {number} - set max players for this arena (default: 15)
/spsetup setminplayers {arena} {number} - set min players for this arena (default: 2)
/spsetup settimelimit {arena} {seconds} - set the arena time limit in seconds (default: 300, no_time_limit: 0)
/spsetup setcountdown {arena} {seconds} - set countdown time for arena (default: 10)
/spsetup setmoneyreward {arena} {amount} - sets a money reward (Vault and economy plugins required for this)
/spsetup setteleport {arena} {previous/lobby} - teleports the player to pre-join location or to lobby when game ends
/spsetup setdamage {arena} {yes/no/zero} - sets pvp state in the arena (yes - full damage, zero - zero damage, no - no attack at all)
/spsetup deletespectate {arena} - deletes spectator spawnpoint
/spsetup setgameleveldestroydelay {arena} {ticks} - add a delay before a block is destroyed after a player steps on it (default: 8)
/spsetup setregenerationdelay {arena} {ticks} - set the time allowed for arena regeneration before players can rejoin (default: 60)
/spsetup setvotepercent {arena} {0<votepercent<1} - set the percentage of votes required to start the game for this arena (default: 0.75)
/spsetup givedoublejumps {player} {amount} - give doublejumps to a player
/spsetup setfee {arena} {amount} - set a fee to join the arena
/spsetup setcurrency {arena} {currency_item} - set the currency item
/spsetup setreward {arena} - start conversation to set Money, Material, XP and Command rewards for arena
/spsetup addtowhitelist {command} - whitelist a command for use in-game
/spsetup linkkit {arena} {kit} - links the named kit to an arena
/spsetup unlinkkit {arena} - removes a linked kit from an arena
/spsetup setP1 - set targetted block as first selection point
/spsetup setP2 - set targetted block as second selection point
/spsetup clear - clear selection points
Console Commands
Spoiler: Console Commands
spconsole help - help for console commands
spconsole info - plugin info
spconsole list - list Spleef_reloaded arenas
spconsole enable {arena} - enable the arena
spconsole disable {arena} - disable the arena
spconsole start {arena} - force-start the arena
spconsole reloadconfig - reload config.yml
spconsole reloadbars - reload configbars.yml
spconsole reloadmsg - reload messages.yml
spconsole leaderboard - display leader board
spconsole join {arena} {player} - join player in arena
spconsole spectate {arena} {player} - join player in arena as spectator
spconsole autojoin [pvp|nopvp] {player} - autojoin player in arena
spconsole givedoublejumps {player} {amount} - give doublejumps to a player
spconsole info - plugin info
spconsole list - list Spleef_reloaded arenas
spconsole enable {arena} - enable the arena
spconsole disable {arena} - disable the arena
spconsole start {arena} - force-start the arena
spconsole reloadconfig - reload config.yml
spconsole reloadbars - reload configbars.yml
spconsole reloadmsg - reload messages.yml
spconsole leaderboard - display leader board
spconsole join {arena} {player} - join player in arena
spconsole spectate {arena} {player} - join player in arena as spectator
spconsole autojoin [pvp|nopvp] {player} - autojoin player in arena
spconsole givedoublejumps {player} {amount} - give doublejumps to a player
Additional Commands
/spsetup setlobby - set the Spleef lobby at your current position
/spsetup deletelobby - delete the Spleef lobby
/spsetup setbarcolor {color} - set bar color. Default is RANDOM
/spsetup resetstats {player} - delete a player's Spleef_reloaded stats
/spsetup resetcachedrank {player} - delete a player's rank from cache to force update
/spsetup addkit {kit} - create a kit
/spsetup deletekit {kit} - delete a kit
/spsetup reloadbars - reload configbars.yml
/spsetup reloadmsg - reload messages.yml
/spsetup reloadtitles - reload titles.yml
/spsetup reloadconfig - reload config.yml
/spsetup addspawn {arena} - creates additional arena spawn points
/spsetup deletespawnpoints {arena} - removes all additional points created with addspawn
/spsetup setwaitingspawn {arena} - creates a waiting spawn location from where players will auto-join the arena
/spsetup deletewaitingspawn {arena} - removes the waiting spawn location
/spsetup setlanguage {language-code} - switches messages.yml to one of the supported language options
/spsetup enable {arena} - enable the arena
/spsetup disable {arena} - disable the arena
/spsetup delete {arena} - delete the arena
/spsetup deletelobby - delete the Spleef lobby
/spsetup setbarcolor {color} - set bar color. Default is RANDOM
/spsetup resetstats {player} - delete a player's Spleef_reloaded stats
/spsetup resetcachedrank {player} - delete a player's rank from cache to force update
/spsetup addkit {kit} - create a kit
/spsetup deletekit {kit} - delete a kit
/spsetup reloadbars - reload configbars.yml
/spsetup reloadmsg - reload messages.yml
/spsetup reloadtitles - reload titles.yml
/spsetup reloadconfig - reload config.yml
/spsetup addspawn {arena} - creates additional arena spawn points
/spsetup deletespawnpoints {arena} - removes all additional points created with addspawn
/spsetup setwaitingspawn {arena} - creates a waiting spawn location from where players will auto-join the arena
/spsetup deletewaitingspawn {arena} - removes the waiting spawn location
/spsetup setlanguage {language-code} - switches messages.yml to one of the supported language options
/spsetup enable {arena} - enable the arena
/spsetup disable {arena} - disable the arena
/spsetup delete {arena} - delete the arena
Arena Setup Example
Spoiler: Arena Setup Example
First create your arena. The arena below was created for TNTRun, but the way the arena is configured is the same for Spleef_reloaded. The SAND and TNT blocks should be replaced with a layer of SNOW_BLOCKS.
You can have any number of levels.
Leave enough room between the levels for players to jump without hitting the level above. There is a gap of 7 blocks in this example.
View attachment 323699
1. Give the arena a name
2. Set the boundary of the arena - using WorldEdit, select 2 opposite corners, one above and one below the arena, ensuring the whole of the arena is included within the selection.( https://worldedit.enginehub.org/en/latest/usage/regions/selections/#selecting-cuboids)
3. Set the lose level. This is basically the floor beneath the final level of the arena, the level at which the player loses. Run the command with your feet at the Y location you want to set. The point MUST be within the boundary of the arena from the previous step.
4. Set the spawnpoint. Go to the top level of the arena, the spawnpoint will be created at the location you are standing.
5. Set spectator spawnpoint. The point at which a player spawns after losing (provided the game has not ended).
6. Finish the arena creation and save it. The arena is automatically enabled.
7. Set a main lobby location for all Spleef arenas (only needs to be done once) at your current location.
You can have any number of levels.
Leave enough room between the levels for players to jump without hitting the level above. There is a gap of 7 blocks in this example.
View attachment 323699
1. Give the arena a name
/spsetup create <arena>
2. Set the boundary of the arena - using WorldEdit, select 2 opposite corners, one above and one below the arena, ensuring the whole of the arena is included within the selection.( https://worldedit.enginehub.org/en/latest/usage/regions/selections/#selecting-cuboids)
/spsetup setarena <arena>
3. Set the lose level. This is basically the floor beneath the final level of the arena, the level at which the player loses. Run the command with your feet at the Y location you want to set. The point MUST be within the boundary of the arena from the previous step.
/spsetup setloselevel <arena>
4. Set the spawnpoint. Go to the top level of the arena, the spawnpoint will be created at the location you are standing.
/spsetup setspawn <arena>
5. Set spectator spawnpoint. The point at which a player spawns after losing (provided the game has not ended).
/spsetup setspectate <arena>
6. Finish the arena creation and save it. The arena is automatically enabled.
/spsetup finish <arena>
7. Set a main lobby location for all Spleef arenas (only needs to be done once) at your current location.
/spsetup setlobby
Permissions
Spoiler: Permissions
Code (Text):
spleef.join:
description: used to control who can join spleef and from where.
default: true
spleef.setup:
description: required to run "/spsetup" commands
default: op
spleef.version.check:
description: display new version message on player join
default: op
spleef.heads:
description: allow players to use HeadsPlus in game
default: true
spleef.shop:
description: allow players to buy any shop item (if they have money)
default: true
spleef.joinmenu:
description: allow players to use the join menu
default: true
spleef.start:
description: allow players to start an arena before the minimum players is reached
default: op
spleef.spectate:
description: allow players to join an arena as a spectator
default: op
spleef.party:
description: allow players to use the native party commands
default: true
spleef.autojoin:
description: used to control who can use the autojoin command
default: true
spleef.listrewards:
description: allow players to list the arena rewards
default: true
spleef.doublejumps.n:
description: limit allowed doublejumps using permissions, where n is a positive integer (>= 1)
default: false
description: used to control who can join spleef and from where.
default: true
spleef.setup:
description: required to run "/spsetup" commands
default: op
spleef.version.check:
description: display new version message on player join
default: op
spleef.heads:
description: allow players to use HeadsPlus in game
default: true
spleef.shop:
description: allow players to buy any shop item (if they have money)
default: true
spleef.joinmenu:
description: allow players to use the join menu
default: true
spleef.start:
description: allow players to start an arena before the minimum players is reached
default: op
spleef.spectate:
description: allow players to join an arena as a spectator
default: op
spleef.party:
description: allow players to use the native party commands
default: true
spleef.autojoin:
description: used to control who can use the autojoin command
default: true
spleef.listrewards:
description: allow players to list the arena rewards
default: true
spleef.doublejumps.n:
description: limit allowed doublejumps using permissions, where n is a positive integer (>= 1)
default: false
Installation
For upgrading, check the release notes for each release.
- Download Spleef_reloaded.jar
- Copy to your 'plugins' folder
- Restart your server - this will create the default config.yml and other configuration files.
Configuration
Code (YAML):
special
:
# use bossbar to display arena messages and countdown
UseBossBar : true
# set the bossbar color, or have random colors
BossBarColor : RANDOM
# use splash titles for join/leave
UseTitle : true
# use scoreboard to display in-game stats
UseScoreboard : true
# use permission node to limit double jumps
UseDoubleJumpPermissions : false
# enable metrics (bStats)
Metrics : true
# check for new version of Spleef_reloaded on Spigot
CheckForNewVersion : true
# use player's exp bar to display countdown and time limit
usexpbar:
countdown : true
timelimit : true
# use player's rank in chat messages
UseRankInChat:
enabled : false
usegroup : true
groupcolormeta : false
useprefix : false
# in-game shop configuration
shop:
enabled : true
name : '&6&lSpleef &f&lSHOP'
size : 27
doublejump:
maxdoublejumps : 10
# log every shop purchase to console
logpurchases : false
# remove player's purchase if player leaves before game starts
onleave:
removepurchase : false
# item to use to show player's monetary balance in shop
showmoneyitem : GOLD_INGOT
# give players free doublejumps when arena starts
freedoublejumps:
enabled : false
amount : 10
# customise the size of the double jump
doublejumps:
multiplier : 1.5
height : 0.7
# run server commands on win
# setting to "- null" will disable the commands
commandsonwin :
- say {PLAYER } won Spleef on {ARENA }
- say Congratulations ...
# run server commands on lose
# these commands will run multiple times, once for each losing player
# setting to "- null" will disable the commands
commandsonlose :
- null
#
# set duration (seconds) for fireworks on win
fireworksonwin:
enabled : true
duration : 4
# broadcast win to whom:
# 2 = server, 1 = only arena players, 0 = no broadcast message
broadcastwinlevel : 2
# send join invitation to chat when first player joins arena
invitationmessage:
enabled : false
# allow player clicking the message on running arena to join as spectator
allowspectate : false
# exclude players on other Spleef arenas from receiving the message
excludeplayers : false
# exclude originating player from receiving the message
excludeoriginator : false
# enable Spleef parties or AlessioDP parties plugin
parties:
enabled : true
usePartiesPlugin : false
#
# configure arena join menu
menu :
# set menu item for non-PVP arenas
item : TNT
# set menu item for PVP arenas
pvpitem : IRON_BLOCK
# set menu background colour
panecolor : LIGHT_BLUE
# should disabled arenas be included in the menu
includedisabled : false
#
# configure arena config menu
configmenu :
# set 'lore' to false to not display the help text when hovering over each menu item
lore : true
#
# configure sounds
sounds:
arenastart:
enabled : true
sound : ENTITY_PLAYER_LEVELUP
volume : 10
pitch : 1.0
itemselect:
enabled : true
sound : UI_BUTTON_CLICK
volume : 1
pitch : 1.0
blockbreak:
enabled : true
sound : BLOCK_SAND_BREAK
volume : 5
pitch : 1.0
invitationmessage:
enabled : false
sound : ENTITY_PLAYER_LEVELUP
volume : 20
pitch : 1.0
# if enabled, all players in arena teleport to arena spawn when countdown = 5 seconds
anticamping:
enabled : true
teleporttime : 5
# set max entries displayed by leaderboard command
leaderboard :
maxentries = 10
# set hotbar items while waiting for arena start
items:
vote:
use : true
material : DIAMOND
name : '&2&lVOTE'
slot : 0
info:
use : true
material : EMERALD
name : '&2&lINFO'
slot : 1
shop:
use : true
material : NETHER_STAR
name : '&2&lSHOP'
slot : 2
stats:
use : true
material : PLAYER_HEAD
name : '&2&lSTATS'
slot : 3
heads:
use : true
material : GLOWSTONE_DUST
name : '&e&lHEADSPLUS'
slot : 4
tracker:
use : true
material : COMPASS
name : '&e&lPlayer Tracker'
slot : 5
leave:
use : true
material : GREEN_BED
name : '&2&lLEAVE'
slot : 8
doublejump:
use : false
material : FEATHER
name : '&e&lDoublejump'
slot : 5
tool:
use : true
material : DIAMOND_SHOVEL
name : ''
slot : 0
snowball :
# if true will give players infinite snowballs
use : true
# only SNOWBALL is currently supported
material : SNOWBALL
# display name to give the snowball
name : ''
# how much knockback to inflict on hit players
knockback : 1.0
# how much damage to inflict on hit players
damage : 0.5
# hotbar slot to hold snowballs
slot : 1
# if true will cause snowballs to break snow_blocks when hit
breakblocks : false
# if true snow_blocks will drop snowballs when broken
allowpickup : false
# maximum number of snowballs a player can hold
maxpickup : 10
# set scoreboard text - only the header supports hex/rgb colours
scoreboard :
# header: '<#ff11aa>&lSpleef'
header : '&6&lSpleef'
# set to true to add a player's doublejumps to the scoreboard
displaydoublejumps : false
# set to true to remove the scoreboard when a player becomes a spectator
removefromspectators : true
# set to true to display the lobby scoreboard when a player runs the "/spleef lobby" command
enablelobbyscoreboard : false
waiting :
- '&fWelcome to Spleef'
- '&a '
- '&fArena : &6&l{ARENA}'
- '&b '
- '&fPlayers : &a&l{PS}&7&l/&c&l{MPS}'
- '&c '
- '&fVotes required : &a&l{VOTES}'
- '&d'
- '&fStarting in : &6&l{COUNT}'
playing :
- '&fPlaying Spleef'
- '&fon arena : &6&l{ARENA}'
- '&b '
- '&fPlayers : &a&l{PS}&7&l/&c&l{MPS}'
- '&c '
- '&fLost Players : &a&l{LOST}'
- '&2 '
- '&fEnd in : &c&l{LIMIT}'
lobby :
- '&fWelcome to the Spleef lobby'
- '&a '
- '&fNumber of Arenas : %spleef_arena_count%'
- '&b '
- '&fGames played : %spleef_played%'
- '&fGames won : %spleef_wins%'
- '&c '
- '&fSpleef_reloaded v %spleef_version%'
# set database to 'file' or 'sql'
database : file
MySQL:
host : host
port : 12345
name : spleef
table : stats
user : root
pass : password
useSSL : false
flags : allowPublicKeyRetrieval=true
legacyDriver : true
#
# set sign text
signs:
prefix : '&6&lSpleef'
join : ' [Join ]'
status:
disabled : '&cDisabled'
ingame : '&c&l {PS }&8/&c&l {MPS }'
regenerating : '&6&lRegen ...'
waiting : '&a&l {PS }&8/&a&l {MPS }'
# if a join sign is placed on a STAINED_GLASS block, the block colour can be set to reflect the arena status
blockcolour:
disabled : ''
ingame : ''
starting : ''
waiting : ''
# set 'allowspectate' to true to allow players clicking on a sign of an in-game arena to join as spectators
allowspectate : false
# bungeecord settings
bungeecord:
enabled : false
# name of hub server
hub : lobby
# if false players will teleport to the spleef lobby
teleporttohub : true
# used to display arena status
useMOTD : true
# if server has more than 1 arena, randomly select one each round
randomarena : true
# stop the server after each round
stopserver : false
# use players online UUIDs which can be passed through bungee to offline servers
useUUID : false
# if true players with 'spectate' permission will join as a player if the arena has not started
playorspectate : false
# if false the default Bukkit join message will not be displayed
showdefaultjoinmessage : true
# should a player's inventory be dropped if the player dies in the arena
ondeath:
dropitems : true
# disable player collisions
disablecollisions : false
# setting this to true will prevent arrows being picked up and re-used
removearrows : false
# should a player's hunger and health bars be filled on joining an arena.
# previous values will be restored when leaving the arena.
onjoin:
fillhunger : true
fillhealth : false
# number of seconds after game starts before blocks start to break
onstart:
delay : 0
# currency symbols to apply to monetary messages
currency:
prefix : ''
suffix : ' coins'
# specify language file to use
language : en-GB
# set to true to log more verbose messages to console
debug : false
# use bossbar to display arena messages and countdown
UseBossBar : true
# set the bossbar color, or have random colors
BossBarColor : RANDOM
# use splash titles for join/leave
UseTitle : true
# use scoreboard to display in-game stats
UseScoreboard : true
# use permission node to limit double jumps
UseDoubleJumpPermissions : false
# enable metrics (bStats)
Metrics : true
# check for new version of Spleef_reloaded on Spigot
CheckForNewVersion : true
# use player's exp bar to display countdown and time limit
usexpbar:
countdown : true
timelimit : true
# use player's rank in chat messages
UseRankInChat:
enabled : false
usegroup : true
groupcolormeta : false
useprefix : false
# in-game shop configuration
shop:
enabled : true
name : '&6&lSpleef &f&lSHOP'
size : 27
doublejump:
maxdoublejumps : 10
# log every shop purchase to console
logpurchases : false
# remove player's purchase if player leaves before game starts
onleave:
removepurchase : false
# item to use to show player's monetary balance in shop
showmoneyitem : GOLD_INGOT
# give players free doublejumps when arena starts
freedoublejumps:
enabled : false
amount : 10
# customise the size of the double jump
doublejumps:
multiplier : 1.5
height : 0.7
# run server commands on win
# setting to "- null" will disable the commands
commandsonwin :
- say {PLAYER } won Spleef on {ARENA }
- say Congratulations ...
# run server commands on lose
# these commands will run multiple times, once for each losing player
# setting to "- null" will disable the commands
commandsonlose :
- null
#
# set duration (seconds) for fireworks on win
fireworksonwin:
enabled : true
duration : 4
# broadcast win to whom:
# 2 = server, 1 = only arena players, 0 = no broadcast message
broadcastwinlevel : 2
# send join invitation to chat when first player joins arena
invitationmessage:
enabled : false
# allow player clicking the message on running arena to join as spectator
allowspectate : false
# exclude players on other Spleef arenas from receiving the message
excludeplayers : false
# exclude originating player from receiving the message
excludeoriginator : false
# enable Spleef parties or AlessioDP parties plugin
parties:
enabled : true
usePartiesPlugin : false
#
# configure arena join menu
menu :
# set menu item for non-PVP arenas
item : TNT
# set menu item for PVP arenas
pvpitem : IRON_BLOCK
# set menu background colour
panecolor : LIGHT_BLUE
# should disabled arenas be included in the menu
includedisabled : false
#
# configure arena config menu
configmenu :
# set 'lore' to false to not display the help text when hovering over each menu item
lore : true
#
# configure sounds
sounds:
arenastart:
enabled : true
sound : ENTITY_PLAYER_LEVELUP
volume : 10
pitch : 1.0
itemselect:
enabled : true
sound : UI_BUTTON_CLICK
volume : 1
pitch : 1.0
blockbreak:
enabled : true
sound : BLOCK_SAND_BREAK
volume : 5
pitch : 1.0
invitationmessage:
enabled : false
sound : ENTITY_PLAYER_LEVELUP
volume : 20
pitch : 1.0
# if enabled, all players in arena teleport to arena spawn when countdown = 5 seconds
anticamping:
enabled : true
teleporttime : 5
# set max entries displayed by leaderboard command
leaderboard :
maxentries = 10
# set hotbar items while waiting for arena start
items:
vote:
use : true
material : DIAMOND
name : '&2&lVOTE'
slot : 0
info:
use : true
material : EMERALD
name : '&2&lINFO'
slot : 1
shop:
use : true
material : NETHER_STAR
name : '&2&lSHOP'
slot : 2
stats:
use : true
material : PLAYER_HEAD
name : '&2&lSTATS'
slot : 3
heads:
use : true
material : GLOWSTONE_DUST
name : '&e&lHEADSPLUS'
slot : 4
tracker:
use : true
material : COMPASS
name : '&e&lPlayer Tracker'
slot : 5
leave:
use : true
material : GREEN_BED
name : '&2&lLEAVE'
slot : 8
doublejump:
use : false
material : FEATHER
name : '&e&lDoublejump'
slot : 5
tool:
use : true
material : DIAMOND_SHOVEL
name : ''
slot : 0
snowball :
# if true will give players infinite snowballs
use : true
# only SNOWBALL is currently supported
material : SNOWBALL
# display name to give the snowball
name : ''
# how much knockback to inflict on hit players
knockback : 1.0
# how much damage to inflict on hit players
damage : 0.5
# hotbar slot to hold snowballs
slot : 1
# if true will cause snowballs to break snow_blocks when hit
breakblocks : false
# if true snow_blocks will drop snowballs when broken
allowpickup : false
# maximum number of snowballs a player can hold
maxpickup : 10
# set scoreboard text - only the header supports hex/rgb colours
scoreboard :
# header: '<#ff11aa>&lSpleef'
header : '&6&lSpleef'
# set to true to add a player's doublejumps to the scoreboard
displaydoublejumps : false
# set to true to remove the scoreboard when a player becomes a spectator
removefromspectators : true
# set to true to display the lobby scoreboard when a player runs the "/spleef lobby" command
enablelobbyscoreboard : false
waiting :
- '&fWelcome to Spleef'
- '&a '
- '&fArena : &6&l{ARENA}'
- '&b '
- '&fPlayers : &a&l{PS}&7&l/&c&l{MPS}'
- '&c '
- '&fVotes required : &a&l{VOTES}'
- '&d'
- '&fStarting in : &6&l{COUNT}'
playing :
- '&fPlaying Spleef'
- '&fon arena : &6&l{ARENA}'
- '&b '
- '&fPlayers : &a&l{PS}&7&l/&c&l{MPS}'
- '&c '
- '&fLost Players : &a&l{LOST}'
- '&2 '
- '&fEnd in : &c&l{LIMIT}'
lobby :
- '&fWelcome to the Spleef lobby'
- '&a '
- '&fNumber of Arenas : %spleef_arena_count%'
- '&b '
- '&fGames played : %spleef_played%'
- '&fGames won : %spleef_wins%'
- '&c '
- '&fSpleef_reloaded v %spleef_version%'
# set database to 'file' or 'sql'
database : file
MySQL:
host : host
port : 12345
name : spleef
table : stats
user : root
pass : password
useSSL : false
flags : allowPublicKeyRetrieval=true
legacyDriver : true
#
# set sign text
signs:
prefix : '&6&lSpleef'
join : ' [Join ]'
status:
disabled : '&cDisabled'
ingame : '&c&l {PS }&8/&c&l {MPS }'
regenerating : '&6&lRegen ...'
waiting : '&a&l {PS }&8/&a&l {MPS }'
# if a join sign is placed on a STAINED_GLASS block, the block colour can be set to reflect the arena status
blockcolour:
disabled : ''
ingame : ''
starting : ''
waiting : ''
# set 'allowspectate' to true to allow players clicking on a sign of an in-game arena to join as spectators
allowspectate : false
# bungeecord settings
bungeecord:
enabled : false
# name of hub server
hub : lobby
# if false players will teleport to the spleef lobby
teleporttohub : true
# used to display arena status
useMOTD : true
# if server has more than 1 arena, randomly select one each round
randomarena : true
# stop the server after each round
stopserver : false
# use players online UUIDs which can be passed through bungee to offline servers
useUUID : false
# if true players with 'spectate' permission will join as a player if the arena has not started
playorspectate : false
# if false the default Bukkit join message will not be displayed
showdefaultjoinmessage : true
# should a player's inventory be dropped if the player dies in the arena
ondeath:
dropitems : true
# disable player collisions
disablecollisions : false
# setting this to true will prevent arrows being picked up and re-used
removearrows : false
# should a player's hunger and health bars be filled on joining an arena.
# previous values will be restored when leaving the arena.
onjoin:
fillhunger : true
fillhealth : false
# number of seconds after game starts before blocks start to break
onstart:
delay : 0
# currency symbols to apply to monetary messages
currency:
prefix : ''
suffix : ' coins'
# specify language file to use
language : en-GB
# set to true to log more verbose messages to console
debug : false
Scoreboard Configuration
Spoiler: Scoreboard Configuration
There are 3 scoreboards, one while the players are waiting for the game to start, one when the game is in progress, and a lobby scoreboard displayed when a player joins the Spleef lobby. They can all be configured/translated in the
config.yml file.
Setting displaydoublejumps to true will add a scoreboard entry displaying the number of doublejumps the player has remaining.
The text and colour codes can be changed, but not the placeholders such as {ARENA}, {PS} and {VOTES}.
Everything that currently supports colours in the config.yml and messages.yml files can be changed to use Hex/RGB colours, EXCEPT the scoreboard entries.
The scoreboard header can still be set, and as an example, the following colour options/formats are supported:
Standard PlaceholderAPI placeholders can also be used in the scoreboard - see example below.
Setting displaydoublejumps to true will add a scoreboard entry displaying the number of doublejumps the player has remaining.
The text and colour codes can be changed, but not the placeholders such as {ARENA}, {PS} and {VOTES}.
Everything that currently supports colours in the config.yml and messages.yml files can be changed to use Hex/RGB colours, EXCEPT the scoreboard entries.
The scoreboard header can still be set, and as an example, the following colour options/formats are supported:
Code (YAML):
scoreboard:
header : '&x&f&f&1&1&a&a&lSpleef'
scoreboard:
header : '< #ff11aa>&lSpleef'
scoreboard:
header : '&c&lSpleef'
header : '&x&f&f&1&1&a&a&lSpleef'
scoreboard:
header : '< #ff11aa>&lSpleef'
scoreboard:
header : '&c&lSpleef'
Code (YAML):
# set scoreboard text
scoreboard :
# Scoreboard Title
header : '&6&lSpleef'
displaydoublejumps : true
removefromspectators : true
enablelobbyscoreboard : false
# Waiting scoreboard config
waiting :
- '&fWelcome to Spleef' # title message
- '&a '
- '&fArena : &6&l{ARENA}' # arena name
- '&b '
- '&fPlayers : &a&l{PS}&7&l/&c&l{MPS}' # players in arena and max players
- '&c '
- '&fVotes required : &a&l{VOTES}' # number of required to force-start arena
- '&d'
- '&fStarting in : &6&l{COUNT}' # countdown to game start
- '&e '
- '&fDouble Jumps : &6&l{DJ}' # number of doublejumps remaining
- '&f '
- '&fMoney : %vault_eco_balance%' # Example placeholder displaying player's balance
# Playing scoreboard config
playing :
- '&fPlaying Spleef'
- '&fon arena : &6&l{ARENA}' # Scoreboard title with arena name
- '&b '
- '&fPlayers : &a&l{PS}&7&l/&c&l{MPS}' # players still active and max players
- '&c '
- '&fLost Players : &a&l{LOST}' # count of players that have lost
- '&d '
- '&fEnd in : &c&l{LIMIT}' # seconds remaining before game ends
- '&e '
- '&fDouble Jumps : &6&l{DJ}' # number of doublejumps remaining
# Lobby scoreboard config
lobby :
- '&fWelcome to the Spleef lobby'
- '&a '
- '&fNumber of Arenas : %spleef_arena_count%'
- '&b '
- '&fGames played : %spleef_played%'
- '&fGames won : %spleef_wins%'
- '&c '
- '&fSpleef_reloaded v %spleef_version%'
scoreboard :
# Scoreboard Title
header : '&6&lSpleef'
displaydoublejumps : true
removefromspectators : true
enablelobbyscoreboard : false
# Waiting scoreboard config
waiting :
- '&fWelcome to Spleef' # title message
- '&a '
- '&fArena : &6&l{ARENA}' # arena name
- '&b '
- '&fPlayers : &a&l{PS}&7&l/&c&l{MPS}' # players in arena and max players
- '&c '
- '&fVotes required : &a&l{VOTES}' # number of required to force-start arena
- '&d'
- '&fStarting in : &6&l{COUNT}' # countdown to game start
- '&e '
- '&fDouble Jumps : &6&l{DJ}' # number of doublejumps remaining
- '&f '
- '&fMoney : %vault_eco_balance%' # Example placeholder displaying player's balance
# Playing scoreboard config
playing :
- '&fPlaying Spleef'
- '&fon arena : &6&l{ARENA}' # Scoreboard title with arena name
- '&b '
- '&fPlayers : &a&l{PS}&7&l/&c&l{MPS}' # players still active and max players
- '&c '
- '&fLost Players : &a&l{LOST}' # count of players that have lost
- '&d '
- '&fEnd in : &c&l{LIMIT}' # seconds remaining before game ends
- '&e '
- '&fDouble Jumps : &6&l{DJ}' # number of doublejumps remaining
# Lobby scoreboard config
lobby :
- '&fWelcome to the Spleef lobby'
- '&a '
- '&fNumber of Arenas : %spleef_arena_count%'
- '&b '
- '&fGames played : %spleef_played%'
- '&fGames won : %spleef_wins%'
- '&c '
- '&fSpleef_reloaded v %spleef_version%'
Kits
A kit is a set of items, weapons, food and potions that can be allocated to players at the start of a game.
A kit is created with command /spsetup addkit [kitname]
The addkit command adds all the items in your inventory including armour and active potion effects to the kit.
Kits are enabled on a per arena basis using command /spsetup enablekits [arena]
Players joining an arena (with kits enabled) will be allocated a random kit from those that have been created. If there is only one kit, everyone will receive the same kit.
A kit can also be linked to an arena using command /spsetup linkkit {arena} {kit}. Every player joining the arena will then receive the same kit.
If more than one kit is linked to an arena, by default players will receive a random kit from this list. To force all players to receive the same linked kit, set the following in the {arena}.yml file.
Code (YAML):
randomLinkedKit
: false
The contents of a kit can be displayed with command /spleef listkit [kitname]
A kit can be deleted with command /spsetup deletekit [kitname]
Item slot 9 in the hotbar will always be the configured 'leave' item for the arena unless removed in the config.
Parties
Players are able to create and join parties so that when the party leader joins an arena, the party members will automatically join the same arena at the same time.
Information on creating and using Spleef_reloaded parties can be found in the wiki .
Alternatively, parties created using the AlessioDP Parties plugin are also supported.
Heads
An optional feature is to allow players to purchase different heads to wear during the game. To enable this feature you will need to have the plugin HeadsPlus by Thatsmusic99 installed on your server.
During the arena countdown, players can use a hotbar item to open the HeadsPlus interface and purchase a head to wear during the game. The head is automatically equipped on the player's head when purchased, and removed at the end of the game.
Players will need permission node spleef.heads: true to be able to use this feature.
The price for each head is set in plugins\HeadsPlus\customheads.yml. The default price is 10.0 and is set in the same file, so if you want all heads to be free just change the default price to 0.0.
You may need to explicitly set permission headsplus.bypass.cost: false if players can buy heads at 0 cost even with a price set.
Arena Join Menu
The arena join menu allows Spleef_reloaded arenas to be selected from an inventory menu. This can be disabled by disallowing permission spleef.joinmenu.
The list of arenas can be limited to only show enabled arenas in the config.yml.
The clickable items (TNT by default) and the coloured tiles can be changed in the config.yml file. The menu heading and other text can be changed in the messages.yml file.
Code (YAML):
menutitle
: '&1Spleef_reloaded Arenas'
menuarenaname : '&a {ARENA }'
menutext : '&5Players : &6{PS}/{MPS}'
menufee : '&5Join Fee : &6{FEE}'
menupvp : '&5PVP : &6Enabled'
menuarenaname : '&a {ARENA }'
menutext : '&5Players : &6{PS}/{MPS}'
menufee : '&5Join Fee : &6{FEE}'
menupvp : '&5PVP : &6Enabled'
Double-Jumps
There is an option (disabled by default) to give players a set number of double-jumps at the beginning of each game.
Code (YAML):
freedoublejumps:
enabled : false
amount : 10
enabled : false
amount : 10
The number of double-jumps a player can receive can also be limited using a permission node, spleef.doublejumps.n, where n is a positive integer (>=1).
A player with permission spleef.doublejumps.6: true will be able to receive or buy a maximum of 6 double-jumps, provided the maximum amount allowed in the config is at least 6.
A player should not have more than one doublejump permission set to true as there is no guarantee which one the plugin will match with first.
Doublejumps can be disabled completely in an arena by modifying the 'allowDoublejumps' setting in the arena config file.
The height of the doublejump can be modified in config.yml
Code (YAML):
doublejumps:
multiplier : 1.5
height : 0.7
multiplier : 1.5
height : 0.7
There is also an admin/console command ( [/trsetup|trconsole] givedoublejumps {player} {amount}) to give players additional doublejumps overriding any maximums set in the config.
Shop Setup
Items to be purchased in-game can be defined in the shop.yml file. The configuration below is the default shop configuration created when the plugin is installed. The description and prices can can be amended, items can removed completely or new items added provided they follow the existing convention.
By default, the permission node spleef.shop is set to true, allowing players to purchase any shop item, provided they have the money to purchase it. Alternatively, each shop item can have its own permission node set (in shop.yml) which a player will need to have in order to purchase that item.
Potions and Splash Potions have a duration and amplifier which can be set using the syntax:
<potion effect>#<duration>#<amplifier>
Setting the amplifier is optional in which case the default value of 1 will apply.
Snowballs have a custom knockback effect. This can be set from 0 (no knockback) to 5 (large knockback). The default is 2.
Items can be bought while waiting in the arena or during the arena countdown, and are given to the player immediately the game starts. Only one shop item can be purchased per game.
Optionally purchases can be removed when the player leaves the arena before the game starts using the config.yml option:
Code (YAML):
shop:
onleave:
removepurchase : true
onleave:
removepurchase : true
Spoiler: Default Shop Configuration
This is the default shop for the current release of Spigot/Minecraft. For older versions, some items may need to be removed for the shop to function.
'1':
name: '&fDouble Jump'
cost: 100
material: FEATHER
amount: 1
permission: spleef.shop.default
lore:
- Double Jump
- Cost&6 100 &5coins
items:
'1':
material: ''
amount: 1
displayname: '&cDouble jump'
lore:
- Basic kit - double jump
enchantments:
- 'null'
'2':
name: '&fSwordsman'
cost: 250
material: IRON_SWORD
glow: false
amount: 1
permission: spleef.shop.2
lore:
- Sword + Knockback#1
- Cost&6 250 &5coins
items:
'1':
material: IRON_SWORD
amount: 1
displayname: '&cSword + Knockback1'
lore:
- Sword + Knockback#1
enchantments:
- KNOCKBACK#2
- SWEEPING#1
'3':
name: '&fProtection Plus'
cost: 300
material: GOLDEN_CHESTPLATE
glow:false
amount: 1
permission: spleef.shop.3
lore:
- Chestplate + Thorns#1
- Cost&6 300 &5coins
items:
'1':
material: GOLDEN_CHESTPLATE
amount: 1
displayname: '&cChestplate + Thorns1'
lore:
- Chestplate + Thorns#1
enchantments:
- THORNS#1
'4':
name: '&fSword and Helmet'
cost: 300
material: GOLDEN_SWORD
glow:false
amount: 1
permission: spleef.shop.4
lore:
- Golden Sword and Helmet
- Cost&6 300 &5coins
items:
'1':
material: GOLDEN_SWORD
amount: 1
displayname: '&cGolden Sword'
lore:
- Golden Sword
enchantments:
- null
'2':
material: GOLDEN_HELMET
amount: 1
displayname: '&cGolden Helmet'
lore:
- Golden Helmet
enchantments:
- PROTECTION#1
'5':
name: '&fSnowballs x 20'
cost: 50
material: SNOWBALL
amount: 20
permission: spleef.shop.5
lore:
- Snowballs + Knockback2
- Cost&6 50 &5coins
items:
'1':
material: SNOWBALL
amount: 20
displayname: '&cSnowballs'
lore:
- Snowballs
enchantments:
- KNOCKBACK#2
'6':
name: '&fSpeed Potion'
cost: 50
material: POTION
amount: 1
permission: spleef.shop.6
lore:
- Add&6 SPEED &5(1:00)
- Cost&6 50 &5coins
items:
'1':
material: POTION
amount: 1
enchantments:
- SPEED#60#1
'7':
name: '&fJump Potion'
cost: 50
material: POTION
amount: 1
permission: spleef.shop.7
lore:
- Add&6 JUMP &5boost (0:45)
- Cost&6 50 &5coins
items:
'1':
material: POTION
amount: 1
enchantments:
- JUMP_BOOST#45#1
'8':
name: '&fNight Vision Potion'
cost: 50
material: POTION
amount: 1
permission: spleef.shop.8
lore:
- Add&6 NIGHT_VISION &5(2:00)
- Cost&6 50 &5coins
items:
'1':
material: POTION
amount: 1
enchantments:
- NIGHT_VISION#120#1
'9':
name: '&fInvisibility Potion'
cost: 50
material: POTION
amount: 1
permission: spleef.shop.9
lore:
- Add&6 INVISIBILITY &5(1:00)
- Cost&6 50 &5coins
items:
'1':
material: POTION
amount: 1
enchantments:
- INVISIBILITY#60#1
'10':
name: '&fSplash Potion of Slowness'
cost: 50
material: SPLASH_POTION
amount: 1
permission: spleef.shop.10
lore:
- Add&6 SLOWNESS &5(0:30)
- Cost&6 50 &5coins
items:
'1':
material: SPLASH_POTION
amount: 1
displayname: '&cSplash Potion of Slowness'
lore:
- Slowness
enchantments:
- SLOWNESS#30#1
'11':
name: '&fSplash Potion of Confusion'
cost: 50
material: SPLASH_POTION
amount: 1
permission: spleef.shop.11
lore:
- Add&6 CONFUSION &5(0:30)
- Cost&6 50 &5coins
items:
'1':
material: SPLASH_POTION
amount: 1
displayname: '&cSplash Potion of Confusion'
lore:
- Confusion
enchantments:
- NAUSEA#30#1
'12':
name: '&fSplash Potion of Blindness'
cost: 50
material: SPLASH_POTION
amount: 1
permission: spleef.shop.12
lore:
- Add&6 BLINDNESS &5(1:30)
- Cost&6 100 &5coins
items:
'1':
material: SPLASH_POTION
amount: 1
displayname: '&cSplash Potion of Blindness'
lore:
- Blindness
enchantments:
- BLINDNESS#90#1
'13':
name: '&fCommand'
cost: 50
material: COMMAND_BLOCK
amount: 1
permission: spleef.shop.13
lore:
- '&6give %PLAYER% GOLD_NUGGET 1'
- '&6give %PLAYER% IRON_NUGGET 1'
- Cost&6 50 &5coins
items:
'1':
material: COMMAND
amount: 2
enchantments:
- 'null'
Code (Text):
'1':
name: '&fDouble Jump'
cost: 100
material: FEATHER
amount: 1
permission: spleef.shop.default
lore:
- Double Jump
- Cost&6 100 &5coins
items:
'1':
material: ''
amount: 1
displayname: '&cDouble jump'
lore:
- Basic kit - double jump
enchantments:
- 'null'
'2':
name: '&fSwordsman'
cost: 250
material: IRON_SWORD
glow: false
amount: 1
permission: spleef.shop.2
lore:
- Sword + Knockback#1
- Cost&6 250 &5coins
items:
'1':
material: IRON_SWORD
amount: 1
displayname: '&cSword + Knockback1'
lore:
- Sword + Knockback#1
enchantments:
- KNOCKBACK#2
- SWEEPING#1
'3':
name: '&fProtection Plus'
cost: 300
material: GOLDEN_CHESTPLATE
glow:false
amount: 1
permission: spleef.shop.3
lore:
- Chestplate + Thorns#1
- Cost&6 300 &5coins
items:
'1':
material: GOLDEN_CHESTPLATE
amount: 1
displayname: '&cChestplate + Thorns1'
lore:
- Chestplate + Thorns#1
enchantments:
- THORNS#1
'4':
name: '&fSword and Helmet'
cost: 300
material: GOLDEN_SWORD
glow:false
amount: 1
permission: spleef.shop.4
lore:
- Golden Sword and Helmet
- Cost&6 300 &5coins
items:
'1':
material: GOLDEN_SWORD
amount: 1
displayname: '&cGolden Sword'
lore:
- Golden Sword
enchantments:
- null
'2':
material: GOLDEN_HELMET
amount: 1
displayname: '&cGolden Helmet'
lore:
- Golden Helmet
enchantments:
- PROTECTION#1
'5':
name: '&fSnowballs x 20'
cost: 50
material: SNOWBALL
amount: 20
permission: spleef.shop.5
lore:
- Snowballs + Knockback2
- Cost&6 50 &5coins
items:
'1':
material: SNOWBALL
amount: 20
displayname: '&cSnowballs'
lore:
- Snowballs
enchantments:
- KNOCKBACK#2
'6':
name: '&fSpeed Potion'
cost: 50
material: POTION
amount: 1
permission: spleef.shop.6
lore:
- Add&6 SPEED &5(1:00)
- Cost&6 50 &5coins
items:
'1':
material: POTION
amount: 1
enchantments:
- SPEED#60#1
'7':
name: '&fJump Potion'
cost: 50
material: POTION
amount: 1
permission: spleef.shop.7
lore:
- Add&6 JUMP &5boost (0:45)
- Cost&6 50 &5coins
items:
'1':
material: POTION
amount: 1
enchantments:
- JUMP_BOOST#45#1
'8':
name: '&fNight Vision Potion'
cost: 50
material: POTION
amount: 1
permission: spleef.shop.8
lore:
- Add&6 NIGHT_VISION &5(2:00)
- Cost&6 50 &5coins
items:
'1':
material: POTION
amount: 1
enchantments:
- NIGHT_VISION#120#1
'9':
name: '&fInvisibility Potion'
cost: 50
material: POTION
amount: 1
permission: spleef.shop.9
lore:
- Add&6 INVISIBILITY &5(1:00)
- Cost&6 50 &5coins
items:
'1':
material: POTION
amount: 1
enchantments:
- INVISIBILITY#60#1
'10':
name: '&fSplash Potion of Slowness'
cost: 50
material: SPLASH_POTION
amount: 1
permission: spleef.shop.10
lore:
- Add&6 SLOWNESS &5(0:30)
- Cost&6 50 &5coins
items:
'1':
material: SPLASH_POTION
amount: 1
displayname: '&cSplash Potion of Slowness'
lore:
- Slowness
enchantments:
- SLOWNESS#30#1
'11':
name: '&fSplash Potion of Confusion'
cost: 50
material: SPLASH_POTION
amount: 1
permission: spleef.shop.11
lore:
- Add&6 CONFUSION &5(0:30)
- Cost&6 50 &5coins
items:
'1':
material: SPLASH_POTION
amount: 1
displayname: '&cSplash Potion of Confusion'
lore:
- Confusion
enchantments:
- NAUSEA#30#1
'12':
name: '&fSplash Potion of Blindness'
cost: 50
material: SPLASH_POTION
amount: 1
permission: spleef.shop.12
lore:
- Add&6 BLINDNESS &5(1:30)
- Cost&6 100 &5coins
items:
'1':
material: SPLASH_POTION
amount: 1
displayname: '&cSplash Potion of Blindness'
lore:
- Blindness
enchantments:
- BLINDNESS#90#1
'13':
name: '&fCommand'
cost: 50
material: COMMAND_BLOCK
amount: 1
permission: spleef.shop.13
lore:
- '&6give %PLAYER% GOLD_NUGGET 1'
- '&6give %PLAYER% IRON_NUGGET 1'
- Cost&6 50 &5coins
items:
'1':
material: COMMAND
amount: 2
enchantments:
- 'null'
Placeholders
All the placeholders listed below work with the current version.
Code (Text):
%spleef_played% : number of Spleef games played
%spleef_wins% : number of Spleef games won
%spleef_losses% : number of Spleef games lost
%spleef_winstreak% : number of consecutive games won
%spleef_version% : version number of plugin
%spleef_current_arena% : player's current arena
%spleef_arena_count% : number of Spleef arenas
%spleef_pvp_arena_count% : number of PVP Spleef arenas
%spleef_nopvp_arena_count% : number of non-PVP Spleef arenas
%spleef_player_count% : number of players currently playing Spleef
%spleef_pvp_player_count% : number of players currently playing PVP Spleef
%spleef_nopvp_player_count% : number of players currently playing non-PVP Spleef
%spleef_player_count_<arena>% : number of players currently playing arena
%spleef_spectator_count_<arena>% : number of spectators in arena
%spleef_spectator_count% : number of Spleef spectators
%spleef_status_<arena>% : current status of arena
%spleef_joinfee_<arena>% : fee required to join arena
%spleef_currency_<arena>% : currency item required to join arena
%spleef_seconds_remaining_<arena>% : seconds remaining in arena
%spleef_time_remaining_<arena>% : time remaining in arena as hh:mm:ss
%spleef_minplayers_<arena>% : minimum players required in arena
%spleef_maxplayers_<arena>% : maximum players for arena
%spleef_doublejumps% : number of doublejumps the player has
%spleef_leaderboard_wins_player_<position>% : player at position in "wins" leaderboard
%spleef_leaderboard_wins_score_<position>% : number of wins at position in "wins" leaderboard
%spleef_leaderboard_wins_rank_<position>% : rank of player at position in "wins" leaderboard
%spleef_leaderboard_losses_player_<position>% : player at position in "losses" leaderboard
%spleef_leaderboard_losses_score_<position>% : number of losses at position in "losses" leaderboard
%spleef_leaderboard_losses_rank_<position>% : rank of player at position in "losses" leaderboard
%spleef_leaderboard_played_player_<position>% : player at position in "played" leaderboard
%spleef_leaderboard_played_score_<position>% : number of games played at position in "played" leaderboard
%spleef_leaderboard_played_rank_<position>% : rank of player at position in "played" leaderboard
%spleef_allplayers_<arena>% : list of names of all players in the arena
%spleef_players_<arena>% : list of names of active players in the arena
%spleef_spectators_<arena>% : list of names of spectators in the arena
%spleef_position_wins% : player's position in games won leaderboard
%spleef_position_played% : player's position in games played leaderboard
%spleef_position_losses% : player's position in games lost leaderboard
%spleef_pvp_status_<arena>% : display if PVP is enabled or disabled in the arena
%spleef_damage_status_<arena>% : display the player damage setting in the arena (yes/no/zero)
%spleef_wins% : number of Spleef games won
%spleef_losses% : number of Spleef games lost
%spleef_winstreak% : number of consecutive games won
%spleef_version% : version number of plugin
%spleef_current_arena% : player's current arena
%spleef_arena_count% : number of Spleef arenas
%spleef_pvp_arena_count% : number of PVP Spleef arenas
%spleef_nopvp_arena_count% : number of non-PVP Spleef arenas
%spleef_player_count% : number of players currently playing Spleef
%spleef_pvp_player_count% : number of players currently playing PVP Spleef
%spleef_nopvp_player_count% : number of players currently playing non-PVP Spleef
%spleef_player_count_<arena>% : number of players currently playing arena
%spleef_spectator_count_<arena>% : number of spectators in arena
%spleef_spectator_count% : number of Spleef spectators
%spleef_status_<arena>% : current status of arena
%spleef_joinfee_<arena>% : fee required to join arena
%spleef_currency_<arena>% : currency item required to join arena
%spleef_seconds_remaining_<arena>% : seconds remaining in arena
%spleef_time_remaining_<arena>% : time remaining in arena as hh:mm:ss
%spleef_minplayers_<arena>% : minimum players required in arena
%spleef_maxplayers_<arena>% : maximum players for arena
%spleef_doublejumps% : number of doublejumps the player has
%spleef_leaderboard_wins_player_<position>% : player at position in "wins" leaderboard
%spleef_leaderboard_wins_score_<position>% : number of wins at position in "wins" leaderboard
%spleef_leaderboard_wins_rank_<position>% : rank of player at position in "wins" leaderboard
%spleef_leaderboard_losses_player_<position>% : player at position in "losses" leaderboard
%spleef_leaderboard_losses_score_<position>% : number of losses at position in "losses" leaderboard
%spleef_leaderboard_losses_rank_<position>% : rank of player at position in "losses" leaderboard
%spleef_leaderboard_played_player_<position>% : player at position in "played" leaderboard
%spleef_leaderboard_played_score_<position>% : number of games played at position in "played" leaderboard
%spleef_leaderboard_played_rank_<position>% : rank of player at position in "played" leaderboard
%spleef_allplayers_<arena>% : list of names of all players in the arena
%spleef_players_<arena>% : list of names of active players in the arena
%spleef_spectators_<arena>% : list of names of spectators in the arena
%spleef_position_wins% : player's position in games won leaderboard
%spleef_position_played% : player's position in games played leaderboard
%spleef_position_losses% : player's position in games lost leaderboard
%spleef_pvp_status_<arena>% : display if PVP is enabled or disabled in the arena
%spleef_damage_status_<arena>% : display the player damage setting in the arena (yes/no/zero)
Creating holograms using the placeholders
This information is on the wiki and includes examples on creating holographic leaderboards using HolographicDisplays.
Signs
Each sign is created as in the picture below. The Join sign colours are configurable in config.yml, and the arena name colour can be set when creating the sign, e.g. &farena1 will create the name in white instead of the default black text.
The Leaderboard sign colours and text can be set in messages.yml. The Leaderboard sign will automatically refresh at the end of each game.
The leave and vote signs have largely been superceded by using inventory items but can still be used if required.
If a join sign is placed on a STAINED_GLASS block, the glass colour can be configured to reflect the status of the arena, for example GREEN/waiting, RED/in-game, BLACK/disabled.
Code (YAML):
signs:
blockcolour:
disabled : ''
ingame : RED
starting : ''
waiting : GREEN
blockcolour:
disabled : ''
ingame : RED
starting : ''
waiting : GREEN
Custom Events
Custom events allow developers to hook into Spleef_reloaded.
Spoiler: Custom Events
The current list of events are:
The arena events will return the arena object.
- PlayerJoinArenaEvent
- PlayerLeaveArenaEvent
- PlayerWinArenaEvent
- PlayerSpectateArenaEvent
- ArenaStartEvent
- ArenaTimeoutEvent
- RewardWinnerEvent
The arena events will return the arena object.
Code (Java):
@EventHandler
public void onPlayerJoinArena (PlayerJoinArenaEvent event ) {
Player player = event. getPlayer ( ) ;
String arena = event. getArena ( ). getArenaName ( ) ;
getLogger ( ). info ( "Spleef_reloaded: Player " + player. getName ( ) + " has joined arena " + arena. getArenaName ( ) )
}
public void onPlayerJoinArena (PlayerJoinArenaEvent event ) {
Player player = event. getPlayer ( ) ;
String arena = event. getArena ( ). getArenaName ( ) ;
getLogger ( ). info ( "Spleef_reloaded: Player " + player. getName ( ) + " has joined arena " + arena. getArenaName ( ) )
}
Languages / Localization
The in-game default language is English (en-GB). The language can be changed by manually replacing the messages.yml with your own translated version of the file.
If you would like to contribute your translations to the project, these are managed via Crowdin.com. Please visit the wiki for details on how to set the language for your server and how to contribute via Crowdin.
If your language is not listed below and if its supported by Crowdin, let me know and it can easily be added.
Metrics
This plugin uses bStats to collect anonymous plugin metrics. The data is collected once every 30mins and is submitted asynchronously to the bStats server. The plugin doesn't collect any custom data, just the default bStats data which is listed on bstats.org. The metrics class is also open source and can be viewed here, or in this plugin's source code on GitHub.
Metrics can of course be disabled on your server but I would appreciate it if it was left enabled as the information it provides gives me an idea of how many servers are using the plugin, what versions are in use, etc. and is an incentive for me to put more of my time into development of the plugin.
Data from the plugin can be viewed here:
https://bstats.org/plugin/bukkit/Spleef_reloaded
Issues and support
Join our Discord server to make it easier to discuss issues and share information.
Any issues or suggestions can be raised on the Issues tab in the GitHub repository, by clicking the big Discord banner above, in the Discussions tab, or even send me a PM.
Please don't use the Review section to ask for help or additional features. Use one of the options listed above and provide as much information as possible. If something's not working, then it probably is a configuration issue, and it's just not possible to diagnose and resolve a problem in the review space. Thank you.
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft version listed: 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Spleef_reloaded | Spleef for 1.20 - 1.21.11 | is a free Minecraft Java mod. Compatible with Minecraft 1.21. Downloaded 2,370 times (via Spigot). Download it and open it directly in the game.