1
0

use custom join messages

This commit is contained in:
Lee
2024-04-01 12:46:15 +01:00
parent 3702bc30c9
commit 66aae8170d
4 changed files with 34 additions and 28 deletions

View File

@ -86,30 +86,32 @@ public class AccountManager extends Manager {
@Override
public void onPlayerJoin(Account account, PlayerJoinEvent event) {
Player player = event.getPlayer();
if (player.hasPlayedBefore()) {
return;
String joinMessage = Lang.JOIN_MESSAGE.getAsString();
if (!player.hasPlayedBefore()) {
joinMessage = Lang.FIRST_JOIN_MESSAGE.getAsString();
// Send a notification to the discord log channel
Aetheria.EXECUTOR.execute(() -> {
// todo: re-code this it's so ugly
DiscordWebhook discordWebhook = new DiscordWebhook(Config.DISCORD_LOG_WEBHOOK.getAsString());
DiscordWebhook.EmbedObject embed = new DiscordWebhook.EmbedObject();
embed.setTitle("New Player Joined");
embed.addField("Name", player.getName(), true);
embed.addField("UUID", player.getUniqueId().toString(), true);
discordWebhook.addEmbed(embed);
try {
discordWebhook.execute();
} catch (IOException e) {
throw new RuntimeException(e);
}
});
}
event.joinMessage(null); // Remove the join message so we can send our own
Bukkit.broadcast(Style.getMiniMessage().deserialize(Lang.FIRST_JOIN_MESSAGE.getAsString()
event.joinMessage(Style.getMiniMessage().deserialize(joinMessage
.replace("%player%", player.getName())
.replace("player-color", account.getPlayerColorProfile().getColor().toString())
));
Aetheria.EXECUTOR.execute(() -> {
// todo: re-code this it's so ugly
DiscordWebhook discordWebhook = new DiscordWebhook(Config.DISCORD_LOG_WEBHOOK.getAsString());
DiscordWebhook.EmbedObject embed = new DiscordWebhook.EmbedObject();
embed.setTitle("New Player Joined");
embed.addField("Name", player.getName(), true);
embed.addField("UUID", player.getUniqueId().toString(), true);
discordWebhook.addEmbed(embed);
try {
discordWebhook.execute();
} catch (IOException e) {
throw new RuntimeException(e);
}
});
}
@Override
@ -123,9 +125,13 @@ public class AccountManager extends Manager {
@Override
public void onPlayerQuit(Account account, PlayerQuitEvent event) {
account.save(true);
account.save(true); // Save the account
ACCOUNTS.remove(account.getUuid());
event.quitMessage(Style.getMiniMessage().deserialize(Lang.QUIT_MESSAGE.getAsString()
.replace("%player%", event.getPlayer().getName())
.replace("player-color", account.getPlayerColorProfile().getColor().toString())
));
}
@Override