SpeedRun Minigame icon

SpeedRun Minigame -----

NEW: Racing | MySQL/SQLite | Bungee/MultiArena | Achievements | Leaderboards | API | MCJukebox/NBS




  • Fixed a issue where players can swap items to offhand.
----------, Jan 19, 2025

  • Added a new option Options.Winner-Spectate-System.Wait-For-Players-Override
    • When set to true, the game will wait for all players to cross the finish line in order to end the match.
    • Requires
      Options.Winner-Spectate-System.Enabled set to true.
  • Changed some default options.
----------, Jan 10, 2025

  • Fixed a issue where the best time is not being loaded, leading to wrong record values.
  • Fixed laps not counting after someone finishes a race.
----------, Dec 31, 2024

  • Added 1.21.4 support.
    • If a block interaction is not correct please report, we have way too many stuff to check from 1.8 to 1.21.4 now.
  • Fixed boats not spawning correctly in some Spigot forks
  • Fixed boat auto-ride in 1.8.9.
  • Fixed a few internal issues with PAPI
----------, Dec 26, 2024

  • The racing mode now supports a custom scoreboard.
    • Scoreboard.Race-Format
  • The joingui command now supports a extra argument: "racing"
    • /sr gui racing
    • It will only show racing maps
  • Small leaderboard fixes.
----------, Oct 28, 2024

  • Fixed a memory leak that could happen if a player leaves the game on race mode due data not being deleted correctly;
  • Fixed a problem with checkpoint not catching player yaw and pitch correctly, causing errors;
  • If you are playing solo, the game will now instantly end after you finish the map when using the alternative win method.
----------, Oct 22, 2024

This is huge update on the backend, please test the update before releasing on a server. Report bugs via PM or Discussion.
  • Fixed /sr setDisableBlockCheck not storing correctly to the arena file.
  • Fixed player not dismouting when winning the game with alternative win method
  • Added a 0.5 block threshold for checkpoint check, this should fix the problem of not getting the checkpoint if you are going too fast (when walking, for elytra I'd recommend the alternative method, it will apply both methods).

(BETA) Added racing (Laps) mode. The setup is quite simple but please follow the tutorial very carefully.
  • Player spawn should be before start and finish lines, see the layout below.
  • Checkpoints are still necessary so players can't cheat the race.
  • Checkpoint (data and checkpoint amount) will reset to 0 after completing a lap to start couting again
  • Racing mode uses the alternative win method where players have a few seconds to also finish the course.
  • Please note that due limitations on how the plugin works for the normal mode, the score system will not used for racing mode for now, maybe in the future.
Arena setup tutorial:
  • /speedrun setRacingMode <map> <true/false>
    • Required for the arena to be loaded as a Race map, other commands will not work on the arena without the map set to Racing mode.
  • With the area selected with /sr cptool /speedrun setStartLine <map>
  • With the area selected with /sr cptool /speedrun setFinishLine <map>
  • /speedrun setLaps <map> <amount>
  • If you are editing the arena just use the /sr finish <arena> to apply the changes, otherwise finish the setup with the other setup commands.
If you are not able to set the arena to racing mode with an already existing arena, recreate it.

Arena layout example:

[​IMG]
Setup the checkpoints however you want, but player spawn needs to be before the start and finish lines.

The player does not need to know the start point, you can put them next to each other.

Added the following placeholders for the Scoreboard
  • %laps%
  • %laps_total%
Added the following new messages to translate:
  • Messages.Titles.Title.Lap
  • Messages.Titles.Title.Last-Lap
  • Messages.Titles.Subtitles.Lap

SpeedRun was not made with having laps in mind but this a highly requested feature, setting this up was not easy and a system rework was necessary. This system is in BETA, do test everything before releasing on your server and please report bugs at discussion or private message.

If you wish for more messages about the race, found a bug or wish any other feature please use the Discussion or Private Message.
----------, Oct 19, 2024

  • Added Options.Force-Start-When-Max-Players
    • Forces the game to instantly start when waiting lobby reaches the max amount of players
  • Added a few new placeholders:
    • %speedrun_playername_record_POSITION_ARENA%
      • Returns the unformatted playername for that specific position on that arena
    • %speedrun_time_record_POSITION_ARENA%
      • Returns the unformatted raw time (milliseconds) for that specific position on that arena.
    • %speedrun_personal_best_ARENA%
      • Returns the unformatted raw time (milliseconds) for the player on that arena
  • Fixed setting PreStart-Coutdown to 0 would not work.
----------, Oct 12, 2024

  • Fixed arena area manager not working correctly when using the command during the first arena setup.
----------, Oct 12, 2024

  • Added a small delay for vehicle spawns
  • Added alias to checkpoint tool command: /sr cpt
  • Added a new option to fix a problem with player speed: Options.Alternative-Checkpoint-Check
    • This will check the player position every single tick so it can be resource heavy but that's the only way to check when a player passes a checkpoint at very high speeds
    • Please note that for performance reasons this option lies on a global condition and cannot be toggled on/off without restarting the server.
  • Fixed some NMS stuff for vehicles in certain versions
  • Fixed checkpoint command throwing an error if the checkpoint area is not selected
  • Fixed incorrect exp bar updates when grace period starts
  • Other minor performance fixes with Scoreboard actions
----------, Sep 23, 2024

  • Added 1.21 support.
----------, Jun 14, 2024

  • Added 1.20.6 support, with some futureproof for future updates so I can (hopefully) update it faster next mc release
  • Some options for Elytra are now false by default.
  • Fixed incorrect firework rocket name in some versions
  • Massive performance improvements for Player Interaction.
If you happen to find any issue please report via Private Message or at Plugin's Discussion page, this is a huge update on the backend.

weird version number, you can blame minecraft for that.
----------, Jun 9, 2024

  • Fixed Elytra not checking the Y checkpoint location correctly.
----------, May 26, 2024

  • Fixed ActionBar not working correctly in 1.20 after the last update.
----------, May 16, 2024

Note: 1.20.5/6 is not supported yet.
  • Added Elytra support, set Options.Elytra.Enabled-Elytra to true to use, there a few options for it
    • Options.Elytra.Give-Fireworks to give players fireworks when the game starts
    • Options.Elytra.Fireworks-Slot the firework slot
    • Options.Elytra.Auto-Renew-Fireworks if enabled, players will keep receiving a new firework every few seconds until they have a stack
    • Options.Elytra.Auto-Renew-Fireworks-Delay, the delay of the task above
    • Options.Elytra.Checkpoint-Margin the checkpoint margin when using Elytra
    • You also have to enable the elytra on the map, you can do that by running /sr setElytra <map> <true/false>
      • Only maps with elytra set to true will give elytra and firework to the player.
  • NMS/ActionBar/Titles optimizations.
Very important! When setting up a arena for Elytra, I'd recommend setting the checkpoints with at least 3 blocks of depth so players won't fly too fast past the checkpoint, not counting it.


Example:
[​IMG]
----------, May 13, 2024

  • You can now toggle the block check per arena.
    • /sr setDisableBlockCheck <arena> <value>
    • If true, the block detection will be ignored, players will be able to walk in any block
    • If false you'll need to add blocks to your arena.
    • This command does not require reload or arena reload, you can use and test on the fly.
    • If no values are present for an arena it will use the default from config at Options.Disable-Block-Check
----------, Mar 28, 2024

  • Added Discord Webhook support, you can now announce the best times on a specific discord chat.
    • At the moment, it is possible to announce a map record, personal record and map reset.
      • If you want more triggers or more options (like change Author and Avatar), let me know.
    • Both %player% and %map% placeholders can be used in Title or Description.
The default config is as follows
Code (Text):
Discord:
  Enable-Web-Hook: 'true'
  Web-Hook-URL: ''
  Announcements:
    Map-Record:
      Title: New Record!
      Description: '%player% just broke the %map% record with a time of %time%!'
      Color: '#00ff00'
      Enabled: 'true'
    Personal-Record:
      Title: New Personal Record!
      Description: '%player% just broke their own %map% record with a time of %time%!'
      Color: '#00ff00'
      Enabled: 'true'
    Map-Reset:
      Title: The map %map% has been reset!
      Description: Jump into a game to set a new time!
      Color: '#ff0000'
      Enabled: 'true'
----------, Feb 26, 2024

  • You can now execute commands per checkpoint.
    • Please read how to do it below.

To add a command to a checkpoint, you'll need the checkpoint ID. The ID system starts from 1, not 0. The first checkpoint has ID=1.

If you are not sure what is the checkpoint ID of the checkpoint you want to add the command, you can use
  • /sr nearbyCheckpoint
This will send you a list of nearby checkpoints in a 15 block area. Get as close as possible of the p1 of your checkpoint and use the command. Or you can just check the coords at your map file and compare.

Now that you have the ID you can just use
  • /sr addCheckpointCommand <game> <ID> <command>
    • The command does not need to have the slash (/)
    • Command has the %player% placeholder.
Done! To load the changes, finish your arena again (/sr finish <game>) and you are set. Please do test your checkpoints to make sure they are executing in the correct place.

It should look like this:
Code (Text):
Checkpoints:
  world: world
  '1':
    p1:
      x: -76.0
      y: 3.0
      z: 31.0
      pitch: 0.0
      yaw: 0.0
    p2:
      x: -69.0
      y: 8.0
      z: 31.0
      pitch: 0.0
      yaw: 0.0
    commands:
    - shout %player% just got checkpoint 1!
    - msg %player% Checkpoint added!
----------, Jan 16, 2024

  • Fixed a issue where vehicles can sometimes not despawn
  • Added a command to change player speed
    • /sr setPlayerSpeed <player> <speed>
      • example: /sr setPlayerSpeed player 0.7
----------, Jan 15, 2024

  • Attempt to fix a problem where its possible to spawn multiple vehicles
  • 1.20.4 stuff
----------, Jan 8, 2024

  • Fixed vehicles would stay in the arena after server shutdown
  • Fixed vehicles not being removed after teleporting
  • Fixed Lava & Water detection in some versions
  • Added a vehicle area system, this allows you to force a player to use a certain vehicle inside a certain location, you can also force to dismount and disable vehicles.
    • There are 3 systems; Boat, Horse and Walk, select the area with /sr cptool and use
      • /sr addHorseArea <arena>
      • /sr addBoatArea <arena>
      • /sr addWalkArea <arena>
    • Inside those areas the player cannot dismount from the vehicle type of the area and cannot mount if the area is walk.
For this to work, check your settings
  • Vehicles.Check-Areas, set to true
Optionally,
  • Options.Mounts-Ignore-Y, true by default, ignores Y (recommended)

It should be very easy to setup, but here's an example
[​IMG]
  • The green area was selected with /cptool for addHorseArea, if the player walks out of this area with the horse, the horse will despawn
    • Same for boat in the blue area
  • If a player is inside the yellow area the mount will also despawn but the player will not be able to use the mount item if the item is enabled
  • Outside of all areas, players can use the mount item, but they will despawn once they go inside the yellow area
Players cannot use mounts outside of the mount area with this option enabled
----------, Dec 21, 2023

  • Fixed players teleporting to global spawn before teleporting to the last location.
  • Fixed some inventory storing issues.
  • Fixed a bug where if music (Jukebox or Noteblock) would break the game ending if the API is not installed
  • Other minor command fixes
----------, Dec 2, 2023

  • Added a option to let players fly through checkpoints, at Options.Can-Fly-Through-Checkpoints
  • Added Win Music option.
    • At Options.Win-Music, if not empty it will play the a song from the songs folder when the game ends
  • Inventory saving system will now also store location, the global spawn will be used for configuration and in case something is wrong with player location.
  • (BETA) Readded the old win system
    • Enable Check all the options at Options.Winner-Spectate-System
    • If a player cross the finish line, a countdown will start until at least X players also finish the race, players who cross the finish line will be put in spectator mode.
    • All record system works with this option
    • A new placeholder can be used on the Scoreboard %timeout_timer%
      • Can be empty, can be used along other placeholders, for example:
        • Your timer: &a%timer% &c%timeout_timer%'
  • Sounds can now be empty to not play anything
  • Updated NoteBlockAPI
  • Heavily optimized some time systems
Please do test the new win system if you are going to use it, only tested with a few players, report bugs via PM or discussion.
----------, Nov 28, 2023

  • Fixed a few commands not checking for correct arguments
  • Added /race command alias
  • Added achievements menu.
    • /speedrun achievements (type)
    • the type is optional, it will filter the achievement type, the types are (not case-sensitive):
      • WINS
      • GAMES
      • DEATHS
      • CHECKPOINTS
    • All items on the menu can be changed to whatever you want.
    • Without the filter the achievement list is sorted by the order in achievements.yml.
[​IMG]
----------, Oct 30, 2023

  • Fixed SQLite tables not being created correctly
----------, Oct 26, 2023

  • Fixed a few internal problems with items and block detection that may lead to Performance Issues.
----------, Aug 28, 2023

  • Fixed incorrect joinfull permission.
  • Fixed a problem where in very rare cases some arenas would try to get null data from the database.
  • Added Game Join Menu /sr joinmenu or /sr gui
    • New options at config to translate & change things from this system
  • Internal Improvements to the Scoreboard.
  • Commands will now tab complete.
  • The Leaderboard system has been recoded. The new system uses a lot less resources.
    • If your leaderboard has more than 10 players make sure to change Leaderboard.Data-Limit to the correct value.
    • The amount of data stored has been reduced from ALL your players to the limit option.
    • The map time leaderboard has no changes, the data limit already applies to this one.
  • The API has been updated with Leaderboard data.
  • PlaceholderAPI offline player placeholders removed.
    • Can't see a use for them and they can use a lot of resources to update.

No extra data or anything is being sent, only received. If you see anything weird with Leaderboard data is just a visual problem.

If you want to do a backup before updating, you can make a copy of your speedrun_player and speedrun_times (or players.db for SQLite) tables.

This sytem was tested with a few players, so report bugs at Discussion or Private message if you find anything.
----------, Jun 25, 2023

You can now enable vehicles in game, set Vehicles.Enable-Vehicles to true in settings.yml. Please report bugs at Discussion ir via Private Message.
  • To add vehicles to your arena, you must use
    • /speedrun setVehicle <arena> <type>
      • Types: Horse, Boat, All
        • All will give the items for both vehicle types
    • To use boats, do not forget to go to your arena.yml, set Check-Water to false and finish the arena to apply the changes.
  • You can customize the vehicle in settings.yml Vehicle section.
  • You can also customize all messages and vehicle names.
[​IMG]
[​IMG]
Fun trick with the boat! You can gain speed and height with the boat if you click the item while looking up, that's was not supposed to happen but it was fun to test so I've added this as a option to the boat, that's the Vehicles.Boat.Boost-When-Looking-Up option.
----------, Jun 9, 2023

  • Added 1.20 support
    • Updated all materials to support 1.20
----------, Jun 8, 2023

  • Fixed map record leaderboard PAPI placeholder
  • Added the following PAPI Placeholders
    • %speedrun_arena_record_POSITION_ARENA%
      • Example: %speedrun_arena_record_1_blocks%
        • Returns the first player on arena blocks
    • %speedrun_leaderboard_checkpoints_POSITION%
    • %speedrun_leaderboard_wins_POSITION%
    • %speedrun_leaderboard_exp_POSITION%
----------, Jun 2, 2023


A quick note that this resource don't really need updates if its a stable release, so unless you want to suggest a feature most of the updates will be material update.
----------, May 13, 2023

  • Small fix to the level system trying to update when not enabled.
----------, Jan 13, 2023

To keep players playing the game, added a Leveling system, you can give custom awards to your players.

Note: System is disabled by default.
If you choose to use this, update the plugin, start and stop the server, set Options.Leveling-System.Enabled to true and start the server again. The plugin needs to update your database and set up the file configuration so you can't use the config and/or reload command to enable this system.

Another important thing is the option Options.Leveling-System.Update-Levels
This will give the players exp according to their status if you don't want the old players to start from 0 while having game wins and such.

Exp can be gained by getting checkpoints, winning and playing the game, you can set the amount of exp for all those methods in settings.

[​IMG]

Also, "rank" and "levels" are the same thing, as you can do both ways it doesn't matter, we are using levels placeholders for constancy.

Levels.yml example:
Code (Text):
Levels:
  Level-1:
    exp: 0
    display-name: "&6Level 1"
    prefix: "&6[1]"
    commands-to-execute: [ ]
    level-up-message: [ ]
  Level-2:
    exp: 10
    display-name: "&6Level 2"
    prefix: "&6[2]"
    commands-to-execute:
      - speedrun coins add %player% 100
    level-up-message:
      - '&7&m--------------&7[&6&lSPEEDRUN&7]&m--------------'
      - ''
      - '&a&lLevel Up &e&l%level%'
      - ''
      - '&9Next level: &b%next_level% &7(%until_next_level%/%next_level_exp% EXP)'
      - ''
      - '&7&m-------------------------------------'
  Level-3:
    exp: 20
    display-name: "&6Level 3"
    prefix: "&6[3]"
    commands-to-execute:
      - speedrun coins add %player% 100
    level-up-message:
      - '&7&m--------------&7[&6&lSPEEDRUN&7]&m--------------'
      - ''
      - '&a&lLevel Up &e&l%level%'
      - ''
      - '&9Next level: &6&lMAXED'
      - ''
      - '&7&m-------------------------------------'
Other changes:
  • Updated HolographicDisplays Placeholder system, make sure to update your HolographicDisplays if your version is using the old Placeholder system.
  • Added Levels Placeholder and Leaderboard.
    • PAPI: %speedrun_exp%, %speedrun_level%
    • HographicDisplays Leaderboard: {speedrun_level_NUMBER}
    • Stats message: %exp%, %level%
  • New Leaderboard message type:
    Leaderboard.Messages.Levels-Format
  • Fixed some Database back-end problems.
----------, Dec 15, 2022

  • Updated XMaterial to 11.2.0 for better 1.18+ material support.
----------, Oct 7, 2022

  • Attempt to fix PAPI sometimes trying to get invalid player data.
----------, Sep 21, 2022

  • Fixed coins command arguments.
  • Fixed some 1.19 blocks not working correctly.
  • Fixed top players Scoreboard Color in some versions.
  • Updated the support for all Materials.
----------, Sep 12, 2022

  • Added Leaderboard placeholders to PlaceholderAPI:
    • %speedrun_arena_record_X_%name%%
      • Example: %speedrun_arena_record_1_Blocks%
----------, Jul 7, 2022

  • Added 1.19 support.
----------, Jun 8, 2022

  • Small bugfix for online player placeholder returning invalid value when using with certain plugins.
    • Code (Text):
      Caused by: java.lang.NullPointerException
              at com.floodeer.speedrun.hook.PlaceholderAPIHook.onRequest(PlaceholderAPIHook.java:86)
              at me.clip.placeholderapi.replacer.CharsReplacer.apply(CharsReplacer.java:161)
              at me.clip.placeholderapi.PlaceholderAPI.setPlaceholders(PlaceholderAPI.java:70)
----------, Jun 6, 2022

  • Added Player Trail Effect (Cosmetic)
    • Permission-based
      • buyPermission: the permission that the player will buy to use the Trail, example: sr.use.redstone
      • permission: permission that the player will need to buy, example: sr.unlock.redstone
      • Note: If you are giving the "use" permission, you will also need to give the "unlock" permission so the Menu will display the item.
    • You can turn off this feature if you don't want to use it;
    • Can be 100% modified in trails.yml;
    • There are 2 types of trails, you can make the particle rotates around the player head by setting rotateParticles to true or just normal particles by setting it to false;
    • Option to turn off particles if player is invisible;
    • Option to turn off particles when player looks up;
    • Option to turn on per-player-particle (you will only see your particle)
    • You can change all inventory and menu via settings.
  • /speedrun reload will now also work to reload the plugin (same as /speedrun config reload)
  • Fixed some typos.

Found a problem? Disable the feature and report via PM or Discussion.

All information about config locations and particles are on plugin's page!
----------, May 12, 2022

  • Follow up to yesterday update, fixes a visual problem with Leaderboard after using the resetMap command.
----------, Apr 11, 2022

  • Added /sr resetMap <Map>
    • Permission: sr.command.resetMap
    • Resets the time record for all players on a specific map. Note that this will not delete the player from the map database (map and player data have separate tables), only reset their time.
  • Added /sr resetPlayer <Player> <Map>
    • Permission: sr.command.resetPlayer
    • Resets the time record for a specific player on a specific map.

Tested to some extent, if you are planning to use the resetMap command I'd recommend you testing on a setting environment first, if you want to make sure, create a backup of your database; for MySQL just backup the speedrun_times table and for SQLite backup the entire file.

EDIT: Got some feedback that everything is working fine, should be good!
----------, Apr 10, 2022

  • Added Hex color code compatibility for all messages and scoreboard.
  • Fixed 1.8 color codes not working correctly in some cases.
----------, Mar 24, 2022

  • Attempt to fix a issue with invalid data being sent
----------, Jan 29, 2022

  • (Requested) Setting global spawn will now also store pitch and yaw.
----------, Jan 17, 2022

  • Fixed pads not working on 1.13+.
  • Fixed BACK_TO_CHECKPOINT CustomAction not working for pads.
  • Fixed pads checking for only "<" limit value and not if also equal, leading for the last pad on file not being detected.
----------, Dec 30, 2021

  • Added MC 1.18 & Java 17 support.
----------, Nov 30, 2021

  • Added a option to change the Hologram refresh rate (settings.yml -> Leaderboard-Refresh-Rate), so you can update time Leaderboard more often
    • Minimum is 0.1 seconds.
Cool feature that was requested for Dragons will work here too!
----------, Nov 9, 2021

  • Added some checks for some events that may be fired before player data is loaded, causing errors, example:
    • Code (Text):
      18.10 14:35:26 [Server] INFO Caused by: java.lang.NullPointerException: Cannot invoke "com.floodeer.speedrun.game.GamePlayer.isInGame()" because "gp" is null
      18.10 14:35:26 [Server] INFO at com.floodeer.speedrun.listener.PlayerEvent.onPickup(PlayerEvent.java:182) ~[?:?]
----------, Oct 20, 2021

  • Updated MCJukebox, update to this version and MCJukebox 2.6.8 if you are having problems.
----------, Oct 3, 2021

  • Changed permission check for Bungee to work correctly with plugins like LuckPerms.
You don't need this update if you are not using Bungee or your Bungee system is working correctly.
----------, Sep 16, 2021

  • Added a permission: speedrun.bungeebypass
    • It will allow a player to join a game server without being added to the game. This permission is set to false by default, meaning that not even ops will have it.
  • Added exp bar level countdown for pre game start.
    • You can also also use exp for %, toggleable option at settings.yml Options.Use-Exp-Bar-Countdown
    • Can be disabled at Options.Use-Level-Bar-Countdown
----------, Aug 9, 2021

  • Added the following Placeholders (PlaceholderAPI):
    • %speedrun_arena_players_{arena}%
    • %speedrun_arena_max_players_{arena}%
    • %speedrun_arena_min_players_{arena}%
    • %speedrun_arena_status_{arena}%
    • %speedrun_arena_music_{arena}%
      • Usage example (DeluxeMenus):
      • [​IMG]
  • To avoid issues with, If a placeholder result is null it will return the value from No-Data setting at settings.yml.
----------, Aug 7, 2021

  • New anti-flicker scoreboard system.
    • Note that 1.8-1.12 has limited characters, as you probably know this is a Minecraft limitation and can't do much about it, if you are using the default config or something similiar this will not impact your Scoreboard.
----------, Jun 27, 2021

  • Added spigot 1.17 & Java 16 support.
    • Will not force you to use Java 16, it should still work on Java 8, but please update to Java 16 as soon as all your plugins can support it.
  • Added PlaceholderAPI support for chat-format.
  • Added a new option to increase scoreboard line length.
    • Default is 48, which is the limit for 1.8-1.12.
    • At Options.Scoreboard-Line-Length-Max
  • Scoreboard changes to prevent flickering.
    • Tested to some extent.
  • Added Auto-Join system
    • /sr join (Don't need to specify an arena to auto join).
    • Will put you in a random map if all pre-game arenas are empty, otherwise will look for a map that has players waiting.
  • Added new messages, make sure to translate if necessary.
    • Messages.Game-Not-Found
  • Config cleanup, removed unused/old options.
  • Code cleanup.
  • Minor bugfixes.
----------, Jun 24, 2021

  • Fixed new leaderboard system would not send data if player never played the map.
  • Fixed first play on a map causing leaderboard errors.
----------, Apr 14, 2021

  • As requested, added a new option to send all game data to leaderboard to calculate the Map Leaderboard.
    • This will send the timer of all players that played a game to the database.
      • If you think its too much data we can add a option to limit this, let me know how it works for you.
    • That means you don't have to beat the Map Record to join the leaderboard.
    • Note that if you have a lot of maps this can be lead to a heavy database. However, it will not impact performance.
    • Option is disabled by default, set it to true at
      Options.Send-All-Data-To-Database.
  • Fixed a visual bug with leaderboard duplicating and showing player's record as map name (<map> - <time>)
    • Added a new message: 'Calculating....' as that can still happen but only for a few seconds while the system is Calculating the Leaderboard.
  • Changed the default leaderboard setting in settings.yml to %formatted_time%.

Recommended to create a backup of your database since this was tested with limited data.


If you like SpeedRun, check Dragon Escape (& Dragons) plugin!
----------, Apr 13, 2021

  • Fixed Terracotta block detection for 1.12 servers.
  • Added a option to toggle off damage events.
    • If set to true, SpeedRun will NOT register anything related to damage event, this means that PvP will be set to your server's default PvP settings.
----------, Apr 5, 2021

  • Fixed a bug where leaderboard tables (MySQL) are not being created.
    • WARNING: Please backup your speedrun_times table before updating if you are having no issues.
  • Fixed a default value in settings causing errors.
----------, Mar 30, 2021

Following 4.0.0, as request, some new features

  • Added %position% scoreboard placeholder, it will show the current player position.
  • Added option to enable or disable PvP and PvE.
  • Added option to give players potion effects at start of the game.
    • Code (Text):
       PotionEffectType : DURATION : LEVEL
      [*]  Potion-Effects:
        - 'REGENERATION : 10000 : 1'
       
    • Duration in seconds
  • Fixed a bug where you can start a game with no players and the game will stop working until server restart.
----------, Mar 28, 2021

  • Added %pos_x% placeholders for Scoreboard, position calculated by score.
    • You can modify this placeholder.
    • Example: %pos_1%
    • This placeholder is limited to another option:
      • Options.Position-Placeholder-Limiter, default is 3, that menas you can only get %pos_1%, %pos_2% and %pos_3%. Increase to enable more placeholders.
Here's a config example
Code (Text):
Scoreboard:
  Game-Title: '&e&lSPEEDRUN'
  Game-Format:
  - ' '
  - 'Your timer: &a%timer%'
  - ' '
  - '1: %pos_1%'
  - '2: %pos_2%'
  - '3: %pos_3%'
  - ' '
  - 'Checkpoints: &b%checkpoints%&r/&a%all_checkpoints%'
  - ' '
  - 'Score: &b%score%'
  - ' '
  - 'Map: &b%mapname%'
  Position-Placeholder: '%player% &7- &b%score%'
[​IMG]

Note that score is not the measure that SpeedRun uses to get the winner of the game, so values may be wrong depending on your map structure.

Score is just the distance between player location and spawn.
----------, Mar 28, 2021

Please read everything before updating! Database has been updated.

Follow up Update HERE (4.3.0)!

  • Implemented a new leaderboard system for records.
    • This system changes the current time (ss:mm) to ss:mm.SSS, meaning we can have milliseconds.
    • This requires cleanup on time leaderboard data, please see below.
  • Added Personal records.
    • Personal records will only work for players that have set a record time on a map before.
      • This can change anytime, let me know if storing all data would be something you want.
    • If you previus run was, let's say, 40s and your next 30s, your data will be updated.
    • Note that this only counts if you win the game.
    • Can be turned off if you don't want to use this sytem.
      • At Options.Update-Personal-Records
  • Other fixes & improvements.

Known issues:
  • Leaderboard hologram has a issue where it will incorrectly display data for some seconds. This is a visual bug and it will fix itself after a data update

Old leaderboard database.

To work with new system, database structure had to be modified, that means you will lose all your leaderboard data for map records.

Player data (wins, games, etc) will not be deleted, those are in a different column, if you want to make sure, please create a backup of your player.db or your MySQL table.



If you don't mind losing any data just delete/clear your database manually.

Please do not modify Database-version at settings.yml.

Will be changing the update to 3.9 and use 3.9.1 to bugfixes, major updates at 4.0 etc.

Please report bugs at discussion or Private Message.
----------, Mar 1, 2021

  • Updated MCJukebox.
  • Updated default song on maps.
Check MCJukebox page on how to get music working https://gist.github.com/Moutard3/b925b090ab1d6d20a5d20f054bae7bca
----------, Jan 13, 2021

  • Added Max-Game-Length option.
    • If the time runs out, the game will end.
    • Set to -1 to disable it.
    • When time runs out, the game will end after the time set in Time After Game option.
  • Added Draw-When-Timeout option for when time runs out.
    • If set to true, game will end with no winners.
    • If set to true, GameEndEvent#getWinner will return null, make sure to double check it.
    • Change the draw message at
      Messages.GameEnd-Draw.
  • Added new scoreboard and actionbar placeholders for Game Length.
    • %game_time%
Snapshot version, please do test this version before updating on your server, if you find any issues, report at discussion or send me a Private Message, this version was not fully tested.

----------, Dec 13, 2020

  • Fixed some 1.16x block detections.
----------, Oct 10, 2020

  • Added 1.16 support.
----------, Jul 1, 2020

  • Fixed a compatibility issue with Citizens.
  • Fixed reward command for 2nd and 3th place.
----------, Jun 18, 2020

  • Added a option to toggle block checking.
    • It'll a normal race system, you will be able to step in any block.
    • At Options.Disable-Block-Check
  • Added a option to toggle off vanish, checkpoint and leave items.
  • Fixed STEP blocks and colored blocks for 1.8.
  • Fixed a lot of config typos, you don't need to, but I'd recomemnd you to delete your current settings file to generate a new one.
  • Fixed IN_GAME state not updating on sign.
  • Updated Material and Sound parser to work with all versions.
  • Reload command will now load from config correctly.
  • Scoreboard optimizations.
----------, Jun 16, 2020

  • Will no longer disable itself if not using java 8.
  • Completely removed WorldEdit from SpeedRun.
    • From now on, use /sr cptool to set checkpoints.
----------, May 26, 2020

  • Changed a small check on Move Event that could lead to massive memory issues.

This version changes some movement checks, not fully tested, please test in your conditions.
----------, Apr 30, 2020

Changes - (Please read everything)
  • SpeedRun was using an old version of the original NoteBlockAPI in its source code, I've decided to update it for the new NoteBlockAPI, using as an API. Download NoteBlockAPI to get the game sound working again.
    • NoteBlockAPI has some cool systems and will work better for us.
    • Will not really change anything in terms of performance of your server to use it since it's only an API, actually should be better since we got cleaner code.
  • With NoteBlockAPI, the sound in-game can now loop.
  • Like in my all other resources, I've decided to shade some dependencies with the plugin to prevent it from getting resources from another API.
  • We're now on version 7.0.0, I think I made some confusion with past versions, sorry! This is the correct version number.
  • Some changes to score system for future updates.
Bugfixes
  • Fixed sr.player permission for join and stats command.
  • Fixed a bug where water isn't working correctly.
  • Fixed a bug where lava and water values are not being correctly loaded.
  • Fixed a bug where some floating bocks (like signs) are being detected.
  • Fixed the spawn point is sometimes moving you out of the center of the checkpoint.
  • Fixed game song (NoteBlock and MCJukebox) still playing even when music is set to false.
  • Fixed block debug on testing mode.
New
  • Added /sr addInventory
    • Will add all blocks from your inventory to the arena config.
    • This will clear your inventory after.
----------, Mar 23, 2020

  • Fixed Ignore-Transparent-Blocks also ignoring AIR in some versions.
  • Fixed some block checks to pre-1.13 versions.
  • Added more water-related blocks to Check Water.
  • Updated dependencies.
----------, Mar 19, 2020

  • Added 1.15 support.
----------, Dec 13, 2019

  • Fixed a database problem that can happen when starting and closing connection.

If you are using SQL or MySQL please consider updating.
----------, Nov 19, 2019

  • Made improvements on leaderboard updates for large databases
  • Added a new option: Storage.Leaderboard-Loading-Delay
    • In ticks (20 ticks = 1 sec)
    • The map leaderboard database will be loaded after this delay.
  • Small block changes (again!).
----------, Oct 26, 2019

  • Fixed some blocks not being correctly detected on 1.8 versions.

If you are experiencing detection glitches with a certain block type please report it on Discussion.
----------, Sep 24, 2019

  • Fixed some blocks not being correctly detected on 1.8 versions.

If you are experiencing detection glitches with a certain block type please report it on Discussion.
----------, Sep 24, 2019

  • Added a option to toggle checkpoint particles.
    • at Options.Enable-Checkpoint-Particles.

----------, Aug 9, 2019

  • Temporary fix to loading issues.
----------, Aug 6, 2019

  • Fixed a bug where creating signs is not working on 1.13 and 1.14.
  • You can now disable WorldEdit dependency in settings, you will be able to use /sr cptool command.
    • Some people are having problems with WorldEdit and other versions of WorldEdit, now you can disable it and use SpeedRun's system.
    • The Checkpoint Tool uses
----------, May 2, 2019

  • Added 1.14 support.
    • Replaced some resources to work from 1.8 up to 1.14.
  • Added java 9/10 support.
    • Not recommended due Reflection performance.
  • Moved project structure for easier updates.
  • Fixed some particles not being correctly displayed.
  • Fixed stop command not recreating the arena.
  • Fixed tons of data loading problems.
    • Code (Text):
      [17:02:18] [Server thread/INFO]: [SpeedRun] SpeedRun finished task loading.
      [17:02:19] [pool-21-thread-1/WARN]: Exception in thread "pool-21-thread-1"
      [17:02:19] [pool-21-thread-2/WARN]: Exception in thread "pool-21-thread-2"
      [17:02:19] [pool-21-thread-1/WARN]: java.lang.NullPointerException
      [17:02:19] [pool-21-thread-1/WARN]:     at com.floodeer.speedrun.game.Game$1.onCall(Game.java:144)
      [17:02:19] [pool-21-thread-1/WARN]:     at com.floodeer.speedrun.game.Game$1.onCall(Game.java:1)
      [17:02:19] [pool-21-thread-1/WARN]:     at com.floodeer.speedrun.storage.DataStorage$9.run(DataStorage.java:484)
      [17:02:19] [pool-21-thread-1/WARN]:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      [17:02:19] [pool-21-thread-1/WARN]:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      [17:02:19] [pool-21-thread-1/WARN]:     at java.lang.Thread.run(Thread.java:748)
      [17:02:19] [pool-21-thread-2/WARN]: java.lang.NullPointerException
      [17:02:19] [pool-21-thread-2/WARN]:     at com.floodeer.speedrun.game.Game$1.onCall(Game.java:144)
      [17:02:19] [pool-21-thread-2/WARN]:     at com.floodeer.speedrun.game.Game$1.onCall(Game.java:1)
      [17:02:19] [pool-21-thread-2/WARN]:     at com.floodeer.speedrun.storage.DataStorage$9.run(DataStorage.java:484)
      [17:02:19] [pool-21-thread-2/WARN]:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      [17:02:19] [pool-21-thread-2/WARN]:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      [17:02:19] [pool-21-thread-2/WARN]:     at java.lang.Thread.run(Thread.java:748)
This update was tested in 1.8, 1.12, 1.13 and 1.14.
----------, Apr 30, 2019

  • A lot of Optimizations for BungeeCord.
  • Improved leaderboard loading.
  • Checking for conditions before starting an unnecessary task to improve performance.
As requested you will be able to have multiple arenas per server, this update will hit soon.
----------, Apr 19, 2019

  • Applied changes on loading to fix arena databases.
----------, Mar 15, 2019

  • This version has a temporary fix to an console error that will happen when arena has problems with their time database.
    • This used to happen when starting the server without any present values in arena's column, should be have a permanent fix soon.
----------, Mar 14, 2019

  • Fixed a bug in time leaderboard causing errors.
----------, Feb 26, 2019

  • You can now disable Speed or Jump effects for all maps.
  • You can now have multiple spawns.
    • You can still have a single spawn.
    • The spawn amount should be the same as the arena max players.
  • Fixed a bug where game is ending with two players if Solo Play is not enabled.
----------, Feb 24, 2019

  • Fixed a error that happens when a player in game left the server.
----------, Feb 7, 2019

Due WorldEdit incompatibility on versions below 1.13 I've added a new selecting system.

You can still use WorldEdit for 1.13. For versions below 1.13 you can use /sr cptool and you will receive a stick that will work the same way as WorldEdit for selecting checkpoint areas.

You DON'T need this update if you are using 1.13 or already have your arenas.
  • Added /sr cptool command to add checkpoints on non-1.13 versions.
    • Requires sr.admin permission.
  • Updated dependencies.
Next update may be a huge one, this should be the stable version for all server versions, worldedit dependency may be full removed soon.
----------, Feb 5, 2019

  • I've changed the respawn priority so plugins like multi verse will not take the respawn over SpeedRun.
    • Also, will be teleporting player after respawn to ensure the correct respawn.
  • Fixed arena edit command not working correctly.
----------, Jan 19, 2019

  • Fixed death and respawn system when fall damage is enabled.
----------, Jan 18, 2019

  • Added a option do enable fall damage (Options.Enable-Fall-Damage).
    • If enabled, you can add extra damage (Options.Extra-Fall-Damage).
This update is WorldEdit beta 4 only, plugin will run with previous version of WorldEdit but you won't be able to create arenas.
----------, Jan 16, 2019

  • Updated WorldEdit to fix 1.13.2 and Beta 4 incompatibility
Seems like WorldEdit 1.13 compatibility is also causing api problems, so if you are not getting errors while adding checkpoints don't download this version, I'll bring back the old selecting system to get rid of WorldEdit soon if necessary.

This version is only working on 1.13.2.
----------, Jan 15, 2019

  • Fixed players being able to connect on the server before arena loads on BungeeCord.
  • Added some preparations for a major BungeeCord update.
This update is for Bungee users only.
----------, Jan 12, 2019

  • Fixed a bug that was preventing player's gamemode from being saved correctly.
----------, Jan 10, 2019

  • Small changes on how players are removed from games and some priority changes.
----------, Jan 9, 2019

  • Fixed Leaderboard Manager not auto-updating data correctly.
  • Updated dependencies. (Internal changes)
----------, Dec 29, 2018

  • This is just a small change to auto dava save system, stable version as 5.7.2.
----------, Dec 18, 2018

  • Fixed Particle support for 1.8.
  • Fixed all server commands being blocked.
----------, Dec 1, 2018

You can read about map records on the last update.

Today's changes aims to some internal changes for offline players, map records and pre-1.13 fixes.
  • Better Callback results for maps.
  • Fixed whitelisted and blacklisted commands system.
    • Yes, it's finally here, sorry about that I didn't even notice that this system wasn't working properly.
  • Internal changes on how map records and offline players are updated.
  • Fixed block data issues on pre-1.13 versions.
----------, Nov 23, 2018

This is another huge update, please read everything below.

Block Detection
Recoded the block detection system. This will have more impact on 1.13, there is also some bugfixes for pre-1.13 servers but 1.13 is cool and we can work with different types of materials and slabs thing that is limited by IDs and Data on pre-1.13 versions.
  • It has a system for Pre-1.13 and above 1.13.
  • This fixes bugs for Slabs, Direcional blocks, colored blocks and a more.
    • Some blocks on pre-1.13 servers may still have some detection issues, this will be fix as time goes.
Map Records
[​IMG]
[​IMG]
  • It only works for MySQL and SQLite databases, YAML is not supported.
  • A new database table will be created "speedrun_times".
  • It works per map-
    • A new table column will be created for every map so the game can track the player record between the maps.
  • The time leaderboard will update and load before every game.
    • This is a safely process.
  • Added a new game ending message if player breaks the map record.
  • Added reward command and coins for time record.
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, if you don't want to use it you can disable on settings file.

General Changes
  • API version set to 1.13-
    • This means that if you are using 1.13 please update your settings file to 1.13 Material values, otherwise you don't have nothing to worry about.
  • You can now use the checkpoint item without having a checkpoint, this will send you back to the map spawn.
  • Added a option to enable the game to be played solo, you can enable this via using the command /sr config set Options.Enable-Solo-Play true or changing this value in config.
Bug fixes
  • Fixed %mapname% placeholder on titles.
  • Minor bug fixes.
----------, Nov 8, 2018

  • Fixed 1.13 scoreboard incompatibilities.
----------, Nov 7, 2018

  • Fixed a spam bug with the last checkpoint.
Known issues:
  • 1.13.2 may broke the scoreboard system (will result in client crash)
  • Incompatibility with chat plugins, disable per-arena-chat for a temp fix.
----------, Nov 3, 2018

This is a code rewrite update, may not be many features but the rework cleaned up the code and will be easier to add features.

We still have some cool features for this update:

General Changes
  • Added support for MVdWPlaceholderAPI.
  • You can now modify offline player data.
  • You can now fully modify the Scoreboard.
  • Changed a lot of game systems to global timing system.
  • Changed the whole command system.
  • Fixed a lot of bugs with block detection.
  • Fixed a lot sound and messages issues.
  • Fixed HolographicDisplays depedency problems.
  • Fixed permissions page.
  • Fixed a bug where songs zip file are not working correctly.
QOL & Improvements
  • Added a broadcast message for when someone hits the checkpoint before winning.
  • Added a option to count 2nd and 3rd place as a loss.
  • Added a option to disable invetory saving.
  • Plugin log cleaned.
  • Plugin tasks shouldn't cause performances issues on main server thread, this means the Timing Tick consumed by speedrun dramatically reduced (Performance improvements overall).
    • SpeedRun uses constant tasks and update events to keep the game working -- part of those are just background tasks and will not cause problems to general plugin or server performance.
Scoreboard Changes
  • All scoreboard lines supports the following placeholders:
    • %timer% - returns the formatted time (mm:ss).
    • %players% - returns all players.
    • %mapname% - returns the map name.
    • %checkpoints% - returns player checkpoints.
    • %all_checkpoints% - returns map total checkpoints.
    • %score% - returns player's score;
  • All scoreboard lines supports the following per-player placeholders:
    • All stats placeholders:
      • %timer%
      • %deaths%
      • %wins%
      • %games_played%
      • %balance%
  • General Lobby Scoreboard placeholders:
    • %players%" - returns the amount of players.
    • %minplayers% - returns the amount of players required to start the game.
    • %maxplayers% - returns the max of players.
    • %timer% - returns the time to start the game.
    • %state% - returns the state (STARTING or WAITING)
    • %capitalize_state% - returns the state but capitalized (Starting or Waiting)
    • %mapname% - returns the map name.
    • Stats placeholders.
  • Spacebars (" ") will be a empty line.
Important
  • Command "/sr setSign" was removed.
  • Command "/sr updatePlayer" was removed.
    • /sr leaderboard have the same function.
  • Permission sr.player was removed.
    • All players now have permission to use join, leave and stats command.
  • Some information has been removed from loading log.
WIP
There's a Cosmetic update ahead, will include custom effects, custom particles and more. I need to finish an update on Wizards which is a Domination minigame with classes if you are interested on this type of Minigame.
----------, Oct 28, 2018

  • Added support to 1.13 WorldEdit versions.
  • Fixed checkpoint particles.
  • Fixed WorldEdit selections.
----------, Sep 30, 2018

  • All particles now have support for 1.8-1.13.
  • Fixed scoreboard problems for 1.13.
  • Added data to player record (available soon), you can access via API for now.
----------, Sep 25, 2018

  • Pre-1.13
    • Changed a lot of things in order to support 1.13.
    • May have some changes for the official release.
  • Fixed a bug preventing players from using certain items.
  • Fixed starting sound not changing.
  • Fixed a lot of sound and music issues.
  • Fixed testing mode.
  • Particle system is now smarter.
    • The particle now have a match system.
    • This change tries to avoid problems with different particles names between versions.
  • Sound system is now smarter.
    • Same as Particle system, sounds also have a match system.
  • Updated ActionBar system.
  • Updated Ref system.
----------, Jul 21, 2018

  • Fixed a loading issue that can happen for some users.
----------, May 5, 2018

Please read everything about this update before updating on your server.
  • Reworked the leaderboard system.
    • Now uses HolographicDisplays.
      • Dropped sign support.
    • Change how data is sent and received.
    • You can set leaderboard update time.
  • Improvements on the online storage system.
  • Improvements on game mechanics.
  • Leaderboard methods re-added to the API.

HolographicDisplays and Data
Now you have the option in settings file Leaderboard.Data-Limit - default is 10 wich means that SpeedRun will get only the top 10 players and after this no placeholder will be registered - so if you want top 20 change the Data-Limit option to 20.

If you are looking for Sign Leaderboard this may be added again but it's not in the to-do list for now, however using the API you can access the leaderboard and create your own system.

API update
New methods
Code (Text):


    /**
     * 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);
Example of usage
Code (Text):

public void using() {
        List<Entry<String, Integer>> checkpointsLB = SpeedRun.getAPI().getCheckpointsLeaderboard();
        if(checkpointsLB.get(0) != null) {
            Integer checkpoints = checkpointsLB.get(0).getValue();
            String name = checkpointsLB.get(0).getKey();  
         
            Bukkit.broadcastMessage(name + " is top 1 with " + checkpoints + " checkpoints.");
        }
    }
 
----------, Mar 29, 2018

  • Updated according resource guidelines.
  • Fixed a bug with settings.yml when you are running SpeedRun for the first time.
----------, Dec 20, 2017

  • Added custom pads.
    • You can add how many pads you want in pads.yml.
    • You can set pads to trap or boost pad.
    • You can add effects, boost players or use custom actions.
      • Custom actions: BACK_TO_SPAWN and BACK_TO_CHECKPOINT
        • BACK_TO_SPAWN will send the player to the arena spawn. This will not reset the checkpoints so you can back to your last checkpoint.
        • BACK_TO_CHECKPOINT will force player to fail, sending back to last checkpoint.
      • To use custom actions you will need to enable traps and disable boosts.
    • See more about effects, sound and blocks on main page.
  • Remove unused things.
  • New sounds in settings are for 1.9 or above, please make sure to change your sounds if you are using 1.8: https://www.spigotmc.org/wiki/cc-sounds-list/

This update was from requests, thank you all for the suggestions.
----------, Dec 11, 2017

  • Updated all depedencies.
  • Fixed several bugs with storage.
  • Fixed internal performance issues.
  • Fixed spectator chat placeholders.
  • Changed some things when plugin is starting.
----------, Nov 22, 2017

RECOMMENDED UPDATE.
  • All data will now be async updated.
    • This fixes performance issues when someone leaves from the server.
    • The automatic update is also asynchronously updated.
  • Removed unnecessary tasks.
  • Fixed block detection issues.
We're on Halloween sale starting now until november 02.
----------, Oct 20, 2017

  • Added CANCELLED message for starting countdown.
  • API & System changes
    • forwardData
      • You can now forward data to servers using the API, this method will able you to send rewards or any data you want between servers..
      • Subchannel is named SpeedRun.
      • Key is any value you want, e.g you can use "winner" to identify that the data is from the winner.
      • I recommend you adding a delay to send data.
    • If you don't like how it works, you can do your own method using the Game Events on API.
Sending data
Code (Text):
@EventHandler
    public void onGameEnd(GameEndEvent e) {
        GamePlayer winner = e.getPlayerFromPosition(1);
        if(SpeedRun.getAPI().forwardPlayerReward(winner.getP(), "ALL", "winner1")) {
            Bukkit.getLogger().info("Data sent.");
        }
    }
Receiving data
Code (Text):
@Override
    public void onPluginMessageReceived(String channel, Player player, byte[] message) {
        if (!channel.equals("BungeeCord")) {
            return;
        }
     
        try{
          DataInputStream in = new DataInputStream(new ByteArrayInputStream(message));
            String subchannel = in.readUTF();
            if (subchannel.equals("SpeedRun")) {
                short len = in.readShort();
                byte[] data = new byte[len];
                in.readFully(data);
                String s = new String(data);
                //player:key/server
                Bukkit.getLogger().info(s);
           
                String playerName = StringUtils.substringBefore(s, ":");
                String key = StringUtils.substringBefore(s, "/").substring(playerName.length()+1);      
                String server =  StringUtils.substringAfter(s, "/");
           
                Bukkit.getLogger().info("Server: " + server);
                Bukkit.getLogger().info("Key: " + key);
                Bukkit.getLogger().info("Player: " + playerName);
            }
        }catch(Exception ex){
            ex.printStackTrace();
        }
    }
----------, Oct 3, 2017

  • [Bungee] Fixed a bug with the motd system.
  • [Bungee] Server spawn is no longer game spawn location, will be the game lobby location.
----------, Sep 29, 2017

  • Fixed game leaving issues.
  • Fixed a loading problem caused by java 8.
  • Removed data switch command.
  • API changes
    • Changed GameMusic to Music interface.
    • Added more informations about API on the class.
    • Added start and stop arguments.
  • Internal changes that will only affect future versions.
  • Updated dependencies
----------, Sep 8, 2017

NEW

  • Added blacklist option.
    • Can be found in settings.yml as Options.Use-Block-Blacklist.
    • If enabled, all blocks added for an arena will be the "death block".
    • All block types (+ water/lava) will be auto-added to the whitelist.
    • If disabled you will have to add blocks like previous versions.
  • Added test-mode.
    • You can enable the arena testing mode using /sr settesting <arena> <true/false>.
    • While testing, you need the permission sr.testmode.join to be able to join.
    • Testing mode will send a message to players with the permission sr.testmode.debug with game informations.
Bugfixes & changes.
  • Fixed config command not reloading the settings.yml file.
  • Fixed a bug that allows you to play solo.
    • You will able to play solo with testing-mode enabled.
  • Fixed a bug that allows player to walk during the "grace-period".
  • Fixed particle and packet sending for versions 1.8.x.
  • A lot of game/system improves were made, including data sending and loading, lobby and game scoreboard, leaderboards, config changes, nms changes and more!
  • The "grace-period" should teleport the player to the same location Instead of try to block the movement.
  • Removed unsed things from code.
Important
I'm still testing/working some requests:
  • Map-rotation system.
  • Better liquid checking system.
  • Better design for command help page.
  • More and sound for multiple actions.
  • Remove rewards/stats from testing mode.
    • This will take a time to make, our current system can't "handle" or force the status update.
  • If you want to add anything to this list go to Discussion or send me a private message.
----------, Jul 14, 2017

  • Added 1.12 support.
  • Now using some of the java 8 methods - removed java 7 support.
  • Fixed ActionBar for 1.9-1.11.2.
New features and bugfixes are still in-progress.
----------, Jun 16, 2017

  • Fixed particle bugs for 1.8.
  • Fixed note block music for 1.8, check your arena.yml.
  • Re-added sr edit commands.
  • Added a option to add liquid blocks to arenas (arena.yml will be updated with the new option).
----------, May 17, 2017

I've changed the particle method due some issues with 1.11.2. Please update your settings.yml before updating.

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
You can found all the new particles name for settings.yml in main page.
----------, Apr 10, 2017

  • Updated MCJukebox support.
  • Bugfixes.
  • API updated.
----------, Mar 13, 2017

  • Added sr.joinfull permission, allow you to join in full games.
  • Fixed a issue with leavers.
  • Small bugfixes.
  • You can leave a reward command empty (with []) to ignore it or just disable all rewards in config.
----------, Feb 18, 2017

  • Fixed config resetting to default.
    • Tested, but let me know if still not working.
My workspace crashed and caused some plugin issues, idk how but it's everything fixed.
----------, Jan 18, 2017

  • Fixed 'songs.zip' not embedded in jar file.
----------, Jan 15, 2017

SpeedRun - Big update
Update highlights
  • Added SQLite support.
  • Recoded the Storage System.
  • A lot of bugfixes.
  • API reworked.
  • Grace-Time system.
Added

  • Added custom MOTD system for BungeeCord.
  • Added %state% and %capitalize_state% for Lobby Scoreboard:
    • %capitalize_state% return the Game state -> Waiting
    • %state% returns the Game state -> WAITING
  • Added SQLite support.
    • Recoded storage sysem.
  • Added log while loading storage system.
  • Added a command to made In-game changes.
  • Added a negative coin system, you can remove player money using negative numbers.
  • Added a Checkpoint-Velocity-Booster option.
  • Added Always-Update-Scoreboard option.
    • If enabled will update the scoreboard in every situation.
    • If disabled will "nerf" the "score" line updates, updating only when the player get a checkpoint or die.
  • We're using a new storage system from my newest plugin (that will be realesed soon)! Give some feedback on storage system, not fully tested yet.
  • Added Grace-Time:
    • Gives invisibility for all players and movement is disabled during this period.
  • Added a way to send all yaml data to MySQL or SQLITE:
    • If there's any player online without the permission 'sr.transfer.data' this process will be cancelled. Kick all players from the server before start the process.
    • If you want to work with leaderboards and don't want to lose the player data, just use /sp switch MySQL or /sp switch SQLITE.
    • This process has not fully tested with a full database yet (I don't have a public server to test it), but if didn't work correctly just let me know, you don't wanna lose any data.
    • This cannot be undone for now, there's no arguments to send the data from MySQL or SQLite to another location.
    • If needed, I can made something to get the data between from MySQL/SQLITE and YAML.
    • Remember, you can download or upload a .db file to MySQL.
  • Re-Added leaderboards:
    • Works with MYSQL or SQLITE only.
    • There are two types of leaderboard: Wins, checkpoints.
    • Re-Added a new file to work with sings: leaderboardSigns.yml
    • The system is now supported again.
Replaced/Removed
  • Removed MySQL option:
  • Replaced by StorageType.
    • Storage Types: MYSQL, SQLITE, YAML
    • e.g: StorageType: SQLITE
  • Removed ArenaEditor menu.
    • Not useful.
  • Never tested plugin in 1.7, but if was working, we've dropped the support due compatibility reasons.
  • Removed all Incoming Channels registers from the plugin.
Bugfixes
  • Fixed GamesPlayed something shows 0 in-game stats using MySQL.
  • Fixed GamesPlayed saves with wrong name in MySQL.
  • Fixed BungeeCord mode not sending players back to spawn and stucks the Game-State.
  • If you had negative numbers after the game start count, your server version isn't compatible with the plugin or you're using incorrect names in settings.yml
    • Now we're checking if the number is negative and start the game anyway, but you probally are getting console errors.
    • The plugin was only tested in 1.8 1.9 1.10 1.11 and 1.11.2. If you are using a supported version you can fix this issue yourself: Go to settings.yml and edit the sound names accoding the version, in 1.9 or above the sound name has changed, be sure to check this!
  • Fixed config not saving onDisable.
  • Fixed signs not updating.
  • Fixed players not getting losses.
  • Fixed ParticleEffect not supporting lasted versions, recoded somethings on the class, should be work for any future version.
  • Fixed Rewards for position 2.
  • Fixed Rewards for position 3.
  • Fixed players can join in full games with join command.
  • Fixed players can join in running games with join command.
  • Fixed sign not updating with join command.
Extra info:
Code (Text):
Sound system:
- To set a sound, use {SOUND_NAME}:{PITCH}

Data:
- To send the data from YAML to SQLITE or MYSQL use /sr switch MySQL or /sr switch SQLITE. [(Read more here)]

API:
- To access the new SPAPI use "API api = SpeedRun.getAPI();" or just pick the method "SpeedRun.getAPI().yourmethod".

Config:
- To made in-game changes use /sp config set <path> <value> --> /sp config set Advanced.Restore-Log false

Flickering Scoreboard:
- Can happens somethings if your server don't have a stable TPS, not only because of this but the scoreboard is updated so many times per second.
- I have some plans to fix this, updating the "score" line only when you get a checkpoint or die will fix the problem, it's the solution for now.
- Added a option in settings.yml to enable or disable this (Options.Always-Update-Scoreboard, if enabled will update the scoreboard in every situation), check out and let me know what you think.

Test something new... If you have/you are a developer, you can use Checkpoint-Velocity-Booster to work with Elytra:
- That's easy, use GameStartEvent to give a elytra to the players and enable Map.Check-Y in your arena.yml, the player will be teleported safly to the checkpoint if the Y coordinate is above the Map.Check-Y coordinate.
- I've removed the AIR check (don't wanna change anything, don't worry) if someone want to do something that.
- I was thinking to add this as Game-Mode, but is not the plugin focus.
- If this system works, let me know.

Please don't update the plugin on your server yet! The config has renamed options, new options and more.

The priority of this update was bugfixes & reworks for the future, I'm planning something to work with the time:
Player Record System:
  • For each map your time will be saved on your data, when you breaks your own record you can get rewards!
Map Record System:
  • Player Record, but with global numbers.

We can have this right now due recent system rework, planned for soon.
----------, Jan 13, 2017

  • Fixed internal issues.
Please read the discussion page. :)

Christmas sale: Ends on day 26!
----------, Dec 21, 2016

  • Now fully supports 1.11.
----------, Nov 18, 2016

  • Fixed Starting sign.
  • Fixed leaderboards signs.
  • Sign now is more customizable.
  • Sign system will now be disabled if Bungee is enabled.
----------, Nov 10, 2016

  • Added leaderboards:
    • For MySQL! Our current yaml system don't have support for Leaderboard system, a future update with SQLite is planned.
    • Not customizable at all; You can't use color codes for now, this feature is planned with SQLite release.
    • We can have Fails, gamesplayed, balance... leaderboards, let me know if you want.
  • Added leaderboard update commands (speedrun.admin).
  • Added leaderboardSigns.yml file.
  • Fixed setspawn help message.
Not fully tested, everything works on my Splegg plugin (same system), report bugs at discussion.
----------, Nov 9, 2016

  • Removed some unused files.
  • Removed sign update task if BungeeCord is enabled.
  • Removed unused tasks.
  • Planning a Leaderboard system, performance boost on this update will be useful for the next one.
    • You can see how Leaderboards will work on my Splegg minigame.
    • Leaderboards coming on the next release.
The lasted version is stable, you don't need to update if you don't want.
----------, Nov 5, 2016

  • Fixed a bug with data update, player data will need to be fully loaded to be updated.
  • Fixed internal issues.
----------, Oct 26, 2016

  • Console is able to use start and stop command.
  • Console is able to set min and max players.
  • Fixed a bug with arena speed.
----------, Oct 5, 2016

Not fully tested! Please test before adding.
Bugfixes:
  • Game:
    • When a player leave and the players count is below to the necessary the game will back the countdown again.
    • The scoreboard will update the player count and countdown.
    • We should to have no issues with leavers while game is running.
  • General:
    • Fixed issues with "break countdown".
    • Fixed wrong DATA updating system.
    • Fixed game positions.
    • Fixed wrong particle display for checkpoint.
    • Fixed sign issues.
    • Fixed a bug with lobby scoreboard.
New:
  • Added countdown sound option.
  • Added a option to disable the music system.
  • Added new win system:
    • The game will end after the first winner, the winning system is now by score.
    • You need to have at least 1 checkpoint to be 2 or 3.
    • That new system fix A LOT of issues.
  • The score system is now calculated by spawn distance.
  • Added rewards for 2 and 3 positions.
REMOVED:
  • Removed "restting" game state.
  • Removed %time% for 2 and 3 place.
  • Removed "wait for players finish the game" message.
  • Removed resetting state message.
  • Removed spectator.

The official 2.0 will be to fix issues with this release. Your feedback is very important, report bugs at discussion.

No, you don't need to delete your settings.yml.
----------, Sep 30, 2016

  • Fixed a pre-login issue with BungeeCord support.
    • Fixed a message issue.

25% off!
----------, Sep 20, 2016

  • Fixed winner issues.
    • Remember, only the first place gets a win. (This can be configurable in the future, no reason for now)
    • The winner have to wait at least another two players to complete the map.
  • Fixed internal bugs.
----------, Sep 14, 2016

  • Fixed a bug with whitelisted commands.
----------, Sep 5, 2016

  • Added "no-permission" translation.
  • General bugfixes.
  • Fixed command arguments.
----------, Sep 1, 2016

  • Things not used were deleted.
  • We should be have a delay to load the database when plugin starts.
  • Removed all previous versions (unstable).
  • Added /speedrun (same as /sr) command.
  • Updated some particles to 1.1.0.
  • Fixed default music URL.
  • Added MCJukebox support for arena editor.
----------, Aug 28, 2016

  • Removed all updates since 1.3.
  • Fixed MCJukebox.
----------, Aug 27, 2016

  • Fixed movement issues (again).
----------, Aug 27, 2016

  • Fixed movement issue.
    • You cannot get score if you're allowed to flight.
----------, Aug 27, 2016

  • Fixed win fireworks setting.
  • Fixed a issue with MCJukebox.
  • MySQL performance improves.
  • API Changes:
    • Added GameMusic class to the API.
    • Fixed smal issues.
----------, Aug 27, 2016

Bugfixes & Improves:

  • [Bugfix] Fixed game ending issues.
  • [Bugfix] Fixed internal issues.
  • [Bugfix] Fixed all permissions.
  • [Improves] Added a delay to give your lobby items.
  • [Improves] General performance boost.
New:
  • Added MCJukebox support!
    • Yes, you can hear your own music with MCJukebox, you need to enable MCJukebox support in config.
    • You can edit the music in your arena config:
    • Code (Text):
        MCJukebox-Music-URL: https://clyp.it/kxfoib2i.mp3
        Music-Name: Final Boss
        Music-Artist: Nitro Fun
  • Added MCJukebox options in config.
You cannot modify MCJukebox music via the arena GUI editor, but you can edit in the file and reload the game with /sr finish <arena>.
----------, Aug 26, 2016

  • Sign bugfixes.
  • General system bugfixes.
----------, Aug 24, 2016

  • Fixed sign issues.
  • Fixed wrong permissions.
  • I've decided to back to old sign system, the new system had some problems and was carrying a lot of unnecessary stuff. (Yes, you need to recreate your game signs).
To clarify some issues with Vault: You need a economy plugin installed, like iConomy or Essentials.
----------, Aug 24, 2016

  • Fixed vault support.
  • Fixed Check-Y mode not teleporting to the checkpoint.
----------, Aug 23, 2016

Resource Information
Author:
----------
Total Downloads: 186
First Release: Aug 17, 2016
Last Update: Jan 19, 2025
Category: ---------------
All-Time Rating:
14 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings