
BlockRunner is a mix between parkour and a puzzle game, where the goal is to reach the end of the level by jumping around and using the block(s) given to you. These blocks allow for a whole new dimension to parkour, since the block only stays for a specific amount of time. You have to parkour, puzzle, think and react quickly to get to the end of the level, without falling!
Players join the game by using the join command (more at: "Commands"). Players have to use the blocks given to them to reach the end of the level. If a player hits water, he/she will be teleported back to the spawn of the level they are currently in. If the player falls into the void without hitting water, he/she will advance to the next level, or win the game if there are no more levels. The spawn of each level is set by an operator beforehand. This spawn point will be saved in a config file. Each level has a unique id, linking to the spawn point and the gamemode of that level. Custom gamemodes can be created which allow for different amounts of blocks given, and different timings of block disappearance and givebacks. This allows each level to possibly require a different method of approach.
How to progress in a level
| Diamond Block | Player progresses to next level |
| Player in Void | Player progresses to next level |
| Gold Block | Checkpoint |
| Water | Player retries at start of the level or at a checkpoint |
| Lava | Player restarts from level 1 |
A possible level design (v0.5Beta):

(<> = optional, [] = required)
| Command | Description | Permission |
|---|---|---|
| /blockrunner help <page> | Display the help page | blockrunner.help |
| /blockrunner join | Join the game | blockrunner.join |
| /blockrunner leave | Leave the game | blockrunner.leave |
| /blockrunner music | Toggle music play | blockrunner.music |
| /blockrunner setworld | Sets the current world to the world where the levels are located | blockrunner.admin.setworld |
| /blockrunner setspawn <id> <gamemode> | Sets the spawn to a level, where id is the unique level id | blockrunner.admin.setspawn |
| /blockrunner setprize [level-id] <amount> <item-id> <data-value> | Add a prize for players to receive on completing a level | blockrunner.admin.setprize |
| /blockrunner gamemode list | Lists the availible gamemodes | blockrunner.admin.gamemode.list |
| /blockrunner gamemode modify [gamemode] [data] [value] | Modifies the given setting of the specified gamemode to the value given | blockrunner.admin.gamemode.modify |
| /blockrunner reload | Reloads the config | blockrunner.admin.reload |
| /blockrunner reload all | Reloads the complete plugin | blockrunner.admin.reload |
Mostly this file doesn't need any modifications, since pretty much everything can be modified in-game and it works out-of-the-box. However, for those of you who do want to mod the config file, I'll explain the main features.
block: 35 world: levels: gamemodes: default: amount: 1 time: 20 return: 20
Block defines the block the player is given to play the game with. These can only be placeable blocks, and they cannot feature a data value. World defines the worldname where all the levels are located. Levels defines the storage of level spawns created in-game. Once a level has been created, it will feature the unique level ID, spawn location and gamemode. Gamemode defines all the availible gamemodes and their settings. In this case, default is the name, and the settings underneath that are gamemode specific settings. Amount equals the amount of blocks given to the player, Time equals the time the block stays in the world before disappearing, and Return equals the time for the block to return back into the inventory of a player. Time and Return are specified as ticks, where 20 ticks = 1 second. Time and Return are related to the block place, meaning that in this case, the block disappears after 1 second and is given back after 1 second when the block was placed.
(+: Addition, =: Bugfix, -: Removal)
If you like this plugin and if you want to aid me with creating other plugins, please consider a donation. It would really help with creating future plugins =).