Adds a unique identifier to arenas
Stores frequently updated arena data separately from arena settings
Stores arenas keyed by their id
Prepares for storage of which players have beaten an arena
Uses a player entry state to store and restore a player's state such as game-mode and fly-mode.
Removes the restriction of fly mode and game-mode, and sets all arena players to adventure mode.
Force-quits all sessions when exiting the plugin.
Prevents usage of any commands other than the leave command when playing in an arena.
Makes the type of block players have to hit to win configurable
Separates the velocity option into vertical and horizontal velocities
Reduces some redundancy when getting an arena from an arena name
Partially implements the list command
Tries to improve the handling of players exiting in the middle of a session
Adds missing comments to ArenaStorageKey
Fixes players immediately being thrown out because the spawn teleportation triggered the PlayerLeaveListener
Reduces default velocity from the insane terminal velocity to just 1
Uses UUID instead of player object when storing dropper arena sessions
Prevents players from joining an arena if in creative, spectator mode, or is flying
Implements the leave command to allow leaving the arena
Only counts fall damage as a loss, but still prevents all damage in the arena
Prevents players from dying of fall damage when exiting the dropper arena
Prevents loadArenas from returning null
Removes some finished TODOs
Registers all listeners
Registers all commands
Adds more descriptive TODO comments to each command
Removes unintended double storage of dropper arena sessions in DropperArenaHandler
Adds methods for triggering a win, a loss and a quit
Calls the win, lose and quit methods as necessay in the listeners
Makes DropperArenaHandler store arena sessions and cleared stages
Moves code for keeping track of players to DropperArenaPlayerRegistry
Adds a DropperArenaRecordsRegistry for keeping track of records
Stores playing players as DropperArenaSession to be able to store more metadata
Adds an enum for different arena game-modes
Adds a record result enum for defining which kind of record a player achieved (personal or global)
Adds a helper-class for teleporting a player to and from arenas
Adds storage of currently playing players to DropperArenaHandler
Adds methods for getting, adding and removing arenas to DropperArenaHandler
Adds more annotations in some places
Adds commands and permissions to plugin.yml
Uses the Spigot API instead of the Paper API
Reduces the Java version to 16, just in case.
Adds a lot of empty classes to show the intended plugin structure.