fix logs and first join message
This commit is contained in:
@ -11,6 +11,7 @@ import lombok.SneakyThrows;
|
||||
import lombok.extern.log4j.Log4j2;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
@ -52,13 +53,13 @@ public class Account {
|
||||
*/
|
||||
private final PlayerColor playerColorProfile;
|
||||
|
||||
public Account(UUID uuid) {
|
||||
public Account(Player player) {
|
||||
//log.info("Loading account for " + uuid);
|
||||
boolean newAccount = false;
|
||||
|
||||
this.uuid = uuid;
|
||||
this.uuid = player.getUniqueId();
|
||||
|
||||
File file = new File(Aetheria.INSTANCE.getDataFolder(), "accounts/" + this.uuid.toString() + ".yml");
|
||||
File file = new File(Aetheria.INSTANCE.getDataFolder(), "accounts/" + this.uuid + ".yml");
|
||||
this.file = file;
|
||||
if (!file.exists()) {
|
||||
newAccount = true;
|
||||
@ -79,7 +80,7 @@ public class Account {
|
||||
log.info("Created new account for " + this.uuid);
|
||||
|
||||
Bukkit.broadcast(Style.getMiniMessage().deserialize(Lang.FIRST_JOIN_MESSAGE.getAsString()
|
||||
.replace("%player%", this.getName())
|
||||
.replace("%player%", player.getName())
|
||||
));
|
||||
|
||||
Aetheria.EXECUTOR.execute(() -> {
|
||||
@ -87,7 +88,7 @@ public class Account {
|
||||
DiscordWebhook discordWebhook = new DiscordWebhook(Config.DISCORD_LOG_WEBHOOK.getAsString());
|
||||
DiscordWebhook.EmbedObject embed = new DiscordWebhook.EmbedObject();
|
||||
embed.setTitle("New Player Joined");
|
||||
embed.addField("Name", Bukkit.getOfflinePlayer(uuid).getName(), true);
|
||||
embed.addField("Name", player.getName(), true);
|
||||
embed.addField("UUID", uuid.toString(), true);
|
||||
|
||||
discordWebhook.addEmbed(embed);
|
||||
@ -128,6 +129,15 @@ public class Account {
|
||||
return Bukkit.getPlayer(uuid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the offline player for this account.
|
||||
*
|
||||
* @return the offline player
|
||||
*/
|
||||
public OfflinePlayer getOfflinePlayer() {
|
||||
return Bukkit.getOfflinePlayer(uuid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a message to the player.
|
||||
*
|
||||
|
@ -23,7 +23,7 @@ public class AccountManager extends Manager {
|
||||
|
||||
public AccountManager() {
|
||||
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||
registerAccount(player.getUniqueId());
|
||||
registerAccount(player);
|
||||
}
|
||||
|
||||
Bukkit.getAsyncScheduler().runAtFixedRate(Aetheria.INSTANCE, (task) -> {
|
||||
@ -34,12 +34,13 @@ public class AccountManager extends Manager {
|
||||
/**
|
||||
* Gets the account for the specified player.
|
||||
*
|
||||
* @param uuid the UUID of the player
|
||||
* @param player the player
|
||||
* @return the account
|
||||
*/
|
||||
public static Account getAccount(UUID uuid) {
|
||||
public static Account getAccount(Player player) {
|
||||
UUID uuid = player.getUniqueId();
|
||||
if (!ACCOUNTS.containsKey(uuid)) {
|
||||
return registerAccount(uuid);
|
||||
return registerAccount(player);
|
||||
}
|
||||
return ACCOUNTS.get(uuid);
|
||||
}
|
||||
@ -47,20 +48,21 @@ public class AccountManager extends Manager {
|
||||
/**
|
||||
* Checks if an account is already registered for the specified player.
|
||||
*
|
||||
* @param uuid the UUID of the player
|
||||
* @param player the player
|
||||
* @return true if the account is already registered, false otherwise
|
||||
*/
|
||||
private boolean accountRegistered(UUID uuid) {
|
||||
return ACCOUNTS.containsKey(uuid);
|
||||
private boolean accountRegistered(Player player) {
|
||||
return ACCOUNTS.containsKey(player.getUniqueId());
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers an account for the specified player.
|
||||
*
|
||||
* @param uuid the UUID of the player
|
||||
* @param player the player
|
||||
*/
|
||||
private static Account registerAccount(UUID uuid) {
|
||||
Account account = new Account(uuid);
|
||||
private static Account registerAccount(Player player) {
|
||||
UUID uuid = player.getUniqueId();
|
||||
Account account = new Account(player);
|
||||
ACCOUNTS.put(uuid, account);
|
||||
return account;
|
||||
}
|
||||
@ -79,18 +81,20 @@ public class AccountManager extends Manager {
|
||||
|
||||
@EventHandler
|
||||
public void onJoin(PlayerJoinEvent event) {
|
||||
if (accountRegistered(event.getPlayer().getUniqueId())) { // Account already registered
|
||||
Player player = event.getPlayer();
|
||||
if (accountRegistered(player)) { // Account already registered
|
||||
return;
|
||||
}
|
||||
registerAccount(event.getPlayer().getUniqueId());
|
||||
registerAccount(player);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onQuit(PlayerQuitEvent event) {
|
||||
Account account = getAccount(event.getPlayer().getUniqueId());
|
||||
Player player = event.getPlayer();
|
||||
Account account = getAccount(player);
|
||||
account.save(true);
|
||||
|
||||
ACCOUNTS.remove(event.getPlayer().getUniqueId());
|
||||
ACCOUNTS.remove(player.getUniqueId());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
|
@ -36,7 +36,7 @@ public class ChatManager extends Manager {
|
||||
@EventHandler
|
||||
public void onChat(AsyncChatEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
Account account = AccountManager.getAccount(player.getUniqueId());
|
||||
Account account = AccountManager.getAccount(player);
|
||||
NamedTextColor color = account.getPlayerColorProfile().getColor();
|
||||
BlockReason blockReason = null;
|
||||
|
||||
|
@ -38,7 +38,7 @@ public abstract class Command implements CommandExecutor {
|
||||
}
|
||||
|
||||
Player player = (Player) commandSender;
|
||||
Account account = AccountManager.getAccount(player.getUniqueId());
|
||||
Account account = AccountManager.getAccount(player);
|
||||
this.execute(account, strings);
|
||||
return true;
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ public class PlayerColorManager extends Manager {
|
||||
@EventHandler
|
||||
public void onLogin(PlayerLoginEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
Account account = AccountManager.getAccount(player.getUniqueId());
|
||||
Account account = AccountManager.getAccount(player);
|
||||
PlayerColor playerColor = account.getPlayerColorProfile();
|
||||
|
||||
Team team = PlayerColorManager.getScoreboardTeam(playerColor.getColor());
|
||||
@ -93,7 +93,7 @@ public class PlayerColorManager extends Manager {
|
||||
@EventHandler
|
||||
public void onQuit(PlayerQuitEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
Account account = AccountManager.getAccount(player.getUniqueId());
|
||||
Account account = AccountManager.getAccount(player);
|
||||
PlayerColor playerColor = account.getPlayerColorProfile();
|
||||
|
||||
Team team = PlayerColorManager.getScoreboardTeam(playerColor.getColor());
|
||||
|
Reference in New Issue
Block a user