From dd40235306af82bd78aa4cf8caa661243edf038b Mon Sep 17 00:00:00 2001 From: OmerBenGera Date: Sat, 1 Jan 2022 20:57:14 +0200 Subject: [PATCH] Added support for PlayersContainer in the API --- .../api/handlers/PlayersManager.java | 6 +++ .../player/container/PlayersContainer.java | 46 +++++++++++++++++++ .../player/PlayersHandler.java | 7 ++- .../container/DefaultPlayersContainer.java | 1 + .../player/container/PlayersContainer.java | 23 ---------- 5 files changed, 59 insertions(+), 24 deletions(-) create mode 100644 API/src/main/java/com/bgsoftware/superiorskyblock/api/player/container/PlayersContainer.java delete mode 100644 src/main/java/com/bgsoftware/superiorskyblock/player/container/PlayersContainer.java diff --git a/API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/PlayersManager.java b/API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/PlayersManager.java index 070c47433..1d34ccec1 100644 --- a/API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/PlayersManager.java +++ b/API/src/main/java/com/bgsoftware/superiorskyblock/api/handlers/PlayersManager.java @@ -1,6 +1,7 @@ package com.bgsoftware.superiorskyblock.api.handlers; import com.bgsoftware.superiorskyblock.api.island.PlayerRole; +import com.bgsoftware.superiorskyblock.api.player.container.PlayersContainer; import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer; import org.bukkit.entity.Player; @@ -110,4 +111,9 @@ public interface PlayersManager { @Deprecated List getRoles(); + /** + * Get the players container. + */ + PlayersContainer getPlayersContainer(); + } diff --git a/API/src/main/java/com/bgsoftware/superiorskyblock/api/player/container/PlayersContainer.java b/API/src/main/java/com/bgsoftware/superiorskyblock/api/player/container/PlayersContainer.java new file mode 100644 index 000000000..2d13f7795 --- /dev/null +++ b/API/src/main/java/com/bgsoftware/superiorskyblock/api/player/container/PlayersContainer.java @@ -0,0 +1,46 @@ +package com.bgsoftware.superiorskyblock.api.player.container; + +import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer; + +import javax.annotation.Nullable; +import java.util.List; +import java.util.UUID; + +public interface PlayersContainer { + + /** + * Get a player by its name. + * + * @param name The name of the player. + */ + @Nullable + SuperiorPlayer getSuperiorPlayer(String name); + + /** + * Get a player by its uuid. + * + * @param uuid The uuid of the player. + */ + @Nullable + SuperiorPlayer getSuperiorPlayer(UUID uuid); + + /** + * Get all the players. + */ + List getAllPlayers(); + + /** + * Add a player to the container. + * + * @param superiorPlayer The player to add. + */ + void addPlayer(SuperiorPlayer superiorPlayer); + + /** + * Remove a player from the container. + * + * @param superiorPlayer The player to remove. + */ + void removePlayer(SuperiorPlayer superiorPlayer); + +} diff --git a/src/main/java/com/bgsoftware/superiorskyblock/player/PlayersHandler.java b/src/main/java/com/bgsoftware/superiorskyblock/player/PlayersHandler.java index 70d86a244..738a41706 100644 --- a/src/main/java/com/bgsoftware/superiorskyblock/player/PlayersHandler.java +++ b/src/main/java/com/bgsoftware/superiorskyblock/player/PlayersHandler.java @@ -8,7 +8,7 @@ import com.bgsoftware.superiorskyblock.database.DatabaseResult; import com.bgsoftware.superiorskyblock.database.bridge.PlayersDatabaseBridge; import com.bgsoftware.superiorskyblock.handler.AbstractHandler; -import com.bgsoftware.superiorskyblock.player.container.PlayersContainer; +import com.bgsoftware.superiorskyblock.api.player.container.PlayersContainer; import com.google.common.base.Preconditions; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; @@ -114,6 +114,11 @@ public List getRoles() { return plugin.getRoles().getRoles(); } + @Override + public PlayersContainer getPlayersContainer() { + return this.playersContainer; + } + public SuperiorPlayer getSuperiorPlayer(CommandSender commandSender) { return getSuperiorPlayer((Player) commandSender); } diff --git a/src/main/java/com/bgsoftware/superiorskyblock/player/container/DefaultPlayersContainer.java b/src/main/java/com/bgsoftware/superiorskyblock/player/container/DefaultPlayersContainer.java index a0a0c5e8c..40cd2d26e 100644 --- a/src/main/java/com/bgsoftware/superiorskyblock/player/container/DefaultPlayersContainer.java +++ b/src/main/java/com/bgsoftware/superiorskyblock/player/container/DefaultPlayersContainer.java @@ -1,5 +1,6 @@ package com.bgsoftware.superiorskyblock.player.container; +import com.bgsoftware.superiorskyblock.api.player.container.PlayersContainer; import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/com/bgsoftware/superiorskyblock/player/container/PlayersContainer.java b/src/main/java/com/bgsoftware/superiorskyblock/player/container/PlayersContainer.java deleted file mode 100644 index d0dfcde91..000000000 --- a/src/main/java/com/bgsoftware/superiorskyblock/player/container/PlayersContainer.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.bgsoftware.superiorskyblock.player.container; - -import com.bgsoftware.superiorskyblock.api.wrappers.SuperiorPlayer; - -import javax.annotation.Nullable; -import java.util.List; -import java.util.UUID; - -public interface PlayersContainer { - - @Nullable - SuperiorPlayer getSuperiorPlayer(String name); - - @Nullable - SuperiorPlayer getSuperiorPlayer(UUID uuid); - - List getAllPlayers(); - - void addPlayer(SuperiorPlayer superiorPlayer); - - void removePlayer(SuperiorPlayer superiorPlayer); - -}