diff --git a/src/main/java/cc/fascinated/account/AccountManager.java b/src/main/java/cc/fascinated/account/AccountManager.java index eb24841..4347c03 100644 --- a/src/main/java/cc/fascinated/account/AccountManager.java +++ b/src/main/java/cc/fascinated/account/AccountManager.java @@ -1,19 +1,15 @@ package cc.fascinated.account; import cc.fascinated.Aetheria; -import cc.fascinated.utils.io.Config; import cc.fascinated.utils.Manager; import lombok.extern.log4j.Log4j2; -import lombok.extern.slf4j.Slf4j; import org.bukkit.Bukkit; -import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.server.PluginDisableEvent; -import java.io.File; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -27,7 +23,7 @@ public class AccountManager extends Manager { public AccountManager() { for (Player player : Bukkit.getOnlinePlayers()) { - registerAccount(player); + registerAccount(player.getUniqueId()); } Bukkit.getAsyncScheduler().runAtFixedRate(Aetheria.INSTANCE, (task) -> { @@ -42,17 +38,31 @@ public class AccountManager extends Manager { * @return the account */ public static Account getAccount(UUID uuid) { - return ACCOUNTS.get(uuid); // todo: load account if not found + if (!ACCOUNTS.containsKey(uuid)) { + return registerAccount(uuid); + } + return ACCOUNTS.get(uuid); + } + + /** + * Checks if an account is already registered for the specified player. + * + * @param uuid the UUID of the player + * @return true if the account is already registered, false otherwise + */ + private boolean accountRegistered(UUID uuid) { + return ACCOUNTS.containsKey(uuid); } /** * Registers an account for the specified player. * - * @param player the player to register the account for + * @param uuid the UUID of the player */ - private void registerAccount(Player player) { - Account account = new Account(player.getUniqueId()); - ACCOUNTS.put(player.getUniqueId(), account); + private static Account registerAccount(UUID uuid) { + Account account = new Account(uuid); + ACCOUNTS.put(uuid, account); + return account; } /** @@ -68,9 +78,10 @@ public class AccountManager extends Manager { @EventHandler public void onJoin(PlayerJoinEvent event) { - if (getAccount(event.getPlayer().getUniqueId()) == null) { - registerAccount(event.getPlayer()); + if (accountRegistered(event.getPlayer().getUniqueId())) { // Account already registered + return; } + registerAccount(event.getPlayer().getUniqueId()); } @EventHandler diff --git a/src/main/java/cc/fascinated/account/Profile.java b/src/main/java/cc/fascinated/account/Profile.java index 397f054..bf9cb4e 100644 --- a/src/main/java/cc/fascinated/account/Profile.java +++ b/src/main/java/cc/fascinated/account/Profile.java @@ -1,6 +1,5 @@ package cc.fascinated.account; -import cc.fascinated.account.Account; import cc.fascinated.utils.Manager; import lombok.Getter; import org.bukkit.configuration.ConfigurationSection; diff --git a/src/main/java/cc/fascinated/command/impl/HelpCommand.java b/src/main/java/cc/fascinated/command/impl/HelpCommand.java index 71e28cc..5a3ea55 100644 --- a/src/main/java/cc/fascinated/command/impl/HelpCommand.java +++ b/src/main/java/cc/fascinated/command/impl/HelpCommand.java @@ -3,7 +3,6 @@ package cc.fascinated.command.impl; import cc.fascinated.Aetheria; import cc.fascinated.account.Account; import cc.fascinated.command.Command; -import org.bukkit.command.CommandSender; import java.util.Objects; diff --git a/src/main/java/cc/fascinated/command/impl/TotalJoinsCommand.java b/src/main/java/cc/fascinated/command/impl/TotalJoinsCommand.java index 63b65fa..48159de 100644 --- a/src/main/java/cc/fascinated/command/impl/TotalJoinsCommand.java +++ b/src/main/java/cc/fascinated/command/impl/TotalJoinsCommand.java @@ -4,7 +4,6 @@ import cc.fascinated.Aetheria; import cc.fascinated.account.Account; import cc.fascinated.command.Command; import org.bukkit.Bukkit; -import org.bukkit.command.CommandSender; public class TotalJoinsCommand extends Command { diff --git a/src/main/java/cc/fascinated/metrics/Metric.java b/src/main/java/cc/fascinated/metrics/Metric.java index 22ec3ca..b8b064a 100644 --- a/src/main/java/cc/fascinated/metrics/Metric.java +++ b/src/main/java/cc/fascinated/metrics/Metric.java @@ -1,9 +1,7 @@ package cc.fascinated.metrics; import com.influxdb.client.write.Point; -import lombok.AllArgsConstructor; import lombok.Getter; -import lombok.RequiredArgsConstructor; @Getter public abstract class Metric { diff --git a/src/main/java/cc/fascinated/playercolor/PlayerColor.java b/src/main/java/cc/fascinated/playercolor/PlayerColor.java index 3abb7b7..0c0e961 100644 --- a/src/main/java/cc/fascinated/playercolor/PlayerColor.java +++ b/src/main/java/cc/fascinated/playercolor/PlayerColor.java @@ -2,7 +2,6 @@ package cc.fascinated.playercolor; import cc.fascinated.account.Account; import cc.fascinated.account.Profile; -import cc.fascinated.utils.Manager; import lombok.Getter; import lombok.Setter; import net.kyori.adventure.text.format.NamedTextColor; @@ -15,8 +14,6 @@ import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.scoreboard.Scoreboard; import org.bukkit.scoreboard.Team; -import java.util.List; - @Getter @Setter public class PlayerColor extends Profile { diff --git a/src/main/java/cc/fascinated/playercolor/command/PlayerColorCommand.java b/src/main/java/cc/fascinated/playercolor/command/PlayerColorCommand.java index 2958a78..ce30b3d 100644 --- a/src/main/java/cc/fascinated/playercolor/command/PlayerColorCommand.java +++ b/src/main/java/cc/fascinated/playercolor/command/PlayerColorCommand.java @@ -5,8 +5,6 @@ import cc.fascinated.command.Command; import cc.fascinated.playercolor.PlayerColor; import cc.fascinated.playercolor.PlayerColorManager; import net.kyori.adventure.text.format.NamedTextColor; -import org.bukkit.command.CommandSender; -import org.checkerframework.checker.units.qual.A; import java.util.List; diff --git a/src/main/java/cc/fascinated/worldsize/impl/WorldSizeCommand.java b/src/main/java/cc/fascinated/worldsize/impl/WorldSizeCommand.java index 898d65a..67df47a 100644 --- a/src/main/java/cc/fascinated/worldsize/impl/WorldSizeCommand.java +++ b/src/main/java/cc/fascinated/worldsize/impl/WorldSizeCommand.java @@ -7,7 +7,6 @@ import cc.fascinated.utils.FormatterUtils; import cc.fascinated.utils.TimeUtils; import cc.fascinated.worldsize.WorldSizeManager; import org.bukkit.World; -import org.bukkit.command.CommandSender; import java.util.Map;