This latest version of this plugin requires a minimum Java version of 21 with Minecraft/Spigot 1.21.3
Version 9.29 should be downloaded for servers running Minecraft/Spigot 1.20.6 - 121.2
TNTRun_reloaded Run, run, run....
Description TNTRun is a highly configurable, fully automated minigame. Traditionally players start on a layer of sand supported by TNT blocks, although any combination of blocks can be used, and every block that they step on disappears. If a player falls through a hole, he/she will continue to run on the layer below. Once a player falls through the final layer he/she loses the game and becomes a spectator for the remainder of the game. The last player remaining wins the game.
TNTRun_reloaded was created in 2016 from the unsupported TNTRun by Shevchik for Minecraft v1.10, and has been improved and updated as new versions of Minecraft have been released. The latest version of TNTRun_reloaded requires Java 21 and supports Minecraft versions 1.20.6 to 1.21.3.
Some of the features will not be present in the older versions which are maintained and supported on an 'as is' basis, and will only be updated if a bug is reported or an existing feature breaks.
The plugin features a customisable shop where players can buy items such as weapons, armour, double-jumps, splash potions, snowballs (with knockback) 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 the legacy version or other 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
Configurable anti-camping system
Custom messages
Formatting codes and RGB/Hex colour 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
Video - gameplay Thanks to
ericbarbwire for creating the following video:
Dependencies
The latest version of TNTRun_reloaded has been tested with the following versions of these plugins:
WorldEdit 7.3.9 (optional, can use internal selection commands)
Parties 3.2.16 (optional, can be used in place of internal parties)
If you are interested in recording the amount of time players spend playing TNTRun_reloaded, with the option to reward players in-game for surviving a set amount of time:
TNTRun Timed Rewards (optional add-on for recording time played in arena, and rewarding survival time)
Gradient and Rainbow colour effects are supported in the scoreboard configuration and in the messages file. The plugin uses IridiumColorAPI to achieve this. Examples of syntax are in the config.yml and also supplied in the link below.
Legacy Support If your server is running a minimum of Java 21 with Minecraft 1.20.6 - 1.21.2, then download version 9.29 from Spigot here.
If your server is running a minimum of Java 17 with Minecraft 1.17.1 - 1.20.4, then download version 9.27 from Spigot here.
If your server is running Java 16 with Minecraft 1.16.5 or 1.17.1, you should download version 9.23.1 from Spigot here.
For servers running Minecraft 1.13.2 to 1.16.5 with a Java version < 16, download version 9.11 from Spigot here.
For servers running Minecraft 1.8 - 1.12.2, version 6.8.9 can be downloaded from GitHub.
If you are running a legacy version 6.8.*, it is recommended that you update to the latest legacy version, 6.8.9.
Support is available for the older versions in terms of help and bug fixes, but all future code changes and new features will be applied to the current release.
Video - setup guides Thanks to
SoulStriker_ for creating the following Showcase Video guide:
Note that in the following video guides, setting the lose level is no longer done by selecting 2 points as explained in these guides. You simply stand inside the arena bounds at the Y-level required and run the setloselevel command.
Thanks to
ericbarbwire for creating the following guide:
Thanks to
LuxLacis for creating the following guide:
Video - setup guides (German) Note that setting the lose level is no longer done by selecting 2 points as explained in this guide. You simply stand inside the arena bounds at the Y-level required and run the setloselevel command.
Thanks to
SpigotFAQ for creating the following guide:
Video - setup guides (Bungeecord) Thanks to
LonlyGamerX™ for the following Bungeecord setup guide:
Commands The commands required to create a standard arena are shown below.
Player Commands
/tr list - list the TNTRun arenas
/tr list {arena} - list the arena configuration
/tr join {arena} - join arena, needs
tntrun.join permission (default)
/tr join - open arena join menu, needs
tntrun.joinmenu permission (default)
/tr autojoin {pvp|nopvp} - join arena with most waiting players
/tr party {option} - TNTRun party commands
/tr leave - leave the current TNTRun arena
/tr vote - vote for the TNTRun arena start
/tr lobby - teleport to the TNTRun lobby
/tr stats - displays your TNTRun record
/tr leaderboard {size} - displays the TNTRun leaderboard
/tr listkit - list the TNTRun kits
/tr listkit {kit} - list the kit configuration
/tr start {arena} - force-start arena, needs
tntrun.start permission
/tr spectate {arena} - join as spectator, needs
tntrun.spectate /tr listrewards {arena} - list arena rewards, needs
tntrun.listrewards /tr info - information about this plugin
/tr help - lists all the /tr commands
/tr cmds - lists all the /trsetup commands
The following admin commands require the
tntrun.setup permission.
Arena Configuration Commands
/trsetup configure {arena} - open menu to run configuration commands
/trsetup setmaxplayers {arena} {number} - set max players for this arena (default: 15)
/trsetup setminplayers {arena} {number} - set min players for this arena (default: 2)
/trsetup settimelimit {arena} {seconds} - set the arena time limit in seconds (default: 300, no_time_limit: 0)
/trsetup setcountdown {arena} {seconds} - set countdown time for arena (default: 10)
/trsetup setmoneyreward {arena} {amount} - sets a money reward (Vault and economy plugins required for this)
/trsetup setteleport {arena} {previous/lobby} - teleports the player to pre-join location or to lobby when game ends
/trsetup setdamage {arena} {yes/no/zero} - sets pvp state in the arena (yes - full damage, zero - zero damage, no - no attack at all)
/trsetup deletespectate {arena} - deletes spectator spawnpoint
/trsetup setgameleveldestroydelay {arena} {ticks} - add a delay before a block is destroyed after a player steps on it (default: 8)
/trsetup setregenerationdelay {arena} {ticks} - set the time allowed for arena regeneration before players can rejoin (default: 60)
/trsetup setvotepercent {arena} {0<votepercent<1} - set the percentage of votes required to start the game for this arena (default: 0.75)
/trsetup givedoublejumps {player} {amount} - give doublejumps to a player
/trsetup setfee {arena} {amount} - set a fee to join the arena
/trsetup setcurrency {arena} {currency_item} - set the currency item
/trsetup setreward {arena} - start conversation to set Money, Material, XP and Command rewards for arena
/trsetup addtowhitelist {command} - whitelist a command for use in-game
/trsetup linkkit {arena} {kit} - links the named kit to an arena
/trsetup unlinkkit {arena} - removes a linked kit from an arena
/trsetup setP1 - set targeted block as first selection point
/trsetup setP2 - set targeted block as second selection point
/trsetup clear - clear selection points
Console Commands
trconsole help - help for console commands
trconsole info - plugin info
trconsole list - list TNTRun_reloaded arenas
trconsole enable {arena} - enable the arena
trconsole disable {arena} - disable the arena
trconsole start {arena} - force-start the arena
trconsole reloadconfig - reload config.yml
trconsole reloadbars - reload configbars.yml
trconsole reloadmsg - reload messages.yml
trconsole leaderboard - display leader board
trconsole join {arena} {player} - join player in arena
trconsole spectate {arena} {player} - join player in arena as spectator
trconsole autojoin [pvp|nopvp] {player} - autojoin player in arena
trconsole givedoublejumps {player} {amount} - give doublejumps to a player
trconsole forcejoin {arena} - force all online players into an arena
Additional Commands
/trsetup setlobby - set the TNTRun lobby at your current position
/trsetup deletelobby - delete the TNTRun lobby
/trsetup setbarcolor {color} - set bar color. Default is RANDOM
/trsetup resetstats {player}- delete a player's TNTRun_reloaded stats
/trsetup resetcachedrank {player}- delete a player's rank from cache to force update
/trsetup addkit {kit}- create a kit
/trsetup deletekit {kit} - delete a kit
/trsetup reloadbars - reload configbars.yml
/trsetup reloadmsg - reload messages.yml
/trsetup reloadtitles - reload titles.yml
/trsetup reloadconfig - reload config.yml
/trsetup addspawn {arena} - creates additional arena spawn points
/trsetup deletespawnpoints {arena} - removes all additional points created with addspawn
/trsetup setlanguage {language-code} - switches messages.yml to one of the supported language options
/trsetup enable {arena} - enable the arena
/trsetup disable {arena} - disable the arena
/trsetup delete {arena} - delete the arena
/trsetup forcejoin {arena} - force all online players into an arena
Arena Setup Example
First create your arena. In this picture the arena was created quickly using WorldEdit and left unenclosed to show the various levels which are made up of TNT and Sand.
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.
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.
/trsetup 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.
/trsetup setspawn <arena>
5. Set spectator spawnpoint. The point at which a player spawns after losing (provided the game has not ended).
/trsetup setspectate <arena>
6. Finish the arena creation and save it. The arena is automatically enabled.
/trsetup finish <arena>
7. Set a main lobby location for all TNTRun arenas (only needs to be done once) at your current location.
/trsetup setlobby
Permissions
Code (Text):
tntrun.join:
description: used to control who can join tntrun and from where.
default: true
tntrun.setup:
description: required to run "/trsetup" commands
default: op
tntrun.version.check:
description: display new version message on player join
default: op
tntrun.heads:
description: allow players to use HeadsPlus in game
default: true
tntrun.shop:
description: allow players to buy any shop item (if they have money)
default: true
tntrun.joinmenu:
description: allow players to use the join menu
default: true
tntrun.start:
description: allow players to start an arena before the minimum players is reached
default: op
tntrun.spectate:
description: allow players to join an arena as a spectator
default: op
tntrun.party:
description: allow players to use the native party commands
default: true
tntrun.autojoin:
description: used to control who can use the autojoin command
default: true
tntrun.listrewards:
description: allow players to list the arena rewards
default: true
tntrun.doublejumps.n:
description: limit allowed doublejumps using permissions, where n is a positive integer (>= 1)
default: false
tntrun.forcejoinbypass:
description: allow players to be excluded from the forcejoin command
default: op
Installation For upgrading, check the release notes for each release.
Download TNTRun_reloaded.jar
Copy to your 'plugins' folder
Restart your server - this will create the default config.yml and other configuration files.
To migrate from the old devbukkit version of TNTRun, simply remove the old TNTRun from the plugins folder , replacing it with TNTRun_reloaded, start & stop the server, then copy the contents of folder
plugins\TNTRun\arenas to
plugins\TNTRun_reloaded\arenas and restart the server. The existing TNTRun arenas should then be enabled without the need to recreate them.
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 TNTRun_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
# the gamemode to use while in the arena, survival(default) or adventure gamemode: SURVIVAL
# in-game shop configuration shop:
enabled: true
name: '&6&lTNTRun &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 TNTRun 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 TNTRun arenas from receiving the message excludeplayers: false
# exclude originating player from receiving the message excludeoriginator: false
# enable TNTRun 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: 0
# set scoreboard text # all scoreboard entries support hex/rgb colours, gradients and Bukkit format codes. # Examples: # header: '<#ff11aa>&lTNTRUN' # header: '<GRADIENT:2C08BA>TNTRUN</GRADIENT:028A97>' scoreboard:
header: '&6&lTNTRUN'
# 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 "/tr lobby" command enablelobbyscoreboard: false
waiting: - '&fWelcome to TNTRun'
- '&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 TNTRun'
- '&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 TNTRun lobby'
- '&a '
- '&fNumber of Arenas: %tntrun_arena_count%' - '&b '
- '&fGames played: %tntrun_played%' - '&fGames won: %tntrun_wins%' - '&c '
- '&fTNTRun_reloaded v
%tntrun_version%' # set database to 'file' or 'sql' database: file
MySQL:
host: host
port: 12345
name: tntrun
table: stats
user: root
pass: password
useSSL: false
flags: allowPublicKeyRetrieval=true
legacyDriver: true
# # set sign text signs:
prefix: '&6&lTNTRun'
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 tntrun 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 TNTRun 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.
The plugin has utilised IridiumColorAPI to provide Gradients and Rainbow effects.
For example, the following colour options/formats are supported:
From version 9.0, standard PlaceholderAPI placeholders can also be used in the scoreboard - see example below.
Code (YAML):
# set scoreboard text scoreboard: # Scoreboard Title header: '&6&lTNTRUN'
displaydoublejumps: true
removefromspectators: true
enablelobbyscoreboard: false
# Waiting scoreboard config waiting: - '&fWelcome to TNTRun'
# 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 TNTRun'
- '&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 TNTRun lobby'
- '&a '
- '&fNumber of Arenas: %tntrun_arena_count%' - '&b '
- '&fGames played: %tntrun_played%' - '&fGames won: %tntrun_wins%' - '&c '
- '&fTNTRun_reloaded v
%tntrun_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
/trsetup 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
/trsetup 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
/trsetup 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
/tr listkits The contents of a kit can be displayed with command
/tr listkit [kitname] A kit can be deleted with command
/trsetup 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 TNTRun_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
tntrun.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 TNTRun_reloaded arenas to be selected from an inventory menu. This can be disabled by disallowing permission
tntrun.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,
tntrun.doublejumps.n, where n is a positive integer (>=1).
A player with permission
tntrun.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
tntrun.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. For example, SNOWBALLS and SPLASH_POTIONS will not work on Spigot/Minecraft 1.8.
Placeholders All the placeholders listed below work with the current version and also the latest legacy version. The old expansion pack, which can still be downloaded from 'PAPI ecloud', is redundant and should no longer be used.
Code (Text):
%tntrun_played% : number of TNTRun games played
%tntrun_wins% : number of TNTRun games won
%tntrun_losses% : number of TNTRun games lost
%tntrun_winstreak% : number of consecutive games won
%tntrun_version% : version number of plugin
%tntrun_current_arena% : player's current arena
%tntrun_arena_count% : number of TNTRun arenas
%tntrun_pvp_arena_count% : number of PVP TNTRun arenas
%tntrun_nopvp_arena_count% : number of non-PVP TNTRun arenas
%tntrun_player_count% : number of players currently playing TNTRun
%tntrun_pvp_player_count% : number of players currently playing PVP TNTRun
%tntrun_nopvp_player_count% : number of players currently playing non-PVP TNTRun
%tntrun_player_count_<arena>% : number of players currently playing arena
%tntrun_spectator_count_<arena>% : number of spectators in arena
%tntrun_spectator_count% : number of TNTRun spectators
%tntrun_status_<arena>% : current status of arena
%tntrun_joinfee_<arena>% : fee required to join arena
%tntrun_currency_<arena>% : currency item required to join arena
%tntrun_seconds_remaining_<arena>% : seconds remaining in arena
%tntrun_time_remaining_<arena>% : time remaining in arena as hh:mm:ss
%tntrun_minplayers_<arena>% : minimum players required in arena
%tntrun_maxplayers_<arena>% : maximum players for arena
%tntrun_doublejumps% : number of doublejumps the player has
%tntrun_leaderboard_wins_player_<position>% : player at position in "wins" leaderboard
%tntrun_leaderboard_wins_score_<position>% : number of wins at position in "wins" leaderboard
%tntrun_leaderboard_wins_rank_<position>% : rank of player at position in "wins" leaderboard
%tntrun_leaderboard_losses_player_<position>% : player at position in "losses" leaderboard
%tntrun_leaderboard_losses_score_<position>% : number of losses at position in "losses" leaderboard
%tntrun_leaderboard_losses_rank_<position>% : rank of player at position in "losses" leaderboard
%tntrun_leaderboard_played_player_<position>% : player at position in "played" leaderboard
%tntrun_leaderboard_played_score_<position>% : number of games played at position in "played" leaderboard
%tntrun_leaderboard_played_rank_<position>% : rank of player at position in "played" leaderboard
%tntrun_allplayers_<arena>% : list of names of all players in the arena
%tntrun_players_<arena>% : list of names of active players in the arena
%tntrun_spectators_<arena>% : list of names of spectators in the arena
%tntrun_position_wins% : player's position in games won leaderboard
%tntrun_position_played% : player's position in games played leaderboard
%tntrun_position_losses% : player's position in games lost leaderboard
%tntrun_pvp_status_<arena>% : display if PVP is enabled or disabled in the arena
%tntrun_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 were added in version 8.6 allowing developers to hook into TNTRun_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("TNTRun_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.