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




This update is for Spigot/Minecraft 1.21.3 and has been compiled with Java 21 and Spigot API 1.21.3.

Updates:

1) Added pitch and yaw to the player spawn point location. For existing arenas both values will default to 0.
To reset the location so the player is looking in a specific direction when they spawn in the areana, run the command
/trsetup configure <arena-name> while standing at the arena spawn point and select Set Player Spawn from the menu.

2) Added RGB/hex colour support to scoreboards and messages.

3) Added GRADIENT and RAINBOW colour support to scoreboard and messages using IridiumColorAPI by Peaches_MLG
https://www.spigotmc.org/resources/iridiumcolorapi.87351/

4) CodeAPI updates: use Registry for Sounds, and update Attribute.GENERIC_MAX_HEALTH to Attribute.MAX_HEALTH

5) Added new translations:
Polish - thanks to Zarobek Tiktok (zaton231)
German - thanks to Wau Hundeland (wau.hundeland)

Change Log
==========

  • update to spigot api 1.21.3
  • update api-version to 1.21.3
  • Attribute.GENERIC_MAX_HEALTH -> Attribute.MAX_HEALTH
  • convert Sounds to use Registry
  • add pitch and yaw to spawnpoint location
  • add gradient colour support
  • add support for RGB colours in scoreboard
  • process placeholders before colouring scoreboard strings
  • updated German and Polish translations


Anyone wishing to add a translation in their own language or suggest improvements to existing translations can visit https://crowdin.com/project/tntrunreloaded.


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Dec 2, 2024

This update is for Spigot/Minecraft 1.20.6 - 1.21 and has been compiled with Java 21 and Spigot API 1.21.

Updates:

1) Added an arena config option to not automatically enable the arena on restart. The arena can be manually enabled when required.

2) Added the TNTRun party invitation string to messages.yml allowing the message to be translated if required.

3) Added the "Click to select" hover text to messages.yml allowing the message to be translated if required.

4) Added command /trsetup forcejoin {arena} to force all online players to join an arena.

5) Added console command trconsole forcejoin {arena} to force all online players to join an arena.

6)
Added permission tntrun.forcejoinbypass. If true a player will be excluded from the forcejoin command.


Change Log
==========
  • add option to not enable arena on restart
  • update to Spigot API 1.21
  • make TNTRun party invitation string translatable by adding to messages.yml
  • refactor textComponent methods in Utils class
  • only decline a party once to avoid spamming messages
  • fix bug where version checker didn't display latest release correctly
  • write new buildComponent method to tidy up Utils class
  • make "Click to select" hover text translatable by adding to messages.yml
  • add a "/trsetup forcejoin {arena}" command
  • add a "trconsole forcejoin {arena}" command
  • add permission tntrun.forcejoinbypass
  • add some Hungarian translations via Crowdin - thanks to Róbert Valkai (Robert9157)
  • sync'd new messages.yml with Crowdin allowing existing translations to be updated

Anyone wishing to add a translation in their own language or suggest improvements to existing translations can visit https://crowdin.com/project/tntrunreloaded.


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Aug 8, 2024

This update is for Spigot/Minecraft 1.20.6, and has been compiled with Java 21 and Spigot API 1.20.6.

Due to API changes in 1.20.6 and the server requirement to be running Java 21 this version of the plugin is only supported on server versions 1.20.6+.

Updates:

1) Updated all deprecated code to use 1.20.6 Spigot API.

2) Invisible LIGHT_BLOCKS are now treated as AIR blocks and can be placed on the arena floor without affecting the gameplay. Thanks to Vensterbankje for reporting this issue and testing the update.

3) Added Tamil translation - thanks to subbulingam_s (Lingam_S) for the Crowdin update.

4) Added check to prevent players being able to manually edit TNTRun signs.

5) Fix enchantment and potion effect names for 1.20.6. The default shop.yml has been updated with the new names. Existing shop.yml files will need to be editted manually.
These are some of the names that have changed:

JUMP -> JUMP_BOOST
SLOW -> SLOWNESS
CONFUSION -> NAUSEA

In shop.yml for example, change this
Code (YAML):
'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
:
     - CONFUSION #30                     <<< change this line >>>
to this
Code (YAML):
   lore :
     - Confusion
      enchantments
:
     - NAUSEA #30
Full list of valid potion effect names is here: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/potion/PotionEffectType.html



Change Log
==========
  • add Tamil translation
  • enable Tamil (ta-IN) as valid language
  • enable Hungarian (hu-HU) as valid language without translations
  • update WorldEdit dependency to 7.3.2
  • update WorldEdit deprecated methods in math#BlockVector3
  • update deprecated code involving potion effects and enchantments to use the Registry interface
  • update deprecated code in scoreboardManager
  • update deprecated TextComponent#fromLegacyText
  • update deprecated code involving signs which can now have 2 sides
  • update api-version to 1.20.6
  • prevent players editing tntrun signs
  • update to Spigot API 1.20.6
  • fix enchantment and potion effect names for 1.20.6
  • update URL for Java 21 in version checker
  • treat light blocks as AIR
  • refactor spigot version checker to remove potential resource leak


Anyone wishing to add a translation in their own language or suggest improvements to existing translations can visit https://crowdin.com/project/tntrunreloaded.


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, May 31, 2024

This update is for Spigot/Minecraft 1.17.1 - 1.20.4, and has been compiled with Java 17 and Spigot API 1.20.4.

Updates:

1) Rewards can now be set for > 3 players.

2) The number of player positions displayed in the end-of-game leaderboard can now be changed in the arena config file. The default remains 3 (1st, 2nd and 3rd).

3) Added arena config menu item to set the end-of-game leaderboard size to display.

4) Join signs in unloaded chunks will now update correctly on server start.

5) Removed player check from placeholders where it was unnecessary meaning that most placeholders can now be run by the server.

6) Improved custom inventory checks related to potential security issues (issue #109).

7) Fixed exception when clicking outside of inventories.


Change Log
==========
  • update api-version to 1.17 in plugin.yml
  • update spigot api to 1.20.4, update dependency versions of PlaceholderAPI and HeadsPlus
  • remove temp fix in Messages class to add {PLAYER} to podium strings (since 9.13)
  • replace message strings for first 3 places with a single generic message for any place finish
  • update all translated messages files with new generic message
  • allow rewards to be set for > 3 players
  • allow the number of player positions displayed at end of game to be set in arena config (default remains 3)
  • standardise plugin name in all debug/info messages
  • update /trsetup setreward to allow > 3 rewards to be set
  • allow join signs in unloaded chunks to be updated on server start
  • bug fix - get correct values for min and max players in menu when set to > 64 players
  • add arena config menu item to set end of game leaderboard size (default 3)
  • allow most placeholders to return a value without needing a player object
  • improve custom inventory checks
  • bug fix - fix exception in ShopHandler class when clicking outside inventories

Anyone wishing to add a translation in their own language or suggest improvements to existing translations can visit https://crowdin.com/project/tntrunreloaded.


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4

----------, Mar 14, 2024

This update is for Spigot/Minecraft 1.17.1 - 1.20.2, and has been compiled with Java 17 and Spigot API 1.20.2.

Minor update which adds 2 new placeholders, some bug fixes and improvements - see change log for details.

Thanks to Влад Грицишин (xlanyleeet) for the Ukranian translation.

Change Log
==========
  • remove JFrog artifactory from GitHub Actions as JFrog is no longer free
  • remove max players limit of 65 when using the arena config menu
  • bug fix - restore player health should not exceed value of max health
  • enable Ukranian language
  • add placeholders for count of spectators in arena and total spectators
  • commandOnStop - this should run (for all players present) when the arena stops
  • bug fix - fix npe when clicking empty slot in config menu

Anyone wishing to add a translation in their own language or suggest improvements to existing translations can visit https://crowdin.com/project/tntrunreloaded.


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Oct 16, 2023

This update is for Spigot/Minecraft 1.17.1 - 1.20.1, and has been compiled with Java 17 and Spigot API 1.20.1.

This is a minor change to prove compatibility with 1.20.1, adds a new permission to control use of the 'autojoin' command, and some additional Japanese translations provided via Crowdin. Thanks to soushimiyatani0210 for the translations.

Change Log
==========
  • add tntrun.autojoin permission
  • update to spigot api 1.20.1
  • additional Japanese translations

Anyone wishing to add a translation in their own language or suggest improvements to existing translations can visit https://crowdin.com/project/tntrunreloaded.


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Jun 19, 2023

This update is for Spigot/Minecraft 1.17.1 - 1.19.4, and has been compiled with Java 17 and Spigot API 1.19.4.

_________________________________________________________________________________________________________________________________
Note that this release of TNTRun_reloaded requires a minimum Java version of 17, so if you are running a Minecraft 1.17.1 server on Java 16, you will need to upgrade to Java 17.

If you are running a Minecraft 1.16.5 server on Java 16, you will need to upgrade to Java 17 and upgrade your server to at least Minecraft 1.17.1.
_________________________________________________________________________________________________________________________________


This is a fairly small update mainly to move the plugin onto Java 17, and includes the following changes.

1) Upgrade plugin to Java 17, update GitHub Actions workflow.

2) Update api-version to 1.17 in plugin.yml.

3) Add an optional hotbar item (default feather) which can be clicked to double jump.

4) Thanks to the following people for providing and/or updating translations on Crowdin:
- KazufuyuStudio suggested 64 translations into Japanese
- Ra-gu suggested 9 translations into Japanese
- 阿成 (yichengzheng04) suggested 25 translations into Chinese Traditional​

5) Add optional title and subtitle messages for players leaving the arena. These can be set in configtitles.yml.

6) The following bugs have been fixed:
- exception on startup if si#getBlock() returns null (e.g. join sign was deleted when plugin not enabled)
- check commandonstart is empty rather than null

Change Log
==========
  • upgrade to Java 17
  • update GitHub workflow for Java 17
  • bug fix - npe on startup if si#getBlock() returns null
  • bug fix - check commandonstart is empty rather than null
  • add optional inventory item to click to doublejump (default feather)
  • add title message for leave
  • update to spigot api 1.19.4
  • translations for Japanese and Chinese(Traditional) updated


Anyone wishing to add a translation in their own language or suggest improvements to existing translations can visit https://crowdin.com/project/tntrunreloaded.



Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Mar 16, 2023

Bug fix for issue when the shop is disabled in the config, producing an exception in the server console.
----------, Jan 15, 2023

This update is for Spigot/Minecraft 1.16.5 - 1.19.3, and has been compiled with Java 16 and Spigot API 1.19.3.


Advanced Notice:
The next release of TNTRun_reloaded (v9.24) will require a minimum Java version of 17.


As nearly 80% of servers running TNTRun_reloaded are already running at least Java 17, it seems like an opportune time to upgrade this plugin.

java.PNG

If you are running a Minecraft 1.17.1 server on Java 16, you will need to upgrade to Java 17.

If you are running a Minecraft 1.16.5 server on Java 16, you will need to upgrade to Java 17 and upgrade your server to at least Minecraft 1.17.1.



Changes in this release:

1) Previously a player's hunger bar was filled on joining an arena. Hunger and health settings on joining an arena can now be set in the config:
Code (YAML):
onjoin:
  fillhunger
: true
  fillhealth
: false
The default values above represent the current behaviour.


2) A player's health is saved on joining an arena, and is now correctly restored on leaving the arena.


3) Thanks to the following people for providing and/or updating translations on Crowdin:
- Russian translations contributed by olek_azot (LEGO_kamil_azot)


4) The arena status messages can now include internal placeholders for arena name, player count and max players, i.e. {ARENA}, {PS} and {MPS} .


5) The following bugs have been fixed:
- the /trsetup reloadconfig command was not reloading the shop entries
- the lobby scoreboard will now be removed when a player teleports (leaves the lobby)


6) Some code improvements - see change log for more info.


Anyone wishing to add a translation in their own language or suggest improvements to existing translations can visit https://crowdin.com/project/tntrunreloaded.


Change Log
==========
  • fix reloadconfig not reloading shop
  • correctly save/restore player health
  • add config option to fill hunger and health on join
  • remove lobby scoreboard if player teleports
  • make public variable 'shop' private and add getter
  • fix deprecated code in GitHub Actions workflow
  • update Spigot API to 1.19.3, update dependencies
  • add support for internal placeholders in arena status messages


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Jan 12, 2023

This update is for Spigot/Minecraft 1.16.5 - 1.19.2, and has been compiled with Java 16 and Spigot API 1.19.2.

1) The /trsetup setreward command now has an option to delete an existing reward. By entering 'NONE' as the material or command reward, any existing material or command reward will be deleted. Money and XP have always had the option to set the reward to zero.
9.22_1.PNG

2)
A material reward can now be given a custom display name by specifying it during the /trsetup setreward conversation.
9.22_2.PNG

3) The 'command' item in the arena shop can now run multiple commands for the player when the arena starts. The commands must be the first lines in the lore, the "amount" determines how many commands (how many lines of lore) are executed. Anything after those lines will be ignored/assumed to be text.
9.22_3.PNG

4) The arena configuration menu ( /trsetup configure <arena>) has had a 2nd page of arena commands added. These items can be used, amongst other things, to set the arena countdown, set the time limit, enable/disable PVP, enable/disable kits and enable/disable test mode. Some of these could previously only be set by editing the arena config file and restarting the server. Now they are set dynamically, taking immediate effect.

5) Added an "Exit" menu item to the configuration gui.

6) Thanks to the following people for providing and/or updating translations on Crowdin:
- full Italian translation provided by Manu (sodanomanuel06)
- Polish translations contributed by olek_azot (LEGO_kamil_azot)

7) The following bugs have been fixed:
  • in the arena shop, when buying doublejumps the player's displayed balance was not immediatley refreshed
  • NPE when scoreboards were not enabled by attempting to use ScoreboardManager
  • joining an arena as a spectator would reset the player's win streak
  • 'destroydelay', 'stats minplayers' and 'start visible countdown' options should not accept negative values

8) Added a new admin command to give doublejumps to a player in a TNTRun arena. The command overrides any maximum values set on doublejumps.
/trsetup givedoublejumps <player-name> <amount>
trconsole givedoublejumps <player-name> <amount>


9) Some code improvements - see change log for more info.


Anyone wishing to add a translation in their own language can visit https://crowdin.com/project/tntrunreloaded.



Change Log
==========
  • add 2nd page to config gui to set arena options without needing to restart
  • fix bug in shop gui when buying doublejumps the displayed balance was not refreshed
  • fix npe when scoreboards not enabled by checking before attempting to use ScoreboardManager
  • fix bug where joining as a spectator resets win streak
  • fix typo in method name
  • italian translation provided by Manu (sodanomanuel06)
  • polish translations added by olek_azot (LEGO_kamil_azot)
  • move getVotesRequired method from ScoreboardHandler
  • add barrier item to exit gui
  • bug fix - destroydelay, stats minplayers and start visible countdown should not accept negative values
  • add option to 'setreward' conversation to delete existing reward
  • add option to give material reward a display name
  • shop command item can now run multiple commands
  • refactor doublejump methods to use player name instead of player object
  • add new admin command and console command to give doublejumps to a player
  • refresh doublejumps in the waiting scoreboard if player is given additional doublejumps
  • add new command to autotab method


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Oct 10, 2022

This update is for Spigot/Minecraft 1.16.5 - 1.19.2, and has been compiled with Java 16 and Spigot API 1.19.2.

1) Added a lobby scoreboard. This is displayed when a player is teleported to the TNTRun lobby, either
by running `/tr lobby` or at the end of a game if the teleport destination is set to LOBBY.

This has to be enabled in the config, the default is 'disabled' which will be no change to current behaviour.
Code (YAML):
scoreboard:
  enablelobbyscoreboard
: false
 

2) If stats is active for an arena, then a player's win streak is recorded/updated.


3) Added a new placeholder to display a player's win streak.
Code (Java):
%tntrun_winstreak %

4) Added a config option to suppress lore (help text) in configuration gui. The extra help text is displayed by default, but if you are happy configuring arenas the text can be suppressed making the menu cleaner and easier to read.
Code (YAML):
# arena config menu
configmenu
:
  lore
: true

5) Wrap the configuration GUI lore so that it displays correctly

6) Small update to Japanese translation.


Anyone wishing to add a translation in their own language can visit https://crowdin.com/project/tntrunreloaded.



Change Log
==========
  • add an optional lobby scoreboard
  • record each players win streak
  • add placeholder for win streak
  • wrap the configuration GUI lore so that it displays correctly
  • add option to suppress lore (help text) in config GUI
  • refactor scoreboardhandler class
  • create scoreboardmanager class
  • create lobbyscoreboard class
  • update to Spigot 1.19.2 API
  • update StringUtils to commons.lang3
  • use library loader for apache commons-lang3


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Aug 23, 2022

This update is for Spigot/Minecraft 1.16.5 - 1.18.2, and has been compiled with Java 16 and Spigot API 1.18.2.

1) Added a configurable delay to the start of the game after the countdown has finished. Set the number of seconds to wait after the countdown has finished before blocks start to break.
The default is zero which will be no change to current behaviour.
Code (YAML):
# number of seconds after game starts before blocks start to break
onstart
:
  delay
: 0

2) Arena stats is enabled by default. Currently it can be disabled on a per arena basis by setting `excludeStats` to true in the arena config. This keyword has now been replaced with
Code (YAML):
stats:
  enabled
: false
  minPlayers
: 0
If stats is enabled for the arena, it can also require a minimum number of players in order to add to the players stats.
The default is zero meaning there is no change to current behaviour and no restriction on number of players needed.


3) Added a config option to disable player collisions. The scoreboard needs to be enabled for this option to function.
Default is false meaning no change to current behaviour.
Code (YAML):
# disable player collisions
disablecollisions
: false

4) Added 2 new placeholders for time remaining in arena.
Code (Text):
  %tntrun_seconds_remaining_<arena>%
  %tntrun_time_remaining_<arena>%     (hh:mm:ss)

5) Added 2 new placeholders for min and max players.
Code (Text):
  %tntrun_minplayers_<arena>%
  %tntrun_maxplayers_<arena>%

6) Bug fix - the leave arena event should fire when spectators leave the arena.


7) Added new event which fires when the winner is rewarded - RewardWinnerEvent


8) Translation updates on Crowdin:
- Portuguese, thanks to Ricardo Sal (ricsal)
- Swedish, thanks to GabbelitoV2

Anyone wishing to add a translation in their own language can visit https://crowdin.com/project/tntrunreloaded.



Change Log
==========
  • add configurable delay to arena start after countdown finishes
  • add arena min players to activate stats (#93)
  • add option to disable collisions
  • add placeholders for time remaining
  • add placeholders for max and min players for arena
  • add new reward winner event
  • leave arena event should fire for spectators leaving arena
  • improve checking on whether scoreboards are enabled
  • update maven-shade-plugin to 3.3.0



Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, May 30, 2022

Bug fix - invitation to join message now correctly plays the sound to the players receiving the message!
----------, Mar 19, 2022

This update is for Spigot/Minecraft 1.16.5 - 1.18.2, and has been compiled with Java 16 and Spigot API 1.18.2.

1) The invitation to join message now has a optional sound which can be enabled in the config.yml, if required - thanks to GustavoCruz for the suggestion.
Code (YAML):
sounds:
  invitationmessage
:
    enabled
: false
    sound
: ENTITY_PLAYER_LEVELUP
    volume
: 20
    pitch
: 1.0

2) Shop menu items can now have an enchanted 'glow' effect, for example, if the items being bought have enchantments, or if you just think it looks better - thanks to GustavoCruz for the suggestion.
Code (YAML):
'2':
  name
: '&fSwordsman'
  cost
: 250
  material
: IRON_SWORD
  glow
: true

3) Shop menu items for potions and splash potions will now have the correct colour and glow effect for the potion effect that they represent (replacing the current fixed red and blue colours).

shop crop.png


4) Bug fix - ensure that players that die in a PVP arena are able to fly when rejoining the arena as spectators.


5) Bug fix - colour codes are now correctly applied in-game to the lore of items bought in the shop.


6) Bug fix - the winner of the game is now prevented from inadvertently using/wasting doublejumps at end of the game.


7) Added a bungeecord option to suppress the Bukkit "<player> has joined/left the game" message - thanks to Galaxis for the suggestion.
Code (YAML):
bungeecord :
  # if false the default Bukkit join message will not be displayed
  showdefaultjoinmessage
: true

8) Translation updates from Crowdin:
- part Swedish translation included - thanks to DanteMinecraft
- full Dutch translation added - thanks to ItzRobin
- some updates to German translation - thanks to crafter2345

Anyone wishing to add a translation in their own language can visit https://crowdin.com/project/tntrunreloaded.


Change Log
==========
  • change default branch on GitHub repo to 'main'
  • update Crowdin to sync with 'main' branch
  • add Ukranian language to Crowdin
  • add optional sound to invitation_to_join message
  • add glow option to shop menu items
  • add colour code formatting to lore of items received from shop
  • use normal colour/glow effects for potions in shop (replacing red/blue)
  • prevent winner using/wasting doublejumps at end of game
  • ensure spectators rejoining after being killed in pvp are able to fly
  • enable Swedish translation
  • enable Dutch translation
  • some updates to German translation
  • add bungeecord option to suppress the Bukkit player join/leave message


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Mar 18, 2022

This update is for Spigot/Minecraft 1.16.5 - 1.18.1, and has been compiled with Java 16 and Spigot API 1.18.1.

1) Due to an unresolved issue with Gitlocalize, I've migrated all the translation files to Crowdin.com. The code has been updated to cater for this with some additional improvements, the most noticable change being the `setlanguage` command now takes the language name rather than code.
A Czech translation has been added - thanks to ArminosaurusCZ
The simplified Chinese translation has been updated and completed - thanks to stevesensei

Anyone wishing to add a translation in their own language can visit https://crowdin.com/project/tntrunreloaded.


2) If the `setloselevel` command fails, it now displays the coordinates of the arena bounds and the coordinates of the point being set as the loselevel. Hopefully this will make any issues setting it easier to resolve.


3) When set to false, the `teleporttohub` bungee option, which was added in the last release, will now teleport joining players to the tntrun lobby rather than joining a game/arena directly. Players return to the lobby at the end of a game not the hub server.


4) Comments are now supported in config.yml files (since Spigot 1.18.1), so the default config file has been updated to be fully commented. Existing config files will be unaffected by this.


5) Currently when joining a bungee server, players with permission `tntrun.spectate` will always join as a spectator. Setting the config option
Code (YAML):
bungeecord:
  playorspectate
: true
will allow the player to join the arena as a player if the arena has not started.


6) The default gamemode in an arena is SURVIVAL. This can now be changed to ADVENTURE if it is more suitable for your server.
Code (YAML):
# the gamemode to use while in the arena, survival(default) or adventure
gamemode
: SURVIVAL

7) Added an arena config option which can be set to disable doublejumps in that arena
Code (YAML):
allowDoublejumps : false


Change Log
==========
  • refactor language code for Crowdin
  • add descriptive names to language enum
  • rename language folders using 4 char code
  • 'setlanguage' command now takes a language name as argument instead of a language code
  • add Czech translation - thanks to ArminosaurusCZ
  • Chinese translation updated - thanks to stevesensei
  • print all coordinatess when 'setloselevel' fails
  • 'teleporttohub' bungee option to teleport to lobby on join
  • update default config.yml with header and comments
  • add bungee option for players with 'tntrun.spectate' permission to join as player if arena has not started
  • add option to use Adventure gamemode in-game
  • add arena config option to disable doublejumps


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Feb 8, 2022

This update is for Spigot/Minecraft 1.16.5 - 1.18.1, and has been compiled with Java 16 and Spigot API 1.18.1.

A number of new config options have been added, namely

1) if a player dies in the arena, setting `dropitems: false` will remove any dropped items to prevent them being picked up by another player.
Code (YAML):
ondeath:
  dropitems
: true

2) an option to remove any arrows that are fired in a PVP arena that have missed their target. Setting this to true will prevent the arrows being picked up and re-used.
Code (YAML):
removearrows : false

3) an option to use/enable parties from plugin AlessioDP Parties. By default TNTRun's native parties will be used if `parties.enabled: true` is set. This should be set to false, and ` parties.usePartiesPlugin` set to true in order to use AlessioDP parties.
Code (YAML):
parties:
  enabled
: true
  usePartiesPlugin
: false

4) a bungeecord option to teleport players to the TNTRun lobby at the end of a game. By default players will be sent to the 'hub' server, but by setting `teleporttohub: false` players will teleport to the TNTRun lobby.
Code (YAML):
bungeecord:
  teleporttohub
: true

Additionally, the spectator spawn code has been refactored and now includes yaw and pitch values, a ' tntrun.party' permission has been registered which can be used to restrict the use of the ` /tr party` command, and the party API has also been updated.

The German language translation has been updated - thanks to zermarvt for updating this.

Gitlocalize is currently broken as its unable to sync with the GitHub repository. All previously submitted translations are included with the plugin, even though they might be showing as 0% completed. Gitlocalize support seems very slow, so I'm looking at migrating to 'Crowdin' for future localization support.


Change Log
==========
  • add option to remove dropped items on player death
  • add option to prevent players picking up used arrows in pvp arenas
  • update to spigot 1.18.1
  • update party api
  • update switch statements in menus class
  • Spigot MySQL has been updated to v8.0 so make default config setting 'legacyDriver: false'
  • re-add support for AlessioDP parties
  • add Parties plugin to soft depends
  • register `tntrun.party` permission (default true)
  • add new message string for (TNTRun) parties not enabled
  • config option to enable/disable in-built parties and AlessioDP Parties plugin ('parties.enabled: true' will take precedence over the Parties plugin)
  • refactor spectator spawn code
  • finally fix spelling of 'lose' in method names
  • add yaw and pitch to spectator spawn location
  • correct scope of loselevel methods
  • add updated German language file - thanks to zermarvt
  • add bungeecord 'teleportto' option to allow teleport to TNTRun lobby



Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Jan 4, 2022

This update is for Spigot/Minecraft 1.16.5 - 1.17.1, and has been compiled with Java 16 and Spigot API 1.17.1.

Bug Fix Update
============

This update fixes a bug introduced in 9.16 where the PVP and non-PVP status of an arena was displayed incorrectly in the join menu GUI.

It also includes a fix for an exploit reported by ItsMCB by preventing any inventory items from being moved while in a TNTRun arena.

Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Nov 28, 2021

This update is for Spigot/Minecraft 1.16.5 - 1.17.1, and has been compiled with Java 16 and Spigot API 1.17.1.

Update time again - this time we have some new config options, some bug fixes, new translations and code improvements.

1) The use of the player's experience bar for displaying the countdown and the time remaining can now be enabled/disabled independently:
Code (YAML):
usexpbar:
  countdown
: true
  timelimit
: true
The old UseExpBar is now redundant and can be removed from the config:
Code (YAML):
special:
  UseExpBar
: true

2) The continuous display of the countdown on the screen, which by default starts at 10 seconds, can be configured to start at any time in the arena config:
Code (YAML):
startVisibleCountdown : 10

3) The anti-camping option (which teleports all the players to the arena spawn when the countdown reaches 5 seconds) can now be set in the config to occur at any time during the countdown. The default remains at 5 seconds which is also the minimum time allowed:
Code (YAML):
anticamping:
  teleporttime
: 5
  enabled
: true

4) The plugin now includes a Korean translation of the messages file - thanks to hoehoetvhss for submitting this on gitlocalize.

The plugin now includes a Polish translation of the messages file - thanks to mrtajniak for submitting this on gitlocalize.


5) Two new placeholders have been added to display the PVP status of an arena (Enabled/Disabled) and the damage status (Yes/No/Zero):
Code (Java):
%tntrun_pvp_status_ {arena } %
%tntrun_damage_status_ {arena } %

6) Some changes have been made to the party system:
a) improve tab-completion for party commands by adding player names where appropriate
b) fix bug where player could potentially join a party without being invited by storing invitations and removing them when they are accepted/declined. This also prevents a player rejoining a party with an old invitation.
c) a player can now accept/decline a party invitation by clicking the link or by using the new command
/tr party [accept|decline]

d) begin adding api with party api


7) A number of bug fixes - see change log.


Change Log
==========
  • enable/disable exp bar separately for countdown and timelimit
  • countdown titles start at 10 seconds - make it an arena config option (default 10)
  • make anti-camping teleport time a config option (default 5)
  • improve tab-completion for party commands by adding player names where appropriate
  • player can now accept/decline party invitation by clicking link or by command
  • add accept and decline commands to party auto tab completer
  • begin adding api with party api
  • new message string: partynoinvite = "&c You do not have an invitation to this party";
  • add placeholders for pvp_status and damage_status
  • add ko and pl to list of support languages
  • add Korean translation - thanks to hoehoetvhss
  • add Polish translation - thanks to mrtajniak

Bug fixes:
  • fix npe in rewards when 2nd or 3rd place player quits before the end
  • fix npe getting rank when 2nd or 3rd place player quits before the end
  • disable firework damage so players/spectators can't inadvertently die at the end of the game
  • remove {PLAYER} placeholder from listrewards command as not required
  • fix bug where player could potentially join party without being invited



Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Nov 26, 2021

This update is for Spigot/Minecraft 1.16.5 - 1.17.1, and has been compiled with Java 16 and Spigot API 1.17.1.

1) add bungee option to load all available arenas on the server and randomly select one of these at the end of game (without restarting the server)
Code (YAML):
bungeecord:
  randomarena
: true

2) add support for group meta to hold a colour code

If you want your players names to be colour coded in chat according to the group or rank they belong to, then this can be done by first enabling the option in config:
Code (YAML):
UseRankInChat:
  enabled
: true
  usegroup
: true
  groupcolormeta
: true
The colour code then needs to be added to the group meta. The actual method to do this will vary depending on your permissions plugin, but essentially you need to set a key/value pair for the group, where the key is " tntrun-color" and the value is the colour code.

For example, the steps for LuckPerms to set a colour for groups 'admin', 'mod' and 'vip' would be:
Code (YAML):
/lp group admin meta set tntrun-color &b
/lp group mod meta set tntrun-color &e
/lp group vip meta set tntrun-color < #ff11aa>

3) add {COLOR} placeholder to some message strings. This will use the group colour meta above.
Code (YAML):
  playerjoinedtoothers : '&c {RANK }&6 {COLOR } {PLAYER } &7joined the arena (&6 {PS }&7/&6 {MPS }&7 )'
   playerjoininvite
: '&c {RANK }&6 {COLOR } {PLAYER } &7has joined TNTRun arena &6 {ARENA }&7, click to play'
   playerlefttoothers
: '&c {RANK }&6 {COLOR } {PLAYER } &7left the game (&6 {PS }&7/&6 {MPS }&7 )'
   playerlosttoothers
: '&c {RANK }&6 {COLOR } {PLAYER } &7lost the game (&6 {PS }&7/&6 {MPS }&7 )'
   playerfirstplace
: '&a1st place : &f{RANK}{COLOR}{PLAYER}'
   playersecondplace
: '&a2nd place : &f{RANK}{COLOR}{PLAYER}'
   playerthirdplace
: '&a3rd place : &f{RANK}{COLOR}{PLAYER}'
   leaderboard
: ' {POSITION } ) &c {RANK }&b {COLOR } {PLAYER } &f : Wins &3 {WINS }'
If not used or not set, the {RANK} and {COLOR} placeholders will simply be replaced with an empty string, or can even removed from the message strings if desired.

Note:
a) If enabled in config, the {RANK} and {COLOR} are cached when the player first joins any arena.
b) For offline players (e.g. in placeholders or leader boards) the caching has to be done async as it could involve a web lookup to get the offline player which could in turn lag your server.


4) square brackets [] were originally added to the {RANK} placeholder in code but have been removed. {RANK} now returns the players rank/primary group exactly as it is set.
This gives server owner more options when editing the messages strings. To add the brackets back in, just change the relevant message strings enclosing the {RANK} placeholder with the brackets, e.g.
Code (YAML):
`&c [ {RANK } ]&6 ...` or to add grey brackets `&8 [&c {RANK }&8 ]&6 ...`

5) remove leading spaces from podium messages. They will now be left-justified by default. If more central is preferred, the extra spacing can be added into the messages file, e.g.
Code (Text):
 playerfirstplace: '    &a1st place: &f{RANK}{COLOR}{PLAYER}'

6) the {PLAYER} placeholder has been added to the podium (1st, 2nd, 3rd) message strings instead of adding the player name in code. This change should be automatic and not require manually updating.


7) make using player's level (exp) bar to display countdown/time-left configurable
Code (YAML):
special:
  UseExpBar
: true

8) some small MySQL changes:
- allow special characters ('+', '-', '!', etc.) to be used in the MySQL password string
- use Bukkit logger for MySQL exceptions
- add 'mysql' as a valid database option (equivalent to using 'sql' but more intuitive)


9) some bug fixes and improvements - see change log



Change Log
==========
  • add bungee option to load all arenas and randomly select one at end of game (without restarting)
  • make leaderboard command more efficient by using already cached data
  • fix tab-complete npe when unlinking kit
  • add {PS} and {MPS} placeholders to playerlosttoothers string
  • use getFormattedMessage method consistently in Playerhandler class
  • refactor code around leaderboards and getting offline player ranks
  • add support for group meta to hold a colour code
  • add {COLOR} placeholder to message strings
  • no longer add square brackets [] around the {RANK} placeholder
  • remove leading spaces from podium messages
  • add {PLAYER} to podium messages
  • make using setlevel (exp bar) to display countdown/time-left configurable
  • add command to reset/remove player's rank from cache
  • refresh rank cache if player joins arena with different rank
  • check stats enabled before attempting to clear cached stats
  • use logger for mysql exceptions
  • allow special chars in mysql password string
  • fix bug with placeholder evaluation in 2nd and 3rd place messages
  • evaluate internal placeholders for playerlosttoplayer message string
  • update all translated/part-translated messages files with new placeholder strings



Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Oct 29, 2021

This update is for Spigot/Minecraft 1.16.5 - 1.17.1, and has been compiled with Java 16 and Spigot API 1.17.1.

1) A GUI has been added to allow spectators to teleport to any of the players in the current arena. The spectators will be given an item in their hotbar (default COMPASS) which when clicked will open a GUI of player heads allowing the player to teleport to the location of the selected player. This is enabled by default but can be disabled by setting "use: false" in the config file.
Code (YAML):
items:
  tracker
:
    use
: true
    material
: COMPASS
    name
: '&e&lPlayer Tracker'
    slot
: 5

2) Support for RGB/Hex colours has been added.
Everything that currently supports colours in the config.yml and messages.yml files can be changed to use Hex colours, EXCEPT the scoreboard entries.

The scoreboard header can still be set, and as an example, the following colour options/formats are supported:
Code (YAML):
scoreboard:
  header
: '&x&f&f&1&1&a&a&lTNTRUN'

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

scoreboard
:
  header
: '&c&lTNTRUN'

3) A French language translation is now included with the plugin - thanks to Divergente for providing the translation


4) Other code changes and improvements:

HeadsPlus dependency has been updated to v7 - although v6 is still supported, this dev version has dropped support for pre-1.13 servers. Thanks to ThatsMusic99 for resolving a Maven dependency issue with its pom file;

the deprecated 'hover' message methods in Bukkit's Chat Component API have been updated to use the 1.16 API methods;

the custom isAir() method written for 1.13 has been replaced with Spigot API version available since 1.14;

made the signEditor object private and added new getter method;

added 2 new strings to messages.yml:
Code (YAML):
    playernotplaying = "&c Targeted player &6{PLAYER} &cis no longer playing";
    menutracker = "&1TNTRun player tracker";
 
the GitHub Actions workflow has been updated so that the SNAPSHOT dev releases on GitHub are now automatically uploaded to the Jfrog artifactory. The builds can be downloaded as normal from GitHub Releases, and the Jfrog artifactory can be accessed as follows:
Code (YAML):
<repository >
   <id>steve4744-repo</id >
   <url>https://steve4744.jfrog.io/artifactory/steve4744-repo</url >
</repository >
...
<dependency >
   <groupId>io.github.steve4744</groupId >
   <artifactId>TNTRun_reloaded</artifactId >
   <version>9.14-SNAPSHOT</version >
   <scope>provided</scope >
</dependency>

Change Log
==========
  • add GUI for spectators to teleport to remaining players
  • add 2 new strings to messages.yml related to the new tracker GUI
  • update deprecated hover message methods
  • replace isAir() method with Spigot API
  • RGB colour support - can be '&x&....' or can be '<#nnnnnn>'
  • update HeadsPlus dependency to v7
  • make signEditor object private
  • add French language translation - thanks to Divergente
  • auto upload snapshots to Jfrog artifactory


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Sep 30, 2021

This update is for Spigot/Minecraft 1.16.5 - 1.17.1, and has been compiled with Spigot API 1.17.1.

Following Mojang's decision to require Java 16 for Minecraft 1.17+, this plugin also now requires a minimum Java version of 16.

The code for creating the leaderboard placeholders has been refactored for better performance. The leaderboard results are now cached and has enabled new placeholders to be created to give a player's position on the leaderboard:
Code (Java):
%tntrun_position_wins %
%tntrun_position_played %
%tntrun_position_losses %

A new command, /trsetup resetstats {player} has been added which will remove a player's TNTRun_reloaded stats.

A config option has been added to allow players to join an already running arena as spectators when clicking the arena join sign (default false):
Code (YAML):
signs:
  allowspectate
: false
Thanks to Waterman1001 for the above 2 suggestions.

A long-standing bug where a player with no doublejumps can make a slightly longer than normal first jump has now been fixed - thanks to Waterman1001 for reporting the bug.


Change Log
==========
  • refactor leaderboard placeholder methods for better performance
  • add placeholders for leaderboard position of player
  • fix bug where players with no doublejumps can make a longer than normal first jump
  • add option to spectate via join sign if arena has started
  • new command to reset player stats
  • add resetstats help to messages.yml
  • update default messages file on gitlocalize
  • update spanish translations



Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Aug 31, 2021

This update is for servers running Spigot/Minecraft 1.16.5 - 1.17.1, and has been compiled with Spigot API 1.17.1.

Following Mojang's decision to require Java 16 for Minecraft 1.17+, this plugin also now requires a minimum Java version of 16.


The other major change is to the shop code. This has been refactored somewhat to allow the shop to be enabled/disabled globally in the config, and also enabled/disabled per arena. This would allow 'non-pvp' arenas, for example, to not have the shop option available.

A NEW 'command' item has been added to the default shop.yml - thanks to ItsMCB for the suggestion. Players can buy a command by clicking on the shop item in the normal way. The command will run when the countdown ends and the arena starts.

The default command item will not generate into an existing shop.yml file, so if you want to use it, either temporarily rename your existing shop.yml and start the server to generate a new shop.yml, or cut/paste the entry below, removing the 2 comments, and changing the details where appropriate.
Code (YAML):
'13':
  name
: '&fCommand'
  cost
: 50
  material
: COMMAND_BLOCK
  amount
: 1
  permission
: tntrun.shop.13
  lore
:
 - '&6give %PLAYER% GOLD_NUGGET 1'      <--- command that will run when arena starts
  - Cost&6 50 &5coins
  items
:
    '1'
:
      material
: COMMAND                < --- do not change this
      amount
: 1
      enchantments
:
     - 'null'

All the messages relating to TNTRun parties have been added to messages.yml.

A German language translation is now included with the plugin - thanks to crafter23456 for the translation.

Some bug fixes related to player rewards - see change log below.


Change Log
==========
  • update to java 16
  • requires java 16 and therefore requires server version 1.16.5 to 1.17.1
  • update Worldedit and McMMO dependency versions
  • update bstats to v2.2.1
  • add party messages to messages.yml
  • add message string for player winning in testmode
  • refactor shop code to allow shop to be globally enabled/disabled
  • move shop listener to its own class
  • allow shop to be enabled/disabled on a per arena basis
  • add new 'command' item to shop
  • fix bug where player leaving arena is not placed 2nd or 3rd
  • fix command reward bug in newly created arena - thanks to GabryB for reporting it
  • fix bug where in certain scenario the 3rd place reward could be given more than once - thanks to ItsMCB for finding and helping debug this
  • add German language support - thanks to crafter23456 for the translation


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Jul 9, 2021

This update is for Spigot/Minecraft 1.13.2 to 1.16.5, and has been compiled with Spigot API 1.16.5.

1) Added support for parties.
Players can create parties and invite other players to join their party.
Parties can be enabled/disabled in the config:
Code (YAML):
parties:
  enabled
: true
Players accepting the party invitation will then automatically join the same arena as the party leader.

Example:
- /tr party create
- /tr party invite {player-name}
- {player-name} accepts invite
- when the party leader joins an arena, the other party members able to join will spawn in the same arena

You can only belong to one party at a time.
Only the party leader (creator) can invite/kick other players.
When the party leader leaves the party, the party is deleted.

The party functions do not apply to bungee mode, where the same functionality can already be achieved by using 3rd party plugins.

2) Bump mysql-connector-java from 5.1.49 to 8.0.23 due to security vulnerabilities
Added 'legacyDriver: true' to MySQL config settings so it doesn't break on Spigot servers. If running a Paper server you should set the legacyDriver option to false.
Code (YAML):
MySQL:
  legacyDriver
: false

3) Player stats in bungee mode can now be stored as UUIDs (due to UUIDs being forwarded from the bungeecord server to the offline servers). This can be enabled in the config by setting 'useUUID: true'. Any existing stats will need to be converted manually.
The default setting is to leave it unchanged.
Code (YAML):
bungeecord:
  useUUID
: false

4) The {ARENA} placeholder can now be used in the following:
(config.yml)
Code (YAML):
commandsonwin :
- say {PLAYER } won TNTRun on {ARENA }
(messages.yml)
Code (YAML):
resultshead : '&7============ [&6TNTRun&7 - &6 {ARENA }&7 ]============'
 

5) Bug fixes:
Bug fix - in bungee mode spectators can now join an arena after the game has started
Bug fix - prevent reward being given in certain circumstances to a player that joined as a spectator


6) Norwegian language added to plugin - thanks to themarwik for the translation


Change Log
==========
  • add support for parties
  • bump mysql-connector-java from 5.1.49 to 8.0.23 due to security vulnerabilities
  • bug fix: spectator (in bungee mode) cannot join once countdown has started
  • stats in bungee mode can be stored as UUIDs
  • refactor/repackage menu classes
  • make mysql object private
  • add Norwegian language support - thanks to themarwik for the translation
  • add {ARENA} placeholder to commandsonwin
  • add {ARENA} placeholder to results header
  • bug fix: reward could be given to player joined as spectator in certain circumstances

Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Jun 7, 2021

This update is for Spigot/Minecraft 1.13.2 to 1.16.5, and has been compiled with Spigot API 1.16.5.

This release attempts to make the initial arena configuration a little simpler and less prone to mistakes/errors.

1. The loselevel is now set as a single point, so it is set at the player's feet when running /trsetup setloselevel {arena}. This is now consistent with the commands for setting the lobby, spawn point and spectator spawn.

Existing arena configurations will be automatically updated so that the lose level point P2 is dropped from the config, and the P1 Y coordinate updated (if necessary) to the greater value of P1:y and P2:y.
This should have no impact on existing arenas.
The arena config loselevel will look like this going forward.
Code (YAML):

loselevel
:
  p1
:
    ==
: Vector
    x
: 193.0
    y
: 71.0
    z
: -108.0

2. To make the arena setup simpler there is a new command /trsetup configure {arena}. After first creating the arena with /trsetup create {arena}, running the configure command will open a menu/UI from where the basic setup commands can be run.

2021-04-01_11.29.54.png

2021-04-01_11.30.26.png
2021-04-01_11.31.30.png
As this is an admin tool and not something players will see, there is no intention to make the menu items configurable or the text translatable. Any suggestions on improving the look or functionality of the menu are welcome. Please report any issues with the menu in the normal way.


3. Players can now join a bungee server as a spectator. If the player has permission ` tntrun.spectate: true` and joins a bungee arena he/she will automatically join as a spectator. If the said player wants to join as a player, then the permission will need to be negated, ` tntrun.spectate: false`.
This change has no effect on the /tr spectate {arena} command on non-bungee servers.


4. The clickable invitation to join message (sent to chat when the first player joins an arena) has an additional option (excludeoriginator) to exclude the originator of the message, i.e. the player that first joins the arena does not see the invitation to join message.
Code (YAML):
invitationmessage:
  enabled
: true
  excludeplayers
: true
  allowspectate
: true
  excludeoriginator
: false

5. The following player specific console commands have been added:
Code (Java):
trconsole join {arena } {player }
trconsole spectate {arena } {player }
trconsole autojoin [pvp |nopvp ] {player }

6. The height of doublejumps is now configurable with the following config options:
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.
The defaults are set to their original values so this change will have no impact on existing arenas.



Change Log
==========
  • make loselevel a single point
  • add option to exclude first player joining from the invitation join message
  • allow players to join as spectators in bungee mode
  • new command /trsetup configure {arena}
  • new configuration menu to setbounds, loselevel, maxplayers, etc.
  • fix missing arena name in /tr cmds output
  • add more console commands
  • allow doublejump height to be configurable
  • language files updated - thanks to wumingyo for updating the zh_CN and zh_TW translations



Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Apr 2, 2021

This update is for Spigot/Minecraft 1.13.2 to 1.16.5, and has been compiled with Spigot API 1.16.5.

Join Message
==========
The clickable 'invitation to join' message which was added in v9.8, and is displayed when the first player joins an arena, has had a couple of extra options added to it.
Code (YAML):
invitationmessage:
  enabled
: false
  allowspectate
: false
  excludeplayers
: false
The allowspectate option, if true, will cause the player to join as a spectator if the arena is already running.
The excludeplayers option, if true, will not send the invitation message to players already in another TNTRun arena.

This message is disabled by default and can be enabled in the config.yml.

Ranks/Placeholders
===============
There are 3 new leaderboard placeholders which allow for a player's rank to be displayed.
Code (YAML):
%tntrun_leaderboard_wins_rank_{position}%
%tntrun_leaderboard_losses_rank_{position}%
%tntrun_leaderboard_played_rank_{position}%
 
There are some performance considerations to make when using these as many leaderboard players are likely to be offline.
Offline player data lookups can be slow, so to try and offset this, offline player ranks are fetched async and are cached for better performance.

All leaderboard placeholders can now be abbreviated to %tntrun_lb_........%

To allow a player's rank in the /tr leaderboard display, the following string in messages.yml has been updated:
Code (YAML):
leaderboard : ' {POSITION } ) &b {RANK } {PLAYER } &f : Wins &3 {WINS }'

Misc
====
Two new custom events have been added, namely ArenaStartEvent and ArenaTimeoutEvent which both return the Arena object.

Added an arena option to exlcude an arena from the stats. If set to true, games played and won in this arena will not be added to players stats. The default is false, and this is set in the arena config file.
Code (YAML):
excludeStats : false
Added a config option to allow spectators to retain the playing scoreboard. The default option is to remove the scoreboard as is currently the case.
Code (YAML):
scoreboard:
  removefromspectators
: true
Added 2 Chinese translations in gitlocalize - thanks to wumingyo
GitLocalize.PNG

The firework duration can now be set to > 4 seconds. The fireworks are cancelled immediately if all players have left arena.


Change Log
==========
  • refactor stats to include rank in placeholders
  • add new leaderboard rank placeholders
  • all leaderboard placeholders can be abbreviated to %tntrun_lb_........%
  • allow RANK in /tr leaderboard display
  • update 'leaderboard' string in messages.yml
  • new arena start event
  • new arena timeout event
  • get offline player ranks async
  • cache player ranks for better performance
  • add arena flag to exclude arena from stats
  • add option to not remove scoreboard when player becomes spectator
  • add option to make 'click to join' go to spectate if arena has started
  • add option to make 'click to join' visible only to players not already playing TNTRun
  • two Chinese language files added to plugin
  • refactor firework duration to allow > 4 seconds
  • fix bug where purchased head was not auto-equiped
  • fix typo in 'setupdelkit' in messages.yml
  • update dependency versions
  • CI versioning added using GitHub Actions
  • automated dev builds available from GitHub Releases page



Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Feb 26, 2021

This update is for Spigot/Minecraft 1.13.2 to 1.16.5, and has been compiled with Spigot API 1.16.5.

Main Changes
============
Signs
=====
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 waiting: GREEN, in-game: RED, disabled: BLACK
The new default config options for this are:
Code (YAML):
signs:
  blockcolour
:
    disabled
: ''
    ingame
: ''
    starting
: ''
    waiting
: ''
Kits
====
By default, if kits are enabled in an arena, then each player joining the arena will receive a random kit from the list of kits available. By linking a kit to an arena, all players joining the arena will receive the same linked kit.

In this release, multiple kits can be linked to an arena using command /trsetup linkkit {arena} {kit}. Where there are multiple kits 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 when the arena has multiple kits linked, set 'randomLinkedKit' to false in the {arena}.yml file.

Code (YAML):
kits:
  enabled
: true
  linked
:
  - kit1
  - kit2
  randomLinkedKit
: false
In some cases you may need to relink existing kits to arenas due to the syntax of the kits options changing as above in the config file.

To remove a linked kit from an arena, use command /trsetup unlinkit {arena} {kit}

Join Message
============
A clickable 'invitation to join' message can be displayed when the first player joins an arena.
invmsg.PNG

This is disabled by default and can be enabled in the config.yml.
Code (YAML):
invitationmessage:
  enabled
: false
The invitation message and hover text strings in messages.yml are:
Code (YAML):
playerjoininvite : '&c {RANK }&6 {PLAYER } &7has joined TNTRun arena &6 {ARENA }&7, click to play'
playerclickinvite
: Click to join {ARENA }

Change Log
==========
  • update bstats to 1.8
  • join signs placed on STAINED_GLASS can change the glass colour with arena status
  • add clickable invitation message when 1st player joins arena
  • optimise join messages
  • remove redundant 'playerjoinedtoplayer' string
  • multiple kits can be linked to an arena
  • update unlinkkit command to accept kitname argument
  • fix longstanding 'block destroy' exploit
  • fix potential bug when getting player's rank in offline mode
  • fix IO exception on initial install from language file update

Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Jan 24, 2021

This update is for Spigot/Minecraft 1.13.2 to 1.16.4, and has been compiled with Spigot API 1.16.4.

This release includes lots of improvements and a number of bug fixes.

Main Changes
============
In a multi-spawnpoint arena, if a player leaves the arena before the game starts and subsequently rejoins, the plugin will attempt to respawn the player at the same spawnpoint. This doesn't prevent another player joining at the vacated spawnpoint.

If all arenas are empty, /tr autojoin will randomly select an arena for the first player to join. This applies to /tr autojoin pvp and /tr autojoin nopvp commands.
The autojoin sign can now include 'pvp' or 'nopvp' on the 3rd line to limit the arenas chosen to that specific type.

A kit can now be linked to an arena using a new command /trsetup linkkit {arena} {kit}.
By default, if kits are enabled in an arena, then all players joining the arena will receive a random kit from the list of kits available. When a kit is linked to an arena, all players joining the arena will receive the same linked kit. To remove the linked kit use command /trsetup unlinkit {arena}.

The message prefix is now added to all messages after checking if the message is not empty. This means that most messages can now be set to an empty string in messages.yml, and nothing will appear in chat (like a blank line, or just the TNTRun prefix).

The output from /tr list is now sorted alphabetically. The arena join fee and item currency have been merged into a single entry, and the name of the linked kit (if any) added to the output.

The output from /tr listkits is now sorted alphabetically.

The menu provided by /tr join will only support a maximum of 28 arenas. If you have more than 28 arenas, the list will be truncated and only the first 28 arenas, sorted alphabetically, will be shown. There is a config option to exclude disabled arenas, which can be used to reduce the number of arenas in the menu, if you have more than 28 arenas. This is a temporary fix as adding extra pages to the menu is too big a change to add to an already busy update. This will be a task for the next release.

There is a new command /trsetup setlanguage which will allow the messages.yml file to be switched between languages. This is still a work in progress and at the moment the only languages included with the plugin is the current default, en-GB, and Spanish (es). Details on how you can contribute a translation in your own language via "gitlocalize" is on the wiki page - https://github.com/steve4744/TNTRun/wiki/Language-Support.

There are 4 new placeholders:
Code (YAML):
%tntrun_current_arena%       - player's current arena
%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

Change Log
==========
  • overload Messages#sendMessage to add trprefix when necessary
  • update all other messages to remove the trprefix addition
  • if multi-spawnpoint arena, return rejoining player to his original spawnpoint (if still available)
  • tidy up and sort output from /tr list and /tr listkits
  • /tr autojoin now selects a random arena if all arenas are empty
  • add /trsetup setlanguage command to load preset messages.yml files
  • add pvp|nopvp option to autojoin sign (3rd line)
  • add currency symbols to the arena fee messages where appropriate
  • allow a kit to be linked to an arena
  • add some new placeholders

Bug fixes:
  • when arena timeout is reached no rewards should be given (including 3rd place when last 2 players timeout)
  • fix npe when adding additional spawnpoints to an existing arena
  • fix npe when arena starts with > 2 players, and one of the 2 remaining players quits
  • fix bug where autojoin could take join fee when checking arenas
  • fix npe in /tr join if > 28 arenas (temp fix)
  • format currency correctly



Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Dec 24, 2020

This update is for Spigot/Minecraft 1.13.2 to 1.16.4, and has been compiled with Spigot API 1.16.4.

This release includes the addition of a command whitelist for use in-game, and currency symbols and names can be added to money related messages.

Commands can be added to the whitelist by running /trsetup addtowhitelist <command>. For example, to allow players to run " /time set day" in-game
Code (YAML):
/trsetup addtowhitelist /time set day
Commands are added to the whitelist at your own risk. There is always a chance of the plugin breaking in unexpected ways due to players running non-TNTRun commands in-game.

Hard-coded references to the word " coins" have been replaced with 2 config options:
Code (YAML):
currency:
  prefix
: ''
  suffix
: ' coins'
For example, " 50 coins", can now be displayed as " £50" or " 50 EUR" or " 50" by specifying the prefix and suffix options. Strings in messages.yml affected by this change are:
Code (YAML):
playerboughtitem : '&7 You have bought item &6 {ITEM } &7for &6 {MONEY }'
shopmoneybalance
: '&5Your balance is &6 {BAL }
notenoughmoney
: '&c You need {MONEY } to buy this item'
The output from commands /tr list and /tr listkits has changed slightly due to the code improvements. The headings now include a count of the number of arenas and kits available. These messages have been updated:
Code (YAML):
availablearenas : '&7 Available arenas : {COUNT }'
availablekits
: '&7 Available kits : {COUNT }'
The output from /tr listrewards is now configurable/translatable with these additions to messages.yml
Code (YAML):
playerrewardmaterial : '&6 Material : &f'
playerrewardcommand
: '&6 Command : &f'
playerrewardmoney
: '&6 Money :   &f'
playerrewardxp
: '&6 XP :     &l  &f'

There is a new command /trsetup setlanguage which will eventually allow the messages.yml file to be switched between languages. This is still a work in progress and at the moment the only language file include with the plugin is the current default, UK English. Details on how you can contribute a translation in your own language using GitLocalize will follow.


Change Log
==========
  • add ability to whitelist commands for use in-game
  • new command /trsetup addtowhitelist <command>
  • new language class to enable loading different language files
  • new /trsetup setlanguage command
  • typo in notenoughtmoney replaced with notenoughmoney in messages.yml
  • code improvements to tab completion
  • code improvements to /tr list and /tr listkits commands
  • the text in the output from /tr listrewards <arena> is now translatable
  • add currency formatting options to replace hard-coded references to "coins"


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Nov 21, 2020

This update is for Spigot/Minecraft 1.13 to 1.16.3, and has been compiled with Spigot API 1.16.3.

This update contains a few bug fixes and some updates to the join menu and autojoin features.

The /tr autojoin command has 2 additional options, pvp and nopvp. The /tr autojoin pvp command will join only arenas with PVP enabled. The default command with no options, /tr autojoin, is unchanged and will join any enabled arena.

The join menu , /tr join, can now display PVP enabled arenas using a different item which can be set in the config.yml
Code (YAML):
menu:
  item
: TNT
  pvpitem
: IRON_BLOCK
  includedisabled
: true
  panecolor
: LIGHT_BLUE
The hover text over the items can display if the arena has PVP enabled by setting the string in messages.yml
Code (YAML):
menupvp : '&5PVP : &6Enabled'

If the string is set to '' or PVP is not enabled then nothing is displayed.

The results messsage at the end of the game has its own header string in messages.yml
Code (Text):
resultshead: '&7============[&6TNTRun&7]============'
There are 4 new placeholders
Code (YAML):
%tntrun_pvp_arena_count%            : number of PVP TNTRun arenas
%tntrun_nopvp_arena_count%          : number of non-PVP TNTRun arenas
%tntrun_pvp_player_count%           : number of players currently playing PVP TNTRun
%tntrun_nopvp_player_count%         : number of players currently playing non-PVP TNTRun

Change Log
=========
  • new strings menupvp and resultshead in messages.yml
  • show if pvp enabled in join menu (can be disabled)
  • option to use different menu item for pvp arenas
  • added header string for results message
  • add pvp|nopvp options to /tr autojoin command
  • add 4 new placeholders
  • improve reward code on arena creation
  • save commandonstart and commandonstop keys to config on arena creation
  • bug fix - fix typo in 3rd place message string
  • bug fix - fix npe which could sometimes be caused by /trsetup deletespawnpoints command
  • bug fix - doublejump placeholder should return free doublejumps if enabled
  • bug fix - validate possibility of commandOnStart being null on arena creation

Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4

----------, Oct 29, 2020

Bug Fix for version 9.5

NPE when creating new arena due to new reward structure not being initialised (thanks to vERKE for reporting it).
----------, Oct 23, 2020

This update is for Spigot/Minecraft 1.13 to 1.16.3, and has been compiled with Spigot API 1.16.3.

The main changes in this release affect the storage of purchased double-jumps and prizes rewarded at the end of a game.

Doublejumps
===========
Purchased double-jumps are currently stored in the config.yml file under the player's name.
Code (YAML):
doublejumps:
  player1
: 7
  player2
: 14
After installing this update, the plugin will use a new file, players.yml, to store the data under the player's UUID.
Code (YAML):
aaaaaaaa-dddd-cccc-dddd-1234567890c4:
  doublejumps
: 7
aaaaaaaa-dddd-cccc-dddd-1234567890d4
:
  doublejumps
: 14
After restarting the server, existing double-jump data can be transferred to the new file by either
a) making a manual backup of the current config.yml, then running the command /trsetup migrate, OR
b) use cut/paste to manually transfer the double-jumps from the config.yml to players.yml, remembering to change the players names to UUIDs if your server is in online mode.

Make a backup copy of config.yml before starting - just in case.

If there are no double-jumps stored in config.yml before upgrading, then no action is needed.

Rewards
=======
Optionally, rewards can now be configured (per arena) for 2nd and 3rd places in a game. The /trsetup setreward {arena} command now has an additional prompt for first, second and third place before continuing with the reward conversation.

reward1.PNG

All types of reward are supported, money, material, XP and command, and can be configured in any combination including multiple material items.

Any existing rewards for 1st place will be unaffected by this update.

By default, rewards for all 3 places will be given provided 3 players start the game. Each place can be configured to only be rewarded if a minimum number players starts the game, for example, the 3rd place reward is only given if 5 players start. This is set by editing the minPlayers field in {arena}.yml

Code (YAML):
reward:
  minPlayers
: 0
  money
: 100
  xp
: 10
  command
: eco give %PLAYER% 10
  material
:
    BLUE_WOOL
:
      amount
: 4
places
:
  second
:
    minPlayers
: 0
    money
: 50
    xp
: 100
    material
:
      GOLD_INGOT
:
        amount
: 2
      IRON_INGOT
:
        amount
: 4
  third
:
    minPlayers
: 5
    money
: 20
    xp
: 0
To keep track of what rewards have been configured, there is a new command /tr listrewards {arena}

rewards2.PNG

The top 3 places are broadcast at end of game.

places.PNG

Reward notification is sent to the player and also logged to the console.

Other Changes
=============
Shop and head purchases are now supported in arenas with kits enabled.

The placeholders for ' playercount' and ' maxplayers', {PS} and {MPS} have been added to 3 existing message strings:

Code (YAML):
menutext : '&5Players : &6{PS}/{MPS}'
playerjoinedtoothers
: '&c {RANK }&6 {PLAYER } &7joined the arena (&6 {PS }&7/&6 {MPS }&7 )'
playerlefttoothers
: '&c {RANK }&6 {PLAYER } &7left the game (&6 {PS }&7/&6 {MPS }&7 )'

Players joining an arena as spectators will now see the arena scoreboard until the game starts. This will make the player count and countdown visible to the spectators.

Added option to run a command on arena start and stop in {arena}.yml
commandOnStart: ''
commandOnStop: ''


Change Log

==========
  • make adding kits more efficient
  • shop purchases are preserved if kits are enabled in the arena
  • purchased heads are preserved when a kit is allocated
  • move doublejumps out of config.yml to players.yml
  • add `/trsetup migrate` command to relocate existing doublejumps
  • add optional reward for 2nd and 3rd place
  • display top 3 places at end of game
  • remove 'playerwonbroadcast' string as made redundant by above
  • remove redundant argument in getArenaCost() method
  • add {PS}/{MPS} placeholders on join message
  • add {PS}/{MPS} to 'menutext' string
  • add `/tr listrewards` command
  • add 'tntrun.listrewards' permission (default true)
  • add waiting scoreboard for spectator-only players
  • add option to run command on arena start and stop
  • bug fix: remove blank message sent when player joins as spectator
  • bug fix: prevent in-game items being removed from inventory
  • bug fix: check value of tntrun.doublejumps.n when checking permission



Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Oct 22, 2020

Hot Fix
=====

Fixes bug causing exception when purchasing items in the shop.
Thanks to mrfloris for reporting it.
----------, Sep 16, 2020

This update is for Spigot/Minecraft 1.13 to 1.16.3, and has been compiled with Spigot API 1.16.3.

This is a small update in terms of code changes, the highlights being adding support for PlaceholderAPI v1.10.9, adding a debug option to hopefully make it easier to diagnose set-up and other issues, and changing the default 'stats' item from REDSTONE to PLAYER_HEAD. The PLAYER_HEAD will be each player's own head when seen in the hotbar.

The project has been converted to Maven which will make managing the dependencies across the different versions of the plugin a lot easier. As part of this, the metrics class (provided by bstats.org) has been deleted, and Maven used to shade bstats directly into the plugin.
Some of the public fields (relating to Kits, Sounds and Lobby) have been converted to private fields with appropriate accessor methods.


Change Log
==========
  • add support for PAPI 2.10.9+
  • add missing help texts in messages
  • add a debug option and extra messages
  • use own player head as default stats item
  • add MySQL flags field to config.yml
  • convert project to maven
  • delete metrics class and use maven to shade bstats plugin
  • convert some public fields to private


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Sep 16, 2020

This update is for Spigot/Minecraft 1.13 to 1.16.1, and has been compiled with Spigot API 1.16.1.


This update includes an option for players to join the arena as spectators only, and also an option to create more than 1 arena spawn point.

To join as a spectator, players need the permission " tntrun.spectate" and then can join an arena using the new command " /tr spectate <arena>".

Arenas can now have multiple spawn points. The primary spawn point must be set in the normal way using " /trsetup setspawn <arena>". Additional spawn points can then be added by standing at the desired point and running " /trsetup addspawn <arena>". When multiple spawn points exist, players will join at each spawn point in a cyclical manner.

To remove the additional spawn points, run " /trsetup deletespawnpoints <arena>". The primary spawn cannot be removed, only overwritten.

The command "/trsetup delspectatorspawn" has been renamed " /trsetup deletespectatorspawn" to be consistent with the other delete commands.

All the TNTRun_reloaded custom events have been updated to return the arena object instead of the arena name. The name of the arena as a string can be obtained from arena#getArenaName() method.

The shop will now allow AIR as a valid item to allow 'spacers' between items or groups of items. For example, to set item 3 as a 'spacer':
Code (YAML):
'3':
  name
: 'Spacer'
  cost
: 0
  material
: AIR
  amount
: 1
  permission
: ''
  lore
: [ ]
  items
: [ ]

If any shop item to has a zero amount this will be considered 'out of stock' so no purchase is made.

The 'leave' item (default GREEN_BED) can now be removed by disabling the option in the config.yml file.

Added a new placeholder for arena status ` %tntrun_status_<arena>%`

Any scoreboard in use before joining the arena is restored to the player when leaving the arena.


Change Log
==========
  • add command to join as spectator "/tr spectate {arena}" command with permission
  • scoreboard should not include players joining as spectators in player count
  • players joining as spectators should not be able to vote for arena start
  • tidy up command class
  • add selection commands to "/tr cmds" output
  • change custom events to return the arena object instead of the arena name
  • allow AIR to be specified as shop item to generate a spacer between items
  • if a shop item 'amount' is zero then skip the purchase as 'out of stock'
  • replace title nms code with spigot#sendTitle method
  • add multiple spawn points
  • add addspawn and deletespawnpoints commands
  • fix possible leaderboard issue displaying incorrect number of entries
  • rename delspectate to deletespectate
  • make leave item optional
  • new placeholder for arena status
  • fix bug whereby an existing scoreboard is not restored when the player leaves the arena


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Aug 3, 2020

This update is for Spigot/Minecraft 1.13 to 1.16.1, and has been compiled with Spigot API 1.16.1.

This update adds support for Minecraft 1.16.1.
The internal selection methods have now been fixed, meaning that commands
Code (Text):
/trsetup setP1
/trsetup setP2
can be used to set the arena bounds and loselevel instead of using WorldEdit or FAWE. The points are chosen by targeting (i.e. looking at) a block, and typing one of the above commands.
WorldEdit can also continue to be used if preferred.

The other changes are a mixture of requests and bug fixes.

1) The arena name in the join menu gui can now be coloured by setting the appropriate colour in _messages.yml_.
Code (Text):
menuarenaname: '&a{ARENA}'
2) If using MySQL, then the database table name can now be specified in _config.yml_. The default name remains "stats".

3) If PVP is enabled in an arena, there is now an option to disable any damage caused if the player is using an empty hand.

4) The hard dependency on WorldEdit has been removed as the internal selection commands are now working.

5) /tr autojoin now selects the arena with most players waiting, rather than the first available arena

6) Any item in the players off-hand is removed when the game starts

7) added a config option to display only enabled arenas in the join menu

8) Some other fixes and improvements - see change log for details.


Change Log
==========
  • add arenaname colour to menu option in config
  • make the MySQL table name configurable
  • add pvp option to cancel damage when using empty hand
  • fix for join signs occasionally not updating
  • fix coloured arena names on join signs not working without Essentials
  • fix internal selection methods
  • add selection commands to tab-completer
  • remove hard dependency on WorldEdit
  • use hashmap to better store item rewards
  • fix null pointer exception if shop inventory size is not a multiple of 9
  • validate shop inventory size to be >= number of shop entries and <=54
  • remove default displayname from menu tiles
  • add option to only display enabled arenas in join menu
  • sort arenas alphabetically in join menu
  • autojoin now selects the arena with most players waiting
  • clear off-hand when game starts
  • remove redundant streams class


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Jun 26, 2020

This update is for Spigot/Minecraft 1.13 to 1.15.2, and has been compiled with Spigot API 1.15.2.

The main changes in this update are:

1) A permission node for double jumps has been added. By default it's not enabled but can be enabled in the config.yml
Code (YAML):

special
:
  UseDoubleJumpPermissions
: true
 
For example, giving a player permission tntrun.doublejumps.4 will limit the player to 4 doublejumps, provided the max allowed double jumps is greater than or equal to 4. This applies to free and shop bought doublejumps.

2) The latest releases of HeadsPlus (version 6.10.x) are incompatible with TNTRun_reloaded version 9.0 and below due to changes the dev has made to the HeadsPlus code. Support for HeadsPlus 6.10.x has been added in this release. If you use the HeadsPlus plugin with TNTRun_reloaded, then you will need to update HeadsPlus to 6.10.3 to work with TNTRun_reloaded from version 9.1 onwards.

3) The leaderboard placeholders will now return an empty string if the leaderboard position is empty rather than the placeholder. The idea is to make the scoreboard look cleaner if it has unfilled positions. I may make this a configurable string in the next release.

4) When creating an arena, you can no longer enable and join the arena before running the "/trsetup finish" command. The finish command creates a lot of the default settings and must be run before attempting to join the arena.

5) When creating a join sign, the arena name can now include a colour code to change it from the default black text.

6) The plugin metrics 'bstats' has been updated to version 1.7. There has been no changes to the metrics collected. This can be disabled in the config, but I would appreciate it being enabled as it provides some useful stats on, for example, how many servers are running the plugin, what versions of the plugin are being used, and what Minecraft versions they are running.


Change Log
==========
  • permission node for different amounts of free double-jumps
  • support colour codes for arena name on join sign
  • update bstats to 1.7
  • fix npe if player joins arena before running "/trsetup finish arena"
  • return empty string for unfilled leaderboard placeholders
  • improve code around loading/saving signs.yml
  • add support for new InventoryManager in HeadsPlus 6.10.3


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, May 8, 2020

This update is for Spigot/Minecraft 1.13 to 1.15.2, and has been compiled with Spigot API 1.15.2.

The main breaking change in this update is the replacement of the leaderboard placeholders with ones that are much more configurable. The old placeholders, %tntrun_leaderboard_x%, will no longer work and should be replaced with the new ones. See item 3 below.

The changes in this update are:

1) the inventory hotbar items can now be assigned to specific slots;
  • set the slot number per item in config.yml

2) a new 'test mode' allowing 1 player to play an arena;
  • set 'testmode: true' in the [arena-name].yml file

3) re-write of the leaderboard placeholders giving admins more control over their usage/design;
  • each positional placeholder such as %tntrun_leaderboard_1% has been replaced with 2 separate placeholders
%tntrun_leaderboard_wins_player_1% - the player at position 1 (player with most wins)
%tntrun_leaderboard_wins_score_1% - the score at position 1 (the highest number of wins)​

  • in addition to the "wins" leaderboard, there are the corresponding leaderboard placeholders for games "played" and "losses".
%tntrun_leaderboard_played_player_1% - the player who has played the most games
%tntrun_leaderboard_played_score_1% - the highest number of games played by a player

%tntrun_leaderboard_losses_player_1% - the player with the most losses
%tntrun_leaderboard_losses_score_1% - the highest number of losses by a player​

  • so its possible to have 3 separate leaderboards (for wins, played and losses), or a custom designed leaderboard.
For example, the config for a "wins" leaderboard (using HolographicDisplays and HolographicExtensions plugins) could look similar to:​
Code (YAML):
tr_lb:
  location
: world, -392.766, 67.283, 162.659
  lines
:
  - '&6&lTNTRun_reloaded Wins'
  - ' {slow } &6 %tntrun_leaderboard_wins_player_1% &f: &c%tntrun_leaderboard_wins_score_1%'
  - ' {slow } &6 %tntrun_leaderboard_wins_player_2% &f: &c%tntrun_leaderboard_wins_score_2%'
  - ' {slow } &6 %tntrun_leaderboard_wins_player_3% &f: &c%tntrun_leaderboard_wins_score_3%'
 

4) placeholder support in the scoreboards;
  • For example, to add a player's money balance to the waiting scoreboard:
Code (YAML):
scoreboard:
   header
: '&6&lTNTRUN'
   displaydoublejumps
: true
   waiting
:
  - '&fWelcome to TNTRun'
   - '&a '
   - '&fArena
: &6&l{ARENA}'
   - '&b '
   - '&fPlayers
: &a&l{PS}&7&l/&c&l{MPS}'
   - '&c '
   - '&fVotes needed
: &6&l{VOTES}'
   - '&d '
   - '&fStarting in
: &6&l{COUNT}'
   - '&e '
   - 'Money
: %vault_eco_balance%'
   - '&f '
   - '&fDouble Jumps
: &6&l{DJ}'
   

5) the time limit for an arena can now be set to zero, meaning there is no time limit set;
  • note that the scoreboard (config.yml) and bossbar (configbars.yml) messages should be removed/editted manually as required

6) 'useSSL' option added to config.yml for MySQL connections (default=false);

7) add new placeholder for number of players in an arena: %tntrun_player_count_<arena>%

8) number of bug fixes and code improvements (see change log).



Change Log
==========
  • allow hotbar items to be placed in specific slots
  • add 1-player test mode
  • refactor leaderboard placeholders
  • add placeholder support for scoreboard
  • add useSSL to config.yml for MySQL connection
  • allow settimelimit to be zero meaning no limit (scoreboard & bossbar entries must be manually removed)
  • disallow negative countdown
  • disallow negative timelimit
  • add new placeholder %tntrun_player_count_<arena>%
  • fix missing arena name in some trconsole messages
  • fix/update deprecated method addPotionEffect
  • add some information messages for Bungeecord on server startup
  • fix "/papi reload" un-registering the placeholder class
  • fix some typos in messages.yml preventing 2 strings from being translated - thanks to maclux for finding this


Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Apr 12, 2020

This update is for Spigot/Minecraft 1.13 to 1.15.2, and has been compiled with Spigot API 1.15.2.

This update includes Bungeecord support. It is disabled by default, so will have no impact on servers that don't use Bungeecord. It is enabled in the config.yml file where the hub server can be specified along with options to use the MOTD facility (which allows the game status to be visible), and an option to shutdown the server at the end of the game.
Code (YAML):
bungeecord:
  enabled
: false
  hub
: lobby
  useMOTD
: true
  stopserver
: false
Please note that this part of the update has only had limited testing due to the fact that I don't have access to a Bungeecord network.

Please report any bugs or issues with it, and I'll attempt to resolve them as soon as possible.


When a player is jumping in the arena, not all blocks under the player's trajectory will now be destroyed. If the player is high enough above the sand layer, the block immediately below the player will not break.

When using a MySQL database for the first time, the table creation is done asynchronously, which can lead to the plugin trying to load player stats before the database table has been created. This causes a java exception, but is only an issue on Paper Spigot, as Paper immediately disables the plugin before it can create the table. So more checks have been added to ensure the database connection is established before the player stats are loaded.


Change Log
==========
  • added Bungeecord support
  • adjusted the block break method so as not to break all blocks below a player that is jumping
  • fixed startup bug when using MySQL and Paper spigot

Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Feb 27, 2020

This update is for Spigot/Minecraft 1.13 to 1.15.1, and has been compiled with Spigot API 1.15.1.

There was an issue affecting arenas with PVP enabled, with players being able to PVP while waiting in the arena for the game to start and also during the countdown. This bug has now been fixed, so for arenas with PVP enabled, PVP is now only permitted after the game starts.

When buying double jumps, the shop menu item displaying the player's balance was not immediately updated to reflect the purchase. This is now fixed and the displayed balance is updated immediately to correspond with the player's actual balance.

If the arena has a join fee, and the player doesn't have the funds to join, then the fee needed is displayed in the error message.
The following string in messages.yml has been updated to include a placeholder for join fee:
Code (YAML):
arenanofee = "&c You require a fee of &6{FEE} &cto enter the arena";
If you've made no modifications or translations to messages.yml, then while the server is stopped you can safely delete messages.yml, and it will be recreated with the above update. Alternatively, update the individual line manually by adding the {FEE} placeholder.

Added 3 new placeholders:
Code (Text):
%tntrun_joinfee_<arena>%
%tntrun_currency_<arena>%
%tntrun_doublejumps%
The version checker api has been updated as the old one has been removed by Spigot. It will no longer error on startup when checking if a new version of the plugin is available.

Change Log
==========
  • enable pvp after countdown finishes (for arenas with PVP enabled)
  • some scoreboard code improvements relating to double-jumps
  • when buying doublejumps, the in-shop balance is now updated immediately
  • standardise message from "set countdown" command
  • standardise message from "enable/disable kits" commands
  • display required fee if player does not have funds to join arena
  • add placeholders for doublejumps, fee and currency
  • fix version checker

Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Jan 16, 2020

This update is for Spigot/Minecraft 1.13 and 1.14, and has been compiled with Spigot API 1.14.4.

The help screens have been improved by making all the commands clickable, so clicking a command from the list will paste the command into the chat window.
https://imgur.com/a/dZee3W4

For OP players or those with the "tntrun.version.check" permission, the check version update message has been simplified with a mouse-over pop-up displaying the latest available version. The text can be clicked to open the plugin Spigot page, or the URL copied to the clipboard.

Added a config option to allow a player's prefix to be used as rank (needs a chat plugin e.g. EssentialsXChat).

To use the prefix for rank, set
Code (YAML):
UseRankInChat:
  enabled
: true
  usegroup
: false
  useprefix
: true
If your server uses permission group names for ranks, then set
Code (YAML):
UseRankInChat:
  enabled
: true
  usegroup:true
  useprefix false
 
The following is now redundant, and can be removed from config.yml
Code (YAML):
special:
  useRankInChat
: false

The following message strings in messagages.yml have been updated to include a placeholder for rank:

Code (YAML):
playerjoinedtoothers = "&c {RANK}&6{PLAYER} &7joined the arena";
playerlefttoothers = "&c {RANK}&6{PLAYER} &7left the game";
playerlosttoothers = "&c {RANK}&6{PLAYER} &7lost the game";
playerwonbroadcast = "&c {RANK}&6{PLAYER} &7won the game on arena &6{ARENA}";
 
If you've made no modifications or translations to messages.yml, then while the server is stopped you can safely delete messages.yml, and it will be recreated with the above updates. Alternatively, update the individual lines manually by adding the {RANK} placeholder.

The text in these message strings in messages.yml has also been amended slightly:
Code (YAML):
helplist = "List all arenas OR List arena details";
helpjoin = "Open join menu OR Join the arena";
helplistkit = "List all kits OR List kit details";
Fixed a bug in the delete lobby command and added it to the help screen and auto-tab complete.

Added 2 new signs as requested:
1) lobby sign - teleports the player to the TNTRun_reloaded lobby
2) autojoin sign - joins the first available TNTRun_reloaded arena

Thanks to ericbarbwire for creating a new tutorial video which has been added to the Spigot page.


Change Log
==========
  • use ChatComponent for all help messages
  • fix NPE from delete lobby command
  • add delete lobby to help screen
  • add delete lobby to auto tab complete
  • add option to allow user prefix to be used as rank (need a chat plugin e.g. EssentialsXChat) in addition to group name option
  • the version update checker has been tidied up to write fewer lines to the console on startup.
  • add autojoin sign
  • add lobby sign

Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Dec 8, 2019

This update is for Spigot/Minecraft 1.13 and 1.14, and has been compiled with Spigot API 1.14.4.

This update adds the following option to the config.yml file.

Code (YAML):
special:
  useRankInChat
: false
 
If this is set to true, the plugin will attempt to retrieve the player's rank and display it in chat messages during the game.

The following message strings in messages.yml have been updated:

Code (YAML):
playerjoinedtoothers = "&c {RANK}&6{PLAYER} &7joined the arena";
playerlefttoothers = "&c {RANK}&6{PLAYER} &7left the game";
playerlosttoothers = "&c {RANK}&6{PLAYER} &7lost the game";
playerwonbroadcast = "&c {RANK}&6{PLAYER} &7won the game on arena &6{ARENA}";

A number of custom events have also been added:

Code (YAML):
      PlayerJoinArenaEvent
      PlayerLeaveArenaEvent
      PlayerWinArenaEvent
      PlayerSpectateArenaEvent
All these events return the player and arena objects.

No bugs were reported with version 8.5 :)

Change Log
==========
  • Add option to include player rank in some messages
  • Add custom events

Please report any issues found either in the discussion pages, on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Nov 1, 2019

This update is for Spigot/Minecraft 1.13 and 1.14, and has been compiled with Spigot API 1.14.4.

This update adds the ability to set a join fee (or cost) on an arena. The cost can either be money (needing an economy plugin to be installed), or any valid Minecraft material.

To set the cost to join arena1 to 10, use the commmand " /trsetup setfee arena1 10". When a player joins the arena, his/her balance will be reduced by 10. If the player doesn't have the funds, he/she will not be able to join the arena.

If you want players to pay with Emeralds, use the command " /trsetup setcurrency arena1 emerald". A player will now need 10 emeralds in his/her inventory in order to join the arena. The currrency items are removed from the player's inventory on joining the arena.

The currency can be set to any valid item. To reset the currency back to money, use " /trsetup setcurrency arena1 -1".
To remove the fee for joing an arena, use the command " /trsetup setfee [arena-name] 0"

The fee and currency settings can be displayed using " /tr list [arean-name]", and are also displayed when hovering over the join gui items.

Change Log
==========
  • add optional fee to join an arena (monetary or material)
  • add setfee and setcurrency commands
  • update join menu gui to display join fee and currency
  • format the balance display in shop gui to 2 decimal places
  • prevent ops running /tr join when already in an arena
  • validate /trsetup setdamge arguments correctly
  • fix the force start command breaking the voting system

Please report any issues found preferably on GitHub or Discord - https://discord.gg/wFYSAS4
----------, Sep 28, 2019

This update is for Spigot/Minecraft 1.13 and 1.14, and has been compiled with Spigot API 1.14.4.

Update 8.4 includes a number of bug fixes and some small improvements (see change log), the main one being the ability to remove any of the default shop items without them reappearing when the server restarts. This can be done while the server is running, the shop contents will be automatically refreshed.
I've added a new command /tr autojoin which will join the player to the first available arena.
When buying doublejumps in the shop, the scoreboard is now automatically updated to show the player's current total (assuming the option to display doublejumps in the scoreboard is enabled in the config).

Change Log
==========
  • allow translations for /tr join gui text ("menutext" in messages.yml)
  • fix bug when "useBossBar: false" - a bar is still created with no text
  • fix bug preventing any shop purchases if max doublejumps is reached
  • allow doublejumps to be purchased more than once up to max allowed
  • leave shop gui open if buying doublejumps
  • include the value of max doublejumps in message when attempting to buy > max allowed ("maxdoublejumpsexceeded" in messages.yml)
  • update doublejump count in scoreboard immediatley on purchase
  • allow default shop items to be removed (fixes #37)
  • add command "/tr autojoin" to join first available arena

Please report any issues found preferably on GitHub or Discord - https://discord.gg/wFYSAS4

Thanks.
----------, Aug 23, 2019

This update is for Spigot/Minecraft 1.13 and 1.14, and has been compiled with Spigot API 1.14.4.

This update fixes a bug where the count of lost players in the scoreboard was not updating correctly.
The placeholders currently available from the PAPI expansion ( https://www.spigotmc.org/resources/tntrun_reloaded-expansion.53945/) have been merged into the plugin, making the expansion redundant from version 8.3 onwards.
10 new leaderboard placeholders have also been added.

Change Log
==========
  • fix lost player count incrementing if spectator leaves
  • change join gui to run "tntrun join" instead of "tr join"
  • merge the tntrun placeholder expansion class into the plugin
  • add soft depend on PlaceholderAPI plugin
  • add 10 x leaderboard placeholders
  • refactor stats class and replace deprecated commands

Please report any issues found preferably on GitHub or Discord - https://discord.gg/wFYSAS4

Thanks.
----------, Aug 15, 2019

Bug Fix update:

Fix for multiple arenas running countdowns simultaneously - thanks to @pitruk for reporting it.
----------, Jul 15, 2019

This update is for Spigot/Minecraft 1.13 and 1.14, and has been compiled with Spigot API 1.14.3.

This update contains an option to display a player's remaining double-jumps in the scoreboard. This needs to be enabled in the config:
Code (YAML):
scoreboard:
  displaydoublejumps
: true
There is also an option to remove a player's purchase if the player leaves the arena before the game starts. If the player rejoins the arena, he/she can again purchase any shop item, money permitting. The default is false.
Code (YAML):
shop:
  onleave
:
    removepurchase
: true
The custom knockback effect of snowballs, added in version 8.1, is now configurable between 0 and 5. Zero will have no knockback effect on a player, while 5 will have a large knockback effect. The default is 2.

The player's monetary balance can be displayed in the shop by using the item in the final inventory slot of the shop. If your shop is currently full, then you can increase the size in config.yml, as this item will overwrite anything in the final inventory slot. The text displayed by this item can be translated or changed in messages.yml. The item itself (default GOLD_INGOT) can be set in config.yml.

Change Log
=========
  • make the snowball impact (knockback) effect configurable (0 - 5, default 2)
  • add option to display player's remaining double jumps on scoreboard
  • add shop item to display player's monetary balance
  • add option to remove shop items if player leaves arena before start
  • some code improvements, e.g.
refactor double-jump code in shop class;
validate the integers supplied as enchantments and/or amplifiers in shop.yml to prevent possible NPEs;
include double-jumps in 'one shop purchase per game' rule;
move scoreboard code to scoreboard handler class;
players individual scoreboards replace the global arena scoreboards;
use player names to store shop purchases instead of player object.
Please report any issues found preferably on GitHub or Discord - https://discord.gg/wFYSAS4

Thanks.
----------, Jul 13, 2019

This update contains some new features, such as allowing players in the same mcMMO party to PVP in arenas with setdamage enabled, restoring an impact effect to snowballs (which had been removed by Spigot), and allowing the word '[Join]' to be customisable on TNTRun_reloaded join signs (can also blank by specifying an empty string in the config.yml):
Code (YAML):
signs:
  join
: ''
If you use the HeadsPlus plugin with TNTRun_reloaded then you will have to update HeadsPlus to at least v6.3.2 (v6.4 recommended) due to code changes within HeadsPlus.

Fixed some bugs with stats and signs - see below.

Change Log
=========
  • add support for mcMMO parties (classic and overhaul)
  • give snowballs an impact effect in PVP enabled arenas
  • update for changes to HeadsPlus code - min v6.3.2 required for v8.1
  • fix possible NPE on arena start if stats is disabled
  • don't attempt to update leaderboard sign if stats is disabled
  • allow Join sign text to be customisable
  • add "signs.join: '[Join]'" to config.yml
  • send confirmation message on sign destroy for Vote and Leave signs (as per Join sign currently)
  • get version checker to ignore dev/snapshot builds

Please report any issues found preferably on GitHub or Discord - https://discord.gg/wFYSAS4

Thanks.
----------, Jun 18, 2019

This update is for Spigot/Minecraft 1.13 and 1.14, and has been compiled with Spigot API 1.14.2.

This fixes a bug with leaderboard signs:
Running the command /trsetup reloadconfig causes each leaderboard sign entry in signs.yml to be duplicated, meaning you could potentially end up with a lot of leaderboard sign entries in signs.yml. There is no need to manually update the file if you do have this issue, as this update to the plugin will cache the correct information when it reads the file on server start, and write the correct info to the file the first time the server is shut down after installing this update.

I've also added the option to include a potion effect amplifer to potions and splash potions. (Thanks to ToxicSlash for the suggestion). So for example, for a SPEED potion with a duration of 30 seconds, and an amplifier of 5, it would be specified in shop.yml as:
Code (YAML):
enchantments :
- SPEED #30#5
While testing this, I found it useful to log shop purchases to the console, so there is a new option to enable this feature in config.yml:
Code (YAML):
shop:
  logpurchases
: false
which if set to true will log a player's purchase (excluding doublejumps) and the cost to the console.


Change Log:
==========
  • add amplifier to potions and splash potions in shop (GitHub #32)
  • some improvements to the shop code such as automatically closing the shop inventory consistently
  • change the default names of the example shop potions to reflect the type of potion effect
  • add a config option to log shop purchases to the console (default is false) using the above name change for potions
  • fix bug with leaderboard signs and "/trsetup reloadconfig"

Please report any issues found preferably on GitHub or Discord - https://discord.gg/wFYSAS4

Thanks.
----------, Jun 3, 2019

Bug fix:
=====
Fix the calculation for the number of votes required to force-start an arena.
----------, May 18, 2019

This update is for Spigot/Minecraft 1.13 and 1.14, and has been compiled with Spigot API 1.14.1.

Change Log
=========
  • fix null pointer exception if Vault not installed when creating arena
  • fix string 'trprefix' not being updateable
  • add arena selection menu (from /tr join)
  • add permission 'tntrun.joinmenu'
  • make menu item configurable (default TNT)
  • make colour of glass pane in menu GUI configurable or "NONE" to leave blank
  • add menu title to messages.yml
  • new command to force-start arena (/tr start)
  • add permission 'tntrun.start' needed to force-start an arena
  • add 'start' to tab-completion
  • log player that force starts arena to console
  • add 'start {arena}' to console commands
  • update bstats to v1.5 for compatibility with MC1.14
  • add option to give players a configurable number of doublejumps at start
    - the number is reset at the start of each game (cannot be carried over)
    - doublejumps can still be purchased in the shop, but are not used if free jumps is enabled
  • the players doublejumps are now cached for better performance
  • fix feature where players could get more than the maximum doublejumps

Please report any issues found preferably on GitHub or via Discord - https://discord.gg/wFYSAS4

Thanks.
----------, May 17, 2019

This update is for Minecraft / Spigot 1.13.2 and 1.14.

There are no major changes other than getting it to work on 1.14.

Change Log
=========
  • switched dependency on apache-commons-lang3 to google guava as lang3 no longer exists at run time
  • compiled with Vault 1.7.2, HeadsPlus 6.1, WorldEdit 7 for 1.14, and Spigot 1.14
  • added the /trsetup regenerationdelay command to help screen
  • reformatted the /tr cmds help screen to be a bit neater
  • changed a few of the messages in messages.yml
Please report any issues found preferably on GitHub or via Discord - https://discord.gg/wFYSAS4

Thanks
----------, Apr 29, 2019

The main changes in v7.7 are:

1) make the time allowed for arena regeneration configurable. Increasing the value from the default 60 ticks (3 seconds) will give larger arenas more time to regenerate before allowing players to rejoin the arena.

2) add new command /trsetup setregenerationdelay [arena] [ticks]

3) make more commands available to the console. For example, " trconsole leaderboard" can be used to feed directly into Holographic Scoreboards (thanks to ChrisFalkowski for the suggestion)

4) add an option to enable/disable metrics

5) some bug fixes and code improvements

There is now a Discord server if anyone wants to join - see link on main page.

Change Log:
==========
  • fix bug where arena bounds are not verified before setspawn/setspectate command is run
  • fix stats not saving correctly if the server is in offline mode (thanks to ChrisFalkowski for highlighting and troubleshooting this issue)
  • add some new console commands, namely:
trconsole help
trconsole list
trconsole info
trconsole enable {arena}
trconsole disable {arena}
trconsole reloadconfig
trconsole reloadmessages
trconsole reloadbars
trconsole leaderboard
  • setup economy once in onEnable instead of on every arena initialisation
  • create a VaultHandler class to manage economy
  • skip player uuids when reading stats.yml in offline mode
  • add metrics enable/disable to config
  • make the time allowed for arena regeneration configurable
  • add new command /trsetup setregenerationdelay [arena] [ticks]
----------, Apr 2, 2019

This update is mostly code improvements.

The HeadsPlus menu in-game is now opened using the API rather than a command. This means the headsplus.heads permission no longer has any bearing in a TNTRun arena. The tntrun.heads permission controls access to the menu in the TNTRun arena, while the headplus.heads permission controls access to the /heads command outside of TNTRun.

Change Log:
  • remove special.FancyBlockBreak from the default config.yml
  • use HeadsPlus API to open the heads menu in a TNTRun arena
  • tntrun.heads replaces headsplus.heads as perm controlling the heads option in-game
  • remove static modifier from postition field in SignEditor class
  • refactor statics in the Stats, Sounds and Shop classes
  • update the deprecated method in Shop.java
----------, Feb 18, 2019

This update fixes a few bugs and makes some small improvements.

Change Log:

1) Add new permission tntrun.heads (default true) to use HeadsPlus in-game. This will allow HeadsPlus to be enabled on the server, but also available as a reward or VIP perk in TNTRun.

2) Make the block break sound configurable (default BLOCK_SAND_BREAK). Arena floors don't have to be sand, so any suitable sound can be used. The sound can also be disabled completely using:
Code (YAML):
sounds:
  blockbreak
:
    enabled
: false
 
3) The config option " special: fancyblockbreak" is now redundant, superceded by item 2) above. It will be removed from the default config next release.

