Tested Minecraft Versions:
  • 1.8
  • 1.9
  • 1.10
  • 1.11
  • 1.12
SpeedRun is a race with parkour, leave behind all the checkpoints and win the game!




  • 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.
  • Custom non-flickering scoreboard.
  • API with Game events.
  • Custom items.
  • Visibility system.
  • Made for Java 8 and MC 1.8, 1.9, 1.10, 1.11 and 1.12.
  • .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 (for MySQL and SQLite).

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
You need to install WorldEdit to add checkpoints, you also can install vault and enable the vault support.

NBS Music
You can play custom Note Block Studio songs! You can edit the song of the arena using /sr edit <arena> music <name> or edit in arena file.





Arena setup
Required permission: sr.admin
First of all set global spawn using /sr setgspawn
  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
Leaderboard Sign
  1. [SpeedRun]
  2. leaderboard
  3. <type> - types: Checkpoints & Wins
  4. <position>


  • /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/values] <type> - Types: Wins, Checkpoints.


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



Showcase & Setup


Issues
Code (Text):
[SpeedRun] Task #44 for SpeedRun v3.1 generated an exception
java.lang.IllegalArgumentException: No enum constant [SOUND]
at java.lang.Enum.valueOf(Enum.java:238) ~[?:1.8.0_111]
at org.bukkit.Sound.valueOf(Sound.java:1) ~[patched_1.10.2.jar:git-Paper-914]
at com.floodeer.speedrun.game.Game$1.run(Game.java:135) ~[?:?]
How to fix:
If you are using 1.9, 1.10 or 1.11 you have to change the sounds at settings.yml
Code (Text):
Sounds:
Checkpoint: ENTITY_PLAYER_LEVELUP:0.2 #For 1.9, 1.10 and 1.11


ParticleEffects
Code (Text):

EXPLODE
LARGEEXPLODE
HUGEEXPLOSION
FIREWORKSSPARK
CRIT
MAGICCRIT
SMOKE
LARGESMOKE
SPELL
INSTANTSPELL
MOBSPELL
WITCHMAGIC
DRIPWATER
DRIPLAVA
HAPPYVILLAGER
ANGRYVILLAGER
NOTE
PORTAL
ENCHANTMENTTABLE
FLAME
FOOTSTEP
CLOUD
REDSTONE
SNOWBALL
SNOW_SHOVELD
SLIME
HEART
LAVA
Code (Text):

EXPLODE
LARGEEXPLODE
HUGEEXPLOSION
FIREWORKS_SPARK
CRIT
MAGICCRIT
SMOKE
LARGESMOKE
SPELL
INSTANTSPELL
MOBSPELL
WITCHMAGIC
DRIPWATER
DRIPLAVA
HAPPYVILLAGER
ANGRYVILLAGER
NOTE
PORTAL
ENCHANTMENTTABLE
FLAME
FOOTSTEP
CLOUD
REDDUST
SNOWBALLPOOF
SNOWSHOVEL
SLIME
HEART
LAVA

API

Code (Text):
import java.util.UUID;

import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;

import com.floodeer.speedrun.Main;
import com.floodeer.speedrun.game.Game;
import com.floodeer.speedrun.game.GameCheckPoint;
import com.floodeer.speedrun.game.GamePlayer;

public class SpeedRunAPI {

/**
* Get player data from BukkitPlayer.
*
* @param bukkitPlayer - Player
* @return GamePlayer - The player data storage.
*/
public static GamePlayer getPlayerData(Player bukkitPlayer) {
return Main.getPM().getPlayer(bukkitPlayer.getUniqueId());
}

/**
* Get player data from UUID.
*
* @param uuid - Player UUID
* @return GamePlayer - The player data storage.
*/
public static GamePlayer getPlayerDataFromUUID(UUID uuid) {
return Main.getPM().getPlayer(uuid);
}

/**
* Get player data from name
*
* @param name - Player name
* @return GamePlayer - The player data storage.
*/
public static GamePlayer getPlayerDataName(String name) {
return Main.getPM().getPlayer(name);
}

/**
* Game from name.
*
* @param name - The map name.
* @return The Game - null if the game is invalid.
*/
public static Game getGame(String name) {
return Main.getGM().getGameFromName(name);
}

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

@EventHandler
public void onGameEnd(GameEndEvent event) {
GamePlayer p = event.getPlayerFromPosition(1);
event.getPlayerFromPosition(2).getP().sendMessage(p.getName() + " is better than you!");
}

@EventHandler
public void onAchievement(PlayerAchievementEvent event) {
event.getPlayer().sendMessage("New achievement: " + event.getType().toString());
}

@EventHandler
public void onCheckpoint(PlayerCheckPointEvent event) {
GameCheckPoint checkpoint = event.getCheckpoint();
event.getPlayer().teleport(checkpoint.getSafeLocation());
}
}
File and Screenshots
Lobby Scoreboard


Game Scoreboard


Inventory


Game Start


Game End


Code (Text):

Name: Runner
Map:
Sign:
Name: Runner
world: world
x: 187.0
y: 16.0
z: 325.0
isSignSet: true
MinPlayers: 1
MaxPlayers: 8
Speed: 0.6
JumpBoost: 2
Arena-Music: Paradise
Check-Y: false
Min-Y: 5
MCJukebox-Music-URL: https://clyp.it/kxfoib2i.mp3
Music-Name: Final Boss
Music-Artist: Nitro Fun
Locations:
SPAWN:
world: run
x: -801.8648366574969
y: 62.0
z: -1801.5388762613056
pitch: 8.850222
yaw: -7.495099
LOBBY:
world: run
x: -801.8648366574969
y: 62.0
z: -1801.5388762613056
pitch: 8.850222
yaw: -7.495099
Checkpoints:
world: run
'1':
p1:
x: -753.0
y: 85.0
z: -1735.0
pitch: 23.70031
yaw: 107.85112
p2:
x: -753.0
y: 90.0
z: -1731.0
pitch: 23.70031
yaw: 107.85112
'2':
p1:
x: -861.0
y: 63.0
z: -1671.0
pitch: 31.950209
yaw: -348.14645
p2:
x: -857.0
y: 68.0
z: -1671.0
pitch: 31.950209
yaw: -348.14645
'3':
p1:
x: -863.0
y: 55.0
z: -1708.0
pitch: 53.400288
yaw: -173.24577
p2:
x: -859.0
y: 58.0
z: -1708.0
pitch: 53.400288
yaw: -173.24577
'4':
p1:
x: -863.0
y: 61.0
z: -1831.0
pitch: 48.000305
yaw: -300.89548
p2:
x: -859.0
y: 66.0
z: -1831.0
pitch: 48.000305
yaw: -300.89548
'5':
p1:
x: -819.0
y: 68.0
z: -1855.0
pitch: 32.850224
yaw: -100.1958
p2:
x: -819.0
y: 72.0
z: -1851.0
pitch: 32.850224
yaw: -100.1958
'6':
p1:
x: -781.0
y: 60.0
z: -1857.0
pitch: -28.949734
yaw: -142.1954
p2:
x: -781.0
y: 65.0
z: -1849.0
pitch: -28.949734
yaw: -142.1954
Blocks:
'1':
==: org.bukkit.inventory.ItemStack
type: STEP
damage: 7
'2':
==: org.bukkit.inventory.ItemStack
type: STAINED_CLAY
damage: 2
'3':
==: org.bukkit.inventory.ItemStack
type: STAINED_CLAY
damage: 10
'4':
==: org.bukkit.inventory.ItemStack
type: QUARTZ_BLOCK
'5':
==: org.bukkit.inventory.ItemStack
type: WOOL


Code (Text):
wins: 1
losses: 0
gamesPlayed: 1
checkpoints: 4
fails: 3
balance: 2500
name: Floodeer

Code (Text):
wins:
'1':
enabled: true
display-name: '&8&lIt''s my first win!'
description: '&7First speedrun win.'
commands:
- eco give %player% 150
games:
'3':
enabled: true
display-name: '&b&lI love this game!'
description: '&7Play a total of 3 speedrun games.'
commands:
- eco give %player% 250
checkpoints:
'5':
enabled: true
display-name: '&b&l/checkpoint'
description: '&7Get a total of 5 checkpoints.'
commands:
- eco give %player% 200
deaths:
'5':
enabled: true
display-name: '&b&lNever give up!'
description: '&7Get a total of 5 Fails!'
commands:
- eco give %player% 50


Code (Text):

Locations:
spawn: ''
Storage:
Type: YAML
MySQL:
Host: localhost
Port: '3306'
User: user
Password: '123456'
Database: database
Update-Interval: '5'
Options:
Bungee:
Enabled: 'false'
Lobby-Server: lobby
Server-Name: sr1
Checkpoint-Particles: FIREWORKS_SPARK
Whitelisted-Commands:
- sr
- tell
- r
PreStart-Countdown: '35'
Time-After-Game: '8'
Grace-Time: '5'
Use-Vault: 'false'
Always-Update-Scoreboard: 'false'
Use-MC-Jukebox: 'false'
Use-Musics: 'true'
Use-WinFirework-Party: 'true'
Per-Arena-Chat: 'true'
Use-Titles: 'true'
Use-Action-Bar: 'true'
Checkpoint-Velocity-Booster:
Enable: 'false'
Multiply-Forward: '1.5'
Multiply-Y: '0.8'
Titles:
Fade-In: '8'
Stay: '28'
Fade-Out: '5'
Economy:
Coins-Per-Win: '250'
Coins-Per-CheckPoint: '25'
Messages:
Join: '&7%player% &ejoined the game. (&7%players%&e/&7%maxplayers%&e)'
Left: '&7%player% &eleft the game. (&7%players%&e/&7%maxplayers%&e)'
Chat-Format: '&7%player_name%: &r%message%'
Jukebox-Command: '&e&lClick on the message below to play a music!'
Already-Started: '&cThis game already started!'
Already-InGame: '&cAlready playing!'
No-Permission: '&cNo permission!'
Game-Is-Full: '&cThis game is full!'
CannotJoin: '&cThis game already started!'
Player-Checkpoint: '&6&lYou got a checkpoint!'
Visibility-Players-Enabled: '&6&lPlayers are now visible.'
Visibility-Players-Disabled: '&6&lPlayers are now invisible.'
Teleport: '&aTeleported!'
Starting: '&eThe game starts in &b%time% &eseconds.'
Game-Started: '&e&lGame started! Run!'
Win: '&7You got the %position% position! You need to wait %count% other players
finish off the map.'
CommandFailed: '&cYou cannot use commands while playing speedrun!'
Empty: '&7empty'
Empty-Time: '&7empty time'
Grace-Time: '&eThe game starts in &c%time% &esecond(s).'
Achievement:
- '&7&m---------------&7[&6&lACHIEVEMENT&7]&m---------------'
- ' '
- '%name% - %description%'
- ' '
- '&7&m----------------------------------'
GameStart:
- '&7&m---------------&7[&6&lSPEEDRUN&7]&m---------------'
- ' '
- '&7Run!'
- "&6&l\u266c Now playing: &e&l%song_name% &6&l\u266c"
- ' '
- '&7&m----------------------------------'
GameEnd:
- '&7&m---------------&7[&c&lSPEEDRUN&7]&m---------------'
- ' '
- '&71: &6%winner_1% &7with &6%timer_1%'
- '&72: &6%winner_2%'
- '&73: &6%winner_3%'
- ' '
- '&7&m----------------------------------'
Player-Stats:
- '&7&m---------------&7[&c&lSPEEDRUN STATS&7]&m---------------'
- ' '
- '&8Games Played: &b%games_played%'
- '&8Wins: &b%wins%'
- '&8Losses: &b%losses%'
- '&8Fails: &b%fails%'
- '&8Checkpoints: &b%checkpoints%'
- '&8Balance: &b%balance%'
- ' '
- '&7&m----------------------------------'
Enough-Money: '&cYou don''t have enough money to buy this!'
Titles:
Titles:
Join: '&eYou are playing on map:'
Left: '&eYou left the game'
Player-Eliminated: '&b%player%'
Grace-Time: ''
Title:
Starting: '&eGame starts in:'
Checkpoint: '&e&lCHECKPOINT!'
Subtitle:
Starting: '&e&l%countdown%'
Subtitles:
Join: '&b%mapname%'
Left: ''
Player-Eliminated: '&7has eliminated!'
Grace-Time: '&c&l%time%'
Checkpoint: '&6&l%checkpoints%&f/&b&l%all_checkpoints%'
ActionBar:
Format: '&c&l%timer% &e&l| &c&l%score% &e&l| &c&l%checkpoints%&r/&b&l%all_checkpoints%'
Sign:
Line:
'1': '&7[&cSpeedRun&7]'
'2': '%state%'
'3': '%mapname%'
'4': '%players%/%maxplayers%'
State:
Waiting: '&aWAITING'
Starting: '&6STARTING'
InGame: '&cIN GAME'
Ending: '&4ENDING'
Leaderboard:
Prefix: '&7[&cSpeedRun&7]'
Wins-Stats: 'Wins: %wins%'
CheckPoints-Stats: 'Checkpoints: %shots%'
Position: '#%position%'
Motd:
State:
Waiting: '&aWAITING'
Starting: '&6STARTING'
InGame: '&cIN GAME'
Ending: '&4ENDING'
Scoreboard:
Lobby-Title: '&e&lSPEEDRUN'
Lobby-Format:
- ' '
- 'Map: &a%mapname%'
- 'Players: &b%players%/%maxplayers%'
- 'Needed: &b%minplayers%'
- ' '
- 'State: %capitalize_state%'
- ' '
- yourserver.com
Game-Title: '&e&lSPEEDRUN'
Timer-Format: 'Your time: &b%timer%'
Players-Format: 'Runners: &b%players%'
Check-Points-Format: 'Checkpoints: &b%checkpoints%&r/&a%all_checkpoints%'
Deaths-Format: 'Fails: &b%deaths%'
Score-Format: 'Score: &b%score%'
Map-Format: 'Map: &b%map%'
Sounds:
Checkpoint: LEVEL_UP:0.2
Starting: ANVIL_USE:0.2
Double-Jump: BAT_LOOP:0.2
Grace-Time: CLICK:1
Itens:
Leave-Item:
Name: '&c&lLeave'
Type: BED
CheckPoint-Item:
Name: '&6&lCheckpoint'
Type: MAGMA_CREAM
Players-Showing-Item:
Name: '&eVisibility &c&l(Showing)'
Showing-Item:
Type: EYE_OF_ENDER
Players-Hidden-Item:
Name: '&eVisibility &c&l(Hidden)'
Hidden-Item:
Type: ENDER_PEARL
Rewards:
Win-Commands:
- eco give %player% 100
Position2-Commands:
- eco give %player% 50
Position3-Commands:
- eco give %player% 25
CheckPoint-Commands:
- eco give %player% 150

Thats all :P
Author
Direct-Leaks.com
Downloads
45
Views
219
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from Direct-Leaks.com

Top