Tested Minecraft Versions:
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
Sign format:
Extra permissions
MCJukebox:
Showcase & Setup
Common problems
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
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
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12

- 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
- Create your arena - /sr create <name>.
- Set arena waiting lobby - /sr setlobby <name>
- Add spawn - /sr setspawn <name>
- Set min players - /sr setMinPlayers <name> <amount>
- Set max players - /sr setMaxPlayers <name> <amount>
- Select the checkpoint area with WorldEdit -/sr addCheckpoint <name>
- Put the block on your hand - /sr addblock <name>
- Finish the arena with - /sr finish <name>
Sign format:
- [SpeedRun]
- join
- ArenaName
- [SpeedRun]
- leaderboard
- <type> - types: Checkpoints & Wins
- <position>

- /sr join <arena> - sr.player
- /sr leave - no permission.
- /sr stats - sr.player
- /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
- /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.
MCJukebox:
- You can install MCJukebox to play musics.
Showcase & Setup
Common problems
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
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

- You are not allowed to distribute this plugin.
- Use only for your network/server.
- No refounds.
- Accept future terms.