Speedrun Minigame

SpigotVIP Speedrun Minigame 4.7.7

Speedrun Minigame
◦•●❤♡ ᴄᴏɴᴛᴀᴄᴛ Dekomori on discord ꜰᴏʀ ꜱᴜᴘᴘᴏʀᴛ ♡❤●•◦

Tested Minecraft Versions:
1.8 / 1.9 / 1.10 / 1.11 / 1.12
SpeedRun is a race with parkour.


[IMG]

  • Multi-Arena or bungee support.
  • Achievements.
  • Win fireworks & effects.
  • Checkpoint effects.
  • MySQL, Flatfile or SQLite support.
  • Most game messages are configurable.
  • Custom and configurable signs.
  • Save and restore player inventory, levels and more.
  • API with Game events.
  • Visibility system.
  • NoteBlockAPI for .NBS Game sounds! Play with custom different musics per map!
  • 1 Winner, 3 positions, 2 and 3 positions will receive half of win coins.
  • Win & checkpoints rewards.
  • MCJukebox support! Play a real music with MCJukebox.
  • Leaderboards and Map Records!
  • Custom pads.
[IMG]

Bugs
I can't fix problems if I don't find them! If you have any issues, report via discussion or private message. Do not use the rating area to report bugs or request features. Please go to discussion.


Dependencies

To work with Leaderboards you can add Holographic Displays.


NBS Music
You can play custom Note Block Studio songs! You need NoteBlockAPI for this.


[IMG]


Arena setup
Required permission: sr.admin
First of all set global spawn using /sr setgspawn



Step by step tutorial
  1. Create your arena - /sr create <name>.
  2. Set arena waiting lobby - /sr setlobby <name>
  3. Add spawn - /sr setspawn <name>
  4. Set min players - /sr setMinPlayers <name> <amount>
  5. Set max players - /sr setMaxPlayers <name> <amount>
  6. Select the checkpoint area with WorldEdit - /sr addCheckpoint <name>
  7. Put the block on your hand - /sr addblock <name>
  8. Finish the arena with - /sr finish <name>
The last checkpoint will be the win point (if player got all of the map checkpoints)

Sign format:
  1. [SpeedRun]
  2. join
  3. ArenaName
[IMG]


Leaderboards
You need HolographicDisplays to work with Leaderboards, just use the placeholder:
  • {sr_wins_number}
    • Example: {sr_wins_1} will return player with most wins.
    • {sr_wins_2} etc
    • The message can be modified at
      Leaderboard.Messages.Wins-Format Use the placeholders %player% for the player %wins% for the win amount and %position% for the position.
  • {sr_checkponts_number}
    • Example: {sr_checkponts_1} will return player with most checkpoints
    • {sr_checkponts_2} etc
    • The message can be modified at
      Leaderboard.Messages.Checkpoints-Format Use the placeholders %player% for the player %checkpoints% for the checkpoint amount and %position% for the position.
  • {sr_records_map_position}
    • {sr_records_sr1_1} will return the player with the best time on the map sr1.
    • {sr_records_sr1_2} etc
    • The message can be modified at
      Leaderboard.Messages.Map-Record-Format. Use the placeholders %time% for time in milliseconds,
      %formatted_time% for mm:ss, %map% for the Map name and %position% for the position.

[IMG]

Time Leaderboard/Map Records
Players can set their own record on each map.
[IMG]

[IMG]


Extra Information about Map Records:
  • It only works with SQLite or MySQL.
  • Can be disabled if you don't want to use.
  • Will create a new database table.
  • Will update and load before (reload) every game.
    • This process should not have any impacts on performance.
This system is in BETA and may have future changes on how it will work on database so keep that in mind. Please report any bugs at discussion.

For now some users have tested and everything is in place and no changes are needed.

  • /sr join <arena> - sr.player
  • /sr leave - no permission.
  • /sr stats - sr.player
Manager commands
  • /sr setgspawn - sr.admin
  • /sr start <arena> - sr.moderator/sr.admin
  • /sr stop <arena> - sr.moderator/sr.admin
  • /sr config set/update <path> <value> - sr.commands.config/sr.admin
Others:
  • /sr coins set/add/remve <player> <amount> - sr.command.coins/sr.admin
  • /sr updatedata <player> - sr.command.update/sr.admin
  • /sr leaderboard update - sr.admin
  • /sr create <name> - Create a new arena.
  • /sr setlobby <name> - Set arena waiting lobby.
  • /sr setspawn <name> - Set the arena spawn (like a first checkpoint, where players will be teleported when game starts and if they failed and haven't a checkpoint yet.)
  • /sr setMinPlayers <name> <amount> - Min of players to start the game.
  • /sr setMaxPlayers <name> <amount> - Max of players.
  • /sr cptool - Area Selecting Tool.
  • /sr addcheckpoint <name> - Add a game checkpoint, players may not win the game without going through this checkpoint!
  • /sr addblock <name> - Add a block (Item in your main hand) that the player can step, if someone step in a block that isn't on this list he will be teleported to the his last checkpoint.
  • /sr finish <name> - Reloads the arena and finish the setup. Note: This command can be used everytime.
  • /sr setgspawn - Set the global spawn where players will be teleported when game ends.
  • /sr leaderboard - Update the Leaderboards and player data.
  • /sr start <arena> - Start a game.
  • /sr stop <arena> - Stop a game.
  • /sr config - Update settings.yml.
  • /sr coins - Edit the balance of a player.
  • /sr join <name> - Join in a game.
  • /sr quit - Left the game.
  • /sr stats - See your stats.


[IMG]


Extra permissions
  • sr.joinfull - Allows you to join in full games.
Additional
MCJukebox:


[IMG]

[IMG]


Showcase & Setup

API

Code:
 */
    public GamePlayer getPlayerData(UUID uuid);
 
    /**
    * Get player data from UUID.
    *
    * @param uuid - The UUID.
    * @return GamePlayer - The player data.
    *
    */
    public GamePlayer getPlayerData(String name);
 
    /**
    * Get player a game from name.
    *
    * @param name - The map name.
    * @return Game - The game.
    *
    */
    public Game getGame(String name);
 
    /**
    * Get player a game from a player.
    *
    * @param GamePlayer - The game player.
    * @return Game - The game.
    *
    */
    public Game getGame(GamePlayer fromPlayer);
 
    /**
    * Send a updated data to Database (MySQL, SQLite or YAML)
    *
    * @param players - Players to save
    *
    */
    public void saveData(Player... players);
 
    /**
    * Get the music from the game.
    *
    * @return Music - the GameMusic class
    *
    */
    public Music getGameMusic(Game fromGame);
 
    /**
    * Send a plugin message to a channel via BungeeCord's channel and SpeedRun's subchannels.
    *
    * @param player - The player sending the message -- Player must be online.
    * @param server - The target server.
    * @param key - Your key to listen the message.
    *
    */
    public boolean forwardData(Player player, String server, String key);
 
    /**
    * Get the wins leaderboard;
    *
    * @return The list of avaliable data.
    */
    public List<Entry<String, Integer>> getWinsLeaderboard();
 
    /**
    * Get checkpoints leaderboard;
    *
    * @return The list of avaliable data.
    */
    public List<Entry<String, Integer>> getCheckpointsLeaderboard();
 
    /**
    * Get offline player data.
    *
    * @param name - The player name
    * @return Offline player data
    */
    public OfflineGamePlayer getOfflineGamePlayer(String name);

    @EventHandler
    public void onGameStart(GameStartEvent event) {
        event.getGame().sendGameMessage("Game started!");
    }

Latest updates

  1. 4.7.7

    4.7.7
  2. 5.9.6

    5.9.6
  3. 5.9.1

    5.9.1

Similar resources

SpeedRun minigame A
0.00 star(s) 0 ratings
Downloads
73
Updated
SpeedRun Minigame LeakedSquid
MySQL/Yaml/SQLite | Bungee/MultiArena | Achievements | Leaderboards | API | MCJukebox/NBS |
0.00 star(s) 0 ratings
Downloads
75
Updated
Age Of Empire - New Minigame T0R&CM
A minigame inspired by the old game named Age of Empires from 2000. It is similar to Clash Of Clans.
4.00 star(s) 2 ratings
Downloads
172
Updated
BlackSpigot General Chat
Rules Help Users
    N @ NabixEnd: hi
    Top