TNTRun_reloaded | TNTRun for 1.13 - 1.21.4 | icon

TNTRun_reloaded | TNTRun for 1.13 - 1.21.4 | -----

Bungeecord | MySQL | Multi-Arena | Placeholders | PVP | Kits | Scoreboards | Leaderboard | Parties



Minimum Java Version: ________Java 21

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

2019-06-06_01.20.18.png

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:
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:
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.

For legacy Minecraft 1.12.2 and below:
  • TNTRun_reloaded 6.8.9
  • WorldEdit 6
  • Vault (optional)
  • BarAPI (optional)


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.

trsetup help.PNG

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.
2018-03-02_15.29.27.png

1. Give the arena a name

/trsetup 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)

/trsetup 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.

/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.

  1. Download TNTRun_reloaded.jar
  2. Copy to your 'plugins' folder
  3. 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:
Code (YAML):
scoreboard:
  header
: '&x&f&f&1&1&a&a&lTNTRUN'

scoreboard
:
  header
: '< #ff11aa>&lTNTRUN'

scoreboard
:
  header
: '<GRADIENT:2C08BA>TNTRUN</GRADIENT:028A97>'

scoreboard
:
  header
: '&c&lTNTRUN'
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.

2019-06-10_23.10.06.png


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.
Code (YAML):
menutitle : '&1TNTRun_reloaded Arenas'
menuarenaname
: '&a {ARENA }'
menutext
: '&5Players : &6{PS}/{MPS}'
menufee
: '&5Join Fee : &6{FEE}'
menupvp
: '&5PVP : &6Enabled'
trmenu.png


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

shop balance.png

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.

Code (Text):

'1':
  name: '&fDouble Jump'
  cost: 100
  material: FEATHER
  amount: 1
  permission: tntrun.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: tntrun.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: tntrun.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: tntrun.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: tntrun.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: tntrun.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: tntrun.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: tntrun.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: tntrun.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: tntrun.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: tntrun.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: tntrun.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: tntrun.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 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.

2019-12-19_15.37.03.png signs212.png

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.
Code (Java):
@EventHandler
public void onPlayerJoinArena (PlayerJoinArenaEvent event ) {

    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.

crowdin.PNG


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/TNTRun_reloaded

[​IMG]


Issues and support
Join our Discord server to make it easier to discuss issues and share information.

[​IMG]
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.
Resource Information
Author:
----------
Total Downloads: 73,170
First Release: Feb 16, 2018
Last Update: Dec 2, 2024
Category: ---------------
All-Time Rating:
65 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings