Boost | Unique minigame (MC 1.12 - 1.21.1) icon

Boost | Unique minigame (MC 1.12 - 1.21.1) -----

Minigame - Boost others off their platforms to win.




Please note: This is Boost version 1.19.3, not Minecraft version 1.19.3.
Boost 1.19.3 is currently tested on Minecraft 1.19.2, the latest version at the time of update.


Negative Y values for MC 1.18

This version accepts Y values for ground below 0. Previously 0 was used as the "disabled" setting for ground or ceiling. This value is now -32768.
Any of your existing game arena configurations using Y=0 to disable ground or ceiling will be updated automatically.

Notification of automatic configuration updates

During start-up, if a configuration value needs to be updated automatically to suit the new version (e.g. disabled Y value) then that update will be logged to the console.

New query commands:

New time parameter: daily, weekly or monthly added to "stats" command:
/boost stats [player] [Daily/Weekly/Monthly] [game]

The GUI now includes daily, weekly and monthly stats buttons. If you have an existing configuration then these will be missing from your gui.yml and you will get a warning on start-up.
Run /boost updateconfig to add the missing configuration nodes.


New command "playersgames" shows the list of game arenas where a player has been playing:
/boost playersgames [player] [Daily/Weekly/Monthly]

New command "gamestats" shows the popularity of game arenas, optionally during the specified time period:
/boost gamestats [Daily/Weekly/Monthly]

Commands are all documented in the wiki: https://github.com/pmme/Boost/wiki/Commands
----------, Aug 14, 2022

The leaderboards were not filtering out players that joined but quit and therefore had 0 games or a 0 time (for parkour).
The biggest problem was a parkour course leaderboard where the top spots were taken by players with their 0 time because they never completed the course.
Leaderboards now filter out the invalid entries.

Also did a minor reformat of some messages in messages.yml. You won't see these unless you rename or erase your messages.yml and generate a new one to amend or use.
----------, Oct 19, 2021

Time to win

Boost now records your time to complete a Boost parkour map.
Leader board and player stats will now show players' best time, last run time and average time.

Only parkour map styles use the new time stats, so leader board and stats commands must specify the arena or map name, and that game must be configured to the PARKOUR game type.
e.g. If "parkourMap1" is a parkour map then use:
/boost top monthly parkourMap1
/boost top parkourMap1
/boost stats pmme parkourMap1


The following commands are general, not map-specific. They won't include parkour map stats:
/boost top
/boost top monthly
/boost stats pmme


If you have already created an arena or map with the game type PARKOUR and players have already used it on 1.19 or 1.18 then the players will have game numbers recorded. This will incorrectly affect their average time. If this is the case and you are not resetting your entire Boost database, you should run the following command for each parkour arena or map:
/boost delstats * parkourMap1
specifying your parkour game name each time for "parkourMap1".
This will delete all existing player stats for that game.

There is a new leaderboard entry template and player stats template in messages.yml for parkour type games.
----------, Aug 27, 2021

PARKOUR game type
With this release the ` PARKOUR` game type or mode is now functional and distinct from the ` RACE` game type.
Unlike the other game types, parkour games do not involve direct PvP competition.
  • A game configured with `game_type: PARKOUR` now runs continuously and players can join at any time. There is no need to queue for a group to form. Players can join while others are already playing.
  • Players cannot boost other players in a parkour game.
A ` join_parkour` button is introduced for the in-game GUI. Games with ` game_type: PARKOUR` will use this GUI button. This allows the text in ` lore:` to suit a parkour game. Other game types will use the existing ` join` button.

Arena6 on my pmme.apexmc.co demo server is running the parkour game type.

Currently I am working on recording time-to-win for parkour games to record players' best time, last run time and average time. This will be in a future update.

Other changes:
  • Fixed game automatically starting if `min_players:` is set to 0, which is not really a valid setting anyway.
  • Configuration loading was not using the defaults provided in the resource files included in the JAR and instead was using hard-coded defaults. This makes no difference to you currently since the hard-coded values matched the included resource files.
----------, Aug 18, 2021

This release has been delayed nearly a month. A family member is very ill.

Hit flying players

You can now directly target other players, including those already flying through the air. This had always been my intention for the original game design but realised only now.

Directly targeting players is enabled in all games by default but you can toggle it off if it does not suit your game. A friend and user of the plugin has pointed out that you may not want this enabled in a parkour style map where players could team to boost each other higher.
/boost targetplayers <game> <on/off>

NOTE: When enabled, this feature also enables you to hit other players through platforms.

Click to win

You can set a block type and/or sign that a player must click to win a parkour or race style game, instead of reaching a ceiling height. This opens up game arena design such that arenas do not need to be vertically oriented for parkour or race games.

To set a type of block that the player must click to win, hold the block and run:
/boost setwinblock <game>

To create a sign that the player must click to win, face a sign and run:
/boost setsign win <game>

NOTE: Games with a win sign still require a ceiling to be set, but you can make this ceiling have no effect by setting it far above the height that players can reach. Alternatively, you can allow both a ceiling and click-to-win in the same game.

Specified game type

Each Boost game configuration now has a specified game type being one of:
  • Elimination - original Boost last man standing.
  • Elimination_race - two ways to win.
  • Race - race other players to the top or to the win block/sign.
  • Parkour - reach the top or the win block/sign.
This makes it easier to understand the configuration and enables Boost to check that you have the correct configuration to suit the type of game that you want.

To set the game type, run:
/boost setgametype <game> <game type>

For existing games, Boost will determine the game type from your current configuration and set the appropriate game type.

NOTE: Currently the "Parkour" mode is no different to "Race". The future plan is that Parkour will not allow boosting of other players and will run continuously, allowing players to join at any time.
----------, May 25, 2021

This is a minor improvement to the multiple start-spawn update in 1.17.

The distribution of players to start spawns at the start of a game in 1.17 was purely random, which meant it was theoretically possible (but unlikely) that everyone could spawn on the same platform.

This update ensures even distribution of players across the available start spawns. If you have 4 start spawns and 8 players you will get exactly 2 players at each start spawn.


There were no known bugs in 1.17 and this is just a minor improvement so, if you have already downloaded 1.17, there's no rush to update to 1.17.1.
----------, Apr 5, 2021

Boost now supports multiple start points
Each game or arena now loads from an array of start spawn points. You can now build multiple starting platforms in any arena and set a start spawn point on each. Players will be distributed to them randomly at the start of the game.
Instead of having players spread out from a central platform, you could have players come to the centre from multiple outer platforms.

Note that the random system does not currently guarantee that players will be distributed to the start points evenly. For each player a start spawn is chosen randomly without any relation to the start spawn chosen for each other player.

Current config.yml file will be updated automatically
Your current single start spawn will be moved to the new array and the only entry for each arena and named "Start1". You can now add more start points for any arena and change the location of any configured start point.

New and modified commands:
  • "/boost setstart <game> <startNode>" - A name is now required for a start spawn point in <startNode>. If you use an existing name then that start point is set to the new position. If you use a new name then a new start spawn point is defined. This name is used in the config.yml file.
  • "/boost deletestart <game> <startNode>" - Delete the named start spawn point.
  • "/boost setspread <game> <startNode> <spread>" - A start point name is now required as each start spawn point has its own spread.
  • "/boost testtp <game> <lobby/loss/start> <startNode>" - Test your configuration by teleporting yourself to a configured spawn point. When you are testing a "start" point you must provide its name in <startNode>.
Manual fix
While the Boost plugin does what it can to update your configuration with new items, it cannot fix the modified messages in messages.yml.
  • If you have made no changes to messages.yml, you can delete it and Boost will generate a file with the latest content.
  • If you have made changes, I recommend you edit the file and remove the "command_usage_admin:" section along with the nested entries beneath it, and remove the "start_spawn_set:" and "spread_set:" messages (or the whole "messages:" section along with the nested entries beneath it). Following those edits, use the command "/boost updateconfig" to insert the correct entries.
----------, Apr 4, 2021

The addition of game name checking stopped the player statistics sign click check from querying the right data. This update fixes that.

Also updated the ` /boost setsign` commands to take the optional game name at the end and create game arena specific leader board or statistics signs.
----------, Jan 15, 2021

Boost now records per-arena statistics:
Players' win/loss statistics are now recorded both overall and separately for each game arena or map. Place holders and query commands have been extended to accommodate fetching per-arena stats as well as the previous overall stats.

New PAPI place holders:
  • %boost_top_<period>_<position>_<stat>_<game>% in addition to the previous %boost_top_<period>_<position>_<stat>%
  • %boost_player_<period>_<stat>_<game>% in addition to the previous %boost_player_<period>_<stat>%
Commands that were extended:
  • "/boost top <period> <game>" in addition to the previous "/boost top <period>"
  • "/boost stats <player> <game>" in addition to the previous "/boost stats <player>"
  • "/boost delstats <player> <game>" in addition to the previous "/boost delstats <player>"
  • "/boost delstats * <game>" to clear all player stats for a game arena, in addition to the previous "/boost delstats *".
Other changes:
Player display names are now updated each time statistics are recorded so that they keep up with nickname or prefix changes.
Boost stores display names rather than fetching them live so that it can show the chosen display name in leader board queries for players that are offline.
----------, Jan 15, 2021

Apologies for dropping another update right after the last.
I had overlooked one of the new PAPI place holders that was intended to be added.

%boost_game_<game>_time% - shows the remaining queuing time until the specified game starts. You can show your game-start countdown on a hologram or similar. This will return an empty value if the game is not queuing or does not yet have the minimum players queued.
----------, Jan 6, 2021

Spot those boosters!
Now players are set glowing (the white outline) during the cooldown period after they click to boost themselves or others. Now players can find their opponents more easily, but only momentarily.
Admin can use the command ` /boost toggleglow` to turn this ON or OFF.

GUI join button place holders
The join button for each game in the GUI can have new place holders in the item name or lore.
  • %players% - players queuing in the game
  • %min% - minimum number of players required for the game to start
  • %max% - maximum number of players allowed in the game

New PAPI place holders for game properties
I have added new place holders registered with PlaceholderAPI. These show game properties. In each of these, <game> should be replaced by a game (map or arena) name.
  • %boost_game_<game>_players% - total players including playing, spectating, or queuing.
  • %boost_game_<game>_playing% - total players still playing in a running game. Does not include spectators.
  • %boost_game_<game>_min% - minimum number of players required for the game to start
  • %boost_game_<game>_max% - maximum number of players allowed in the game
  • %boost_game_<game>_status% - returns the game status: QUEUING, RUNNING or STOPPED.
----------, Jan 5, 2021

This is a minor update to extend PAPI placeholder support to query from first to tenth placed players, as per request.

In case there's any difference in spelling between countries, the leaderboard places must be written exactly as follows in the PAPI placeholder: first, second, third, fourth, fifth, sixth, seventh, eighth, ninth or tenth.

e.g. `%boost_top_monthly_seventh_wins%`, which returns the number of wins of the seventh player on the monthly leaderboard.
----------, Dec 27, 2020

This update fixes standing against a wall and boosting yourself to climb, something I thought I'd already prevented. It turns out this was still working against glass walls, which my playtest and demo server uses.

This kind of cheat should be fixed now.

The check that allowed it is modified to be less lenient, removing the loophole that allowed the wall climbing. However, being less lenient, players that are hovering in space by crouching over an edge and are next to non-solid blocks won't be able to boost themselves.

The check is now only only applied for players boosting themselves. For players boosting others the check is not applied, so players cannot camp in a position where boosting won't work on them.
----------, Dec 6, 2020

This is a minor update to help satisfy a user-request to optionally stop Boost giving the instruction book and main GUI item. For the GUI item it's really a bug-fix as the option was already there but not effective.

The option for the GUI item is in gui.yml as gui.buttons.main.enabled
The option for the instruction book is in messages.yml as instructions.enabled

Set both to false and Boost will no longer give those items to players.
----------, Dec 1, 2020

Particles!
A stream of particles of your choice along the line of your boost shot. A burst where you hit and another if you get a player. Boost particles can be configured individually by Boost Stick to give the various sticks more fun differences.
Particle changes were tested on Minecraft 1.16.4 and Minecraft 1.12.2

[​IMG]

Other changes:
  • Messages in message.yml are now nested under a single configuration node so that they are grouped together nicely after using "/boost updateconfig". Your existing messages.yml will be automatically updated when this version is first loaded.
  • Configuration for boss-bar colour and style.
  • Configuration items that need to be upper case are forced upper case when loaded to reduce the chance of useless errors on load.
  • Fixed "/boost togglelobbyboost" showing the command help even though the syntax was correct and it worked.
----------, Nov 23, 2020

This release has been tested on Minecraft 1.16.4. No specific changes were necessary.

Changes in this release:
  • Inventory management
    Inventory is no longer cleared when you join the server or when you finish a Boost game. Only Boost-specific items are added or removed. You can now give crate keys or other rewards to winners and they will remain in the players' inventories.
  • Update your config files
    You can now easily update your config files to contain missing entries from new versions. New '/boost updateconfig' command will write all new configuration entries to your files. It does not modify existing entries, only add entries that are missing. Note that saving YML files does not always write in a pleasing format and this will affect existing configuration entries as well as new ones. Everything is technically correct but it's in the default YAML output format.
  • Command blocking while playing
    Commands are optionally blocked while playing. Command blocking is enabled by default but you can allow specific commands. Add or remove allowed commands via the new commands '/boost allowcommand <cmd>' and '/boost blockcommand <cmd>'.
    Players with the permission boost.bypassblocking will not have commands blocked (good for administrators).
  • Boosting delay at game start
    There is now an optional delay after a game starts before you can boost yourself or other players. The default is 5 seconds. This gives players a chance to get their bearings in the arena and plan their opening move. Use '/boost setstartdelay <seconds>' to change the start delay. The start delay can be disabled by setting it to 0.
  • Additional GUI configuration
    New configuration options in gui.yml. You can now set the number of rows for the GUI menu, set the row and column for specific buttons, and optionally fill empty slots with an item of your choice such as a coloured glass pane.
----------, Nov 4, 2020

Fixed NullPointerException / NPE when a player who is not in a game clicks on another player or a Citizens statue.

Thanks goes to AllanDev from Apex Hosting for the report.
----------, Oct 22, 2020

GUI:
Boost now sports an inventory GUI for player commands to join and leave games and to show statistics.

upload_2020-9-27_22-24-0.png

Parkour race:
The win ceiling was introduced in version 1.11, offering an alternative way to win.
This update, 1.12, introduces a per-game setting to return to return to the game start spawn if you fall to the ground level instead of losing a game. With a win-ceiling and return-to-start you can implement a competitive parkour-style race.

Other changes:
  • More feedback for games that are not properly configured.
  • No longer counts a win if others quit before anyone loses.
  • Loss spawn not required if ground setting is disabled.
  • Boost by boost-block now in facing direction not movement direction.
  • Fixed some leaderboard query statements were left open.
  • Removed &4 format code from permission-message in plugin.yml.
  • Massive internal refactor of command handling code.
Test server:
If you hadn't noticed, I'm now proudly sponsored by Apex Minecraft Hosting. You can try out the latest changes in Boost on my play-test and demo server:
  • pmme.apexmc.com
This will usually be running the latest Minecraft version and often pre-release builds of Boost. You'll also see some of the various configuration possibilities and arenas I have built to test and demonstrate Boost game-play options.
Do drop by for a visit. If you have questions and/or comments, you can send me in-game mail, PM me on here, or discord pmme#8563
----------, Sep 27, 2020

Win ceiling:
As per user request I have implemented an alternate way to win. This gives you more variety in Boost game design. Now you can set a win ceiling height. If a player reaches that Y position they will win the game.
You can now use:
  • The original ground value, where the winner is the last player to not fall.
  • The new ceiling value, where the winner is the first to reach the top.
  • Both in the same game! Players must try to reach the top without falling.
Boost block:
Optionally set a block for a game that will automatically boost a player if they stand on that type of block.
  • You could leave random blocks in the platforms like a minefield that will boost players off their platform.
  • You could make platforms entirely out of the boost block like jump pads and combine with the new ceiling setting - making a long jumping fast paced parkour. Players won't be able to stop and take their time on the pads to prepare for the next jump because the boost is automatic.
Other changes:
  • Cool down is recoded to use a time comparison and not runnables, making it less work for your server CPU.
  • Fixed NullPointerException from win commands if a player's data is somehow removed from the server (e.g. restoration of server backup). Not a likely occurrence in normal use but it's fixed now.
----------, Jul 5, 2020

I've run some tests on Spigot 1.16.1 and found no errors so far. No changes were necessary for Boost to run in 1.16.

Other work has been progressing and two new features are added in this update:
  • Boosting cooldown
    There's now a configurable cooldown delay between boost hits. The default is 10 ticks, which is 1/2 a second. You can configure whatever you find suits you. A setting of 0 disables this feature.
    Use "/boost setcooldown <ticks>" to set the cooldown in server ticks.
----------, Jun 26, 2020

Rewards for winners:
  • Add commands for winner of each game.
  • Add commands for top 3 places on the daily, weekly and/or monthly leader board. These are run when the time period ends and the stats reset.
  • Boost will run the commands as the console.
  • Commands support %player%, %uuid% and %game% placeholders.
  • Check out new `/boost` commands: `addwincommand`, `removewincommand`, `testwincommands` and `showwincommands`.
Note that it is not worth giving items because Boost clears inventory. Other ideas: virtual crate keys, broadcast message, in-game money, rank upgrades.

Require rank to play:
  • Each game can now optionally require a game-specific permission to join.
  • Permission node is: `boost.join.<game name>`, e.g. `boost.join.Arena1` for a game named "Arena1".
  • Enable requiring permission with `/boost requirespermission <game> on`.
Now you can reserve some arenas for only players with a certain rank. Note that this is a per-game setting, so one or more game areas can be left open to all players while others require rank.

Other changes:
  • Command help for an error in a command now shows only the help for that command. Note that you must re-set `messages.yml` for this to work.
  • Changed the colour of some of the admin configuration listings so they're easier to read on the console.
  • Added an index number to the leader board listing.
----------, Jun 14, 2020

Thanks again to @wsman217

This update fixes boosting from half-height blocks or any block where you can be 'inside' it's block dimensions, e.g. slabs, lily pads, redstone wire, water.

Also fixes ' /boost togglelobbyboost' not saving to the config file.

Issued boost sticks now avoid occupied inventory slots rather than using fixed slots.
----------, Jun 1, 2020

Configuration and building tools:
  • New '/boost setsign' command.
    Create Boost sings in the correct format with optional formatting and coloring by simple commands.
  • Automatic creative mode toggle with '/boost build' and '/boost nobuild'.
  • Warning if game start spawn Y is lower than game's 'ground' setting.
Lobby boosting fun:
  • Option to enable players to boost themselves in a game lobby while waiting for the start (only in game lobby, not main lobby).
    Good for some jumping practice. Players can only boost other players once their game has started.
    Use '/boost togglelobbyboost' to turn this feature on or off.
  • Option to give all permitted Boost sticks.
    You must be configured to use permissions-based sticks, random: false, and to not give only the player's best stick, give_only_best: false.
  • Boost sticks are now issued while in a game's queuing lobby.
    Players can select their preferred stick if given multiple.
Miscellaneous changes:
  • '/boost stats' now also queries offline players.
  • Tab completion now offers only the suggestions that start with what you've already typed, so commands are easier and quicker to enter.
  • Some sounds, e.g. when a player falls and loses, can now be heard over a longer range. The default is 80 blocks, world_sound_range: 80.
----------, May 31, 2020

This update took a while due to work commitments but here we are!
With this update you get the following changes.

Minor fixes and changes:
  • Avoids spurious extra errors if database connection fails.
  • Now uses fixed inventory slots for boost stick and instruction book
New and modified commands:
  • '/boost showgameconfig' shows game configuration in chat rather than looking in config.yml.
  • '/boost end' modified to not stop games auto-queuing (use '/boost stop' for that).
  • '/boost queue *' sets all games into queuing state.
Reward your donors with fancier tools:
  • Permissions based boost sticks. Set boost_sticks.random to false. Sticks lower in the section are considered better.
Easier and bundled translation. Now if someone makes a translation I can bundle it and you can switch to it in game.
  • '/boost language' switches languages in game.
  • Chinese translation bundled.
Now tested and approved on versions back to 1.12.2.
  • Support extended back to 1.12.2 and later.
    To work properly on 1.12.2 you'll need to change some material names and sound names in the configuration files to 1.12.2 versions.

In this update the configuration files are re-arranged a fair bit to facilitate language switching.
  • Boost sticks move from config.yml to their own configuration file, boostSticks.yml.
  • Sign text moves from config.yml to messages.yml.
The plugin will identify the previous configuration and create files and move configuration sections for you. You should not need to do any manual editing.
----------, May 16, 2020

Fixed an omission that meant that daily, weekly and monthly player statistics weren't being reset each day, week or month.
Each type of reset is also now announced as an [info] in the server log.

Added the <period> options to the top command that fetches a leaderboard.
e.g. /boost top weekly
Now the top command can do the same as sign clicking.
----------, Apr 23, 2020

Added numerous in-game commands to configure general and game-specific settings. This mostly eliminates the need to manually edit the configuration file unless you want to tweak rarely-changed settings or prefer direct editing.

Added confirmation in chat from commands. Previously commands would mostly give no indication when they worked correctly; only providing feedback on errors. Now commands also give confirmation on success.

Bug fixes:
  • Fixed a problem with the plugin load order with Multiverse that can cause a problem running Boost in a separate world.
  • Fixed a problem from using a default world name of 'world' if none is specified.
  • Fixed recognition of world names in mixed case.
----------, Apr 19, 2020

Fixes appearance of "You are not in a Boost game" when changing worlds.
Also adds a little more secure game world checking on events.
----------, Apr 5, 2020

Boost now works only in the worlds specified in the "boost_worlds" list in the config.yml.
This means Boost can coexist with other game modes on one server without interfering with block breaking, sign clicking or spawn in other worlds.

[Edit]
Note that I have realized this is incomplete as Boost doesn't currently protect player inventories from non-Boost worlds.
[Edit2]
But Multiverse Inventories works well to take care of that. So it can work multi world without problems.
----------, Apr 5, 2020

Resource Information
Author:
----------
Total Downloads: 6,702
First Release: Mar 11, 2020
Last Update: Aug 14, 2022
Category: ---------------
All-Time Rating:
12 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings