This latest version of this plugin Minecraft/Spigot 1.21.3 - 1.21.4. Check the Legacy Support section for other versions.
Description Spleef is the iconic Minecraft mini game where players join and 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.
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
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)
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
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
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
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
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
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
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
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 commandsonwin: - say
{PLAYER
} won Spleef on
{ARENA
} - say Congratulations
... # 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:
use: true
material: SNOWBALL
name: ''
knockback: 1.0
slot: 1
breakblocks: false
allowpickup: false
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
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.
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%'
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 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.
Code (YAML):
freedoublejumps:
enabled: false
amount: 10
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
Code (YAML):
doublejumps:
multiplier: 1.5
height: 0.7
The
multiplieraffects 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:
Code (YAML):
shop:
onleave:
removepurchase: true
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.
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.
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)
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
Custom Events Custom events allow developers to hook into Spleef_reloaded.
The current list of events are:
PlayerJoinArenaEvent
PlayerLeaveArenaEvent
PlayerWinArenaEvent
PlayerSpectateArenaEvent
ArenaStartEvent
ArenaTimeoutEvent
RewardWinnerEvent
Each custom player event will give you the player object and also the arena.
The arena events will return the arena object.
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.
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.