From 9a7d3ca360a2656f2c1ec3efdb9845e419687629 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Mon, 27 Mar 2023 14:23:55 +0200 Subject: [PATCH] Implements #5 and stuff 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. --- README.md | 1 + .../java/net/knarcraft/dropper/Dropper.java | 14 +++- .../knarcraft/dropper/arena/DropperArena.java | 13 ++-- .../arena/DropperArenaPlayerRegistry.java | 2 +- .../dropper/arena/DropperArenaSession.java | 37 +++++----- .../dropper/arena/PlayerEntryState.java | 71 +++++++++++++++++++ .../dropper/command/JoinArenaCommand.java | 35 ++++++--- .../dropper/command/LeaveArenaCommand.java | 2 +- .../dropper/listener/CommandListener.java | 46 ++++++++++++ .../dropper/listener/PlayerLeaveListener.java | 4 +- .../dropper/property/ArenaGameMode.java | 1 - .../dropper/util/ArenaStorageHelper.java | 20 +++++- .../dropper/util/PlayerTeleporter.java | 15 ++-- 13 files changed, 211 insertions(+), 50 deletions(-) create mode 100644 src/main/java/net/knarcraft/dropper/arena/PlayerEntryState.java create mode 100644 src/main/java/net/knarcraft/dropper/listener/CommandListener.java diff --git a/README.md b/README.md index e764f2b..8d8b72e 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ To modify | /droppercreate | \ | Creates a new dropper arena with the given name | | /dropperremove | \ | Removes the specified dropper arena | | [/dropperedit](#dropperedit) | \ \