4) A previous release removed flight from players (i.e. spectators who have flight enabled) too early at the end of the game, to prevent players inadvertently leaving the arena bounds. As a result players can sometimes fall through the arena floor during the end-phase of the game, before the arena has reset. So flight has been re-enabled, and players leaving the arena bounds at this time will be teleported back into the arena. The players original flight status (pre-joining the arena) is restored when the arena stops and the players are teleported out of the arena.

4) Some minor code improvements.
----------, Feb 5, 2019

In order to simplify translations going forward, I've made a few changes to messages.yml. If you've not made any customisations to the message strings, then simply delete your current messages.yml file and the plugin will re-create a new version when the server starts up.

If you have made customisations to messages.yml then create a backup copy of your version before deleting messages.yml from the plugins/TNTRun_reloaded folder. Once the server restarts, you can then compare the new changes with your customised file.

The majority of the changes to messages.yml involve removing the " [TNTRun]" tag that was at the start of some of the strings, so for example, strings like this:
Code (Text):
arenarunning: '&7[&6TNTRun&7] &7Arena already running'
have been changed to:
Code (Text):
arenarunning: '&7 Arena already running'
There is a new message string trprefix which will be added automatically to all the strings that need it at the time the message is sent. So if you are updating messages.yml manually, please remove the [TNTRun] tag from the begining of all the message strings that have it (see the example above).


Full Change Log
============
  • Added a max leaderboard size to config (default 10)
  • Made leaderboard sign colours configurable in messages.yml
  • MYSQL updates are now run asynchronously
  • MYSQL stats are cached for efficiency
  • Replaced § with ChatColor in code
  • Improvements to the version update check code
  • Simplify messages.yml (see above notes)
  • Add some new strings to messages.yml
  • Fix bug where leaderboard signs fail to create with custom header
----------, Jan 17, 2019

Note:
I've made some changes to config.yml and signs.yml - you may want to make a copy of these before updating. After making backup copies of the 2 files, the config.yml can be deleted as the plugin will recreate a new config.yml. Your custom changes can then be re-applied to the new file after stopping the server. Alternatively the new default config.yml is listed on the main Spigot page if you are missing any updates.
Do NOT delete your signs.yml, the plugin will simply reformat it without losing any data.

Added a new option to purchase 'heads' to wear during TNTRun.
This option is dependent on the server having HeadsPlus by Thatsmusic99 installed. The chosen head is automatically equipped on the player's head when purchased, and removed at the end of the game.
This is optional and doesn't affect any other parts of TNTRun.
Players will need permission node headsplus.heads: true to be able to use this feature.

The sounds played when the arena starts and when the hotbar items are used, are now fully configurable.

The fireworks duration at the end of the game can be configured to last between 1 and 4 seconds, or disabled completely.

A leaderboard sign can now be created by putting [leaderboard] on the second line of a TNTRun sign (see pic on main page). The sign(s) will automatically refresh when a game completes. The colours are currently fixed, but will be made configurable in the next update. Player names longer than 11 characters will be truncated to fit on the sign.

The anti-camping system, which teleports all the players in the arena to the arena spawn when the countdown hits 5 seconds, can now be enabled/disabled in the config.yml.

Players that die or leave the arena during the game will become spectators rather than being removed from the arena.

All rewards received by the winner are now logged to the console.

Full change log:
===========
  • add interface with HeadsPlus
  • add soft dependency for HeadsPlus in plugin.yml
  • make firework duration configurable
  • format config.yml properly
  • add sound options to config.yml
  • correct setdamage help message
  • add leaderboard to messages.yml
  • add sound handler class
  • remove sounds_1_9 class
  • fix firework overrun
  • make anticamping configurable
  • fix leave and vote signs not working if custom sign header is used
  • add Leaderboard sign with top 3 scores
  • format/colour player name length on sign(11 chars, space, 3 digits)
  • add "arenas" section to signs.yml
  • save and load leaderboard sign info to signs.yml
  • refresh leaderboards when arena has a winner
  • players that die in-game (due to pvp, or other reason) go to spectate (not leave arena)
  • players that leave arena bounds during game go to spectate (not leave arena)
  • remove fly ability at end of game to prevent players inadvertently leaving arena bounds
  • log ALL rewards to console
----------, Dec 20, 2018

Compiled and tested with Spigot 1.13.2. This update is only for Minecraft 1.13+.

This is quite a big update with the addition of Kits and some new commands.

Kits are easily created with a single command based on your current inventory, and includes armor and any active potion effects. Kits can be enabled or disabled per arena. If Kits are enabled for a particular arena, then all players joining that arena will be allocated a random kit. See the main page for more info on Kits.

The number of votes needed to force-start an arena is shown in the 'waiting' scoreboard. The number automatically updates as each player votes. The number of votes required is calculated from the 'minplayers' and 'votepercent' settings for the arena. A single player cannot force-start an arena.

The bossbar colour can now be set to any valid colour or left to the default, which will generate a random colour each time the arena starts. The number of players needed to start is shown in the bossbar message which updates as players join or leave.


New Commands (with tab complete)
============
/trsetup addkit [kitname]
/trsetup deletekit [kitname]
/trsetup setbarcolor [color]
/tr listkits
/tr listkit [kitname]
/tr leaderboard [number-of-entries-to-display]

There are updates to the following config files:
config.yml - votes needed added to scoreboard
messages.yml - new kit messages
configbars.yml - updated 'waiting' message

It is recommended to rename/copy your existing files before updating, then re-appy your customizations.

Change log:
==========
  • new updates to WorldEdit 7.0 mean selection code has been updated - vectors to blockvector3 meaning requires minimum WorldEdit 7.0.0 build #3933-4e4ed6c
  • add option to leaderboard command to display specific number of entries, for example "/tr leaderboard 10" to display the top 10.
  • add PVP/damage setting to "/tr list arena" output
  • add if kits are enabled or disabled to "/tr list arena" output
  • add votes needed to force-start arena to the scoreboard
  • add command to choose bossbar colour, e.g. "/trsetup setbarcolor GREEN", default is RANDOM.
  • change to config.yml - add votes needed to scoreboard
  • change default waiting message in bars.yml to be more informative - show number of players required to start
  • move addkit and deletekit out of structure manager as they not liked to an arena
  • fix unregister kit not deleting kit from config
  • moved Kits class from arena.structure to a kits package
  • standardised the "kit added", and "kit deleted" messages
  • validate kit exists before adding/deleting
  • new command /tr listkit [kit] to list the available kits or the contents of the specified kit
  • update tab complete and help for commands addkit, deletekit and listkit
  • kits - remove potion effects before fireworks at end
  • standardise colour format for listkit and list arenas output
  • add leave item in slot9 when using kits
  • some small bug fixes
  • remove armor_contents from Kit object as its already included in inventory contents (since 1.9!)
----------, Nov 10, 2018

Compiled and tested with Spigot 1.13.2. This update is only for Minecraft 1.13+.

Lots of changes to the shop code and configuration, removal of deprecated methods and the addition of potions and splash potions to the default shop.

If you have made any customizations to the shop.yml file, it's recommended you copy or rename the file before upgrading to 7.2, as the new default shop.yml includes 12 default items which may update your customized file in unintended ways. Once upgraded to 7.2 and the server stopped, you can then either merge the 2 files or replace one with the other.

Various bug fixes and improvements including fixing the code to enable player kits in the arenas. This is still a work in-progress, but most of the underlying code is now functioning correctly, and should be ready for the next release.

Version 7.2 change log:
  • refactor shop code removing deprecated methods for enchantments
  • add validation for shop.yml entries
  • add potions to default shop items
  • fix GitHub issue #25 - Featherboard scoreboard duplication
  • fixed null potion_effect
  • simplify potion config in shop.yml
  • add splash potion items to shop
  • add 11 extra items to default shop
  • fix potion effects being carried forward to next game
  • fix enchantments not added correctly
  • fix shop inventory not closing if potion bought
  • changed shop permissions
  • include /trsetup setdamage command in tab completion
  • start fixing up Kits (WIP for version 7.3)
- fixed armor and items storage/retrieval
- fix potions
- make a kits.yml
- move kits config from config.yml to kits.yml
- add command /trsetup enablekits/disablekits <arena>
----------, Oct 28, 2018

This update is for Minecraft 1.13+. Compiled and tested with Spigot 1.13.1.

Version 7.1 change log:

1. Fix bug with default 'leave' item (Bed) being invalid when upgrading to version 7.0 on MC 1.13. New default 'leave' item is Green Bed.

2. Add a leader board for TNTRun wins, and new command /tr leaderboard.

3. Stop storing and retrieving number of losses - just calculate difference between games played and games won.

4. Some code tidy up and improvements.
----------, Oct 6, 2018

This update was compiled and tested with Spigot 1.13.1.

As a result of all the changes introduced in Minecraft 1.13, version 7.0 of TNTRun_reloaded will only run on Minecraft versions 1.13 and later.

Version 6.8 will continue to be supported and be available for download, but is unlikely to receive any more code changes.

Version 7.0 change log:
  1. Created "legacy" branch of TNTRun_reloaded (v6.8) - will receive no more updates
  2. Removed code specifically supporting old versions of MC and removed use of deprecated methods
  3. Deleted sounds_1_8 class
  4. Removed dependency on BarAPI plugin
  5. Added native BossBar methods
  6. Removed UseBarAPI: false from config.yml
  7. Added UseBossBar: true to config.yml
  8. Updated scoreboard display for changes in 1.13
  9. Refactored code relating to WorldEdit selections to support changes in WorldEdit 7.0.
  10. Compiled against Spigot API 1.13.1
  11. Added new command /trsetup help to list basic arena creation commands
  12. Added tab completion for /tr and /trsetup commands
----------, Sep 2, 2018

This update includes some changes to the config.yml. I would recommend renaming the config.yml to config_old.yml before starting the server, as this will generate a fresh config file, removing obsolete entries. You can then copy back any customisations you've made from the old file.

The main page on Spigot has been updated with the default config.yml entries and a brief explanation of what they do.

Changes include:
  • option to not broadcast win to whole server
  • add "player stats" strings to messages.yml (for translation)
  • add various other strings including help and trsetup to messages.yml
  • allow multiple materials to be given as reward
  • allow zero value for xp, money and material rewards
  • max players cannot be < 0 and must be >= min players
  • refactored sign updating - hopefully fix for "disabled" signs bug
  • remove info.list entries from config.yml
----------, May 12, 2018

Bug fix update, includes the following changes:
  • fixes npe on shutdown which was causing command rewards not to be saved (thanks to @Nightmare1998 for reporting it)
  • allows trconsole commands to be run from command_blocks
  • switched the order of the arguments to trconsole enable|disable to match the corresponding /trsetup commands
  • changed the way material rewards are stored - this will make a future update to allow multiple item rewards easier
----------, Apr 18, 2018

This update adds the ability to create different rewards for the winner of an arena. I've added an XP reward, a Command reward, a Material (item) reward as well retaining the existing money reward. Different rewards can be set for each arena, or no rewards at all.

There is a new command: /trsetup setreward {arena}
This will start a conversation allowing you set a particular reward (Material, XP or Command) for the arena.
If your arenas have any existing item rewards, these will need to be recreated. Only one itemstack (i.e Material) reward is allowed per arena.
The old command /trsetup setitemsrewards has been removed.

Change to command: /tr list [arena]
With no arguments the /tr list commmand is unchanged and lists all the available arenas. Adding an arena name as an argument will list the configuration settings for that arena, such as max players, timelimit and any rewards that have been set.

Includes the following bug fixes and improvements:

  • add a command-reward and an XP-reward option to each arena
  • change item rewards to a single material itemstack
  • add command /trsetup setrewards {arena} conversation
  • remove command /trsetup setitemsrewards
  • replace deprecated economy methods to use offlinePlayer
  • remove overruning firework when player wins
  • rename command /trsetup setmoneyrewards to /trsetup setmoneyreward
  • add a configuration option to enable/disable fireworks on winning
  • refactor firework code using bukkitrunnable
  • remove trailing ; separator from final entry in arena list when running /tr list
  • add command /tr list <arena> to display arena configuration
  • if no rewards are set, don't send empty reward message on win
  • check material reward is not null before sending reward message
  • check material reward is not null before saving arena
  • remove redundant code AddCommandsRewards.java, ClearCommandsRewards.java, SetItemsRewards.java
  • update /tr help and /tr cmds to display command changes
----------, Apr 13, 2018

This is just a bug fix update to stop the plugin incorrectly toggling fly mode to false when a player with fly mode enabled tries to fly outside of TNTRun.

Thanks to @creator3 for reporting it.
----------, Mar 23, 2018

Small update to add some support for a placeholder expansion for TNTRun.
----------, Mar 1, 2018

Includes the following bug fixes and improvements:
  • fixed voting for arena start not working
  • stop spamming chat with number of double-jumps remaining
  • removed actionbar.java completely - only purpose was to spam double jump counter
  • remove countdown from chat if titles are enabled
  • remove join message from chat if titles are enabled
  • remove waiting message from chat if barAPI enabled
  • fixed shop.yml using hardcoded folder name and being created in wrong folder
  • fixed adding enchantments to shop items not working
  • fixed exception if invalid enchantment add to shop item
  • refactor shop to use Materials instead of block IDs
----------, Feb 22, 2018

Minor bug fix affecting MC 1.12 and 1.12.1 only.
----------, Feb 16, 2018

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