Added first join messages

This commit is contained in:
Teriuihi 2023-06-20 00:35:46 +02:00
parent d8f064e7ca
commit f3c7a312c0
4 changed files with 20 additions and 1 deletions

View File

@ -467,8 +467,10 @@ public final class Config {
}
public static String HELP_REPORT = "<red>/report <message></red>";
public static String FIRST_JOIN = "<green>* Welcome <light_purple><player></light_purple> to Altitude! They've joined for the first time.</green>";
private static void loadMessages() {
HELP_REPORT = getString("settings.mail.mail-sent", HELP_REPORT);
FIRST_JOIN = getString("settings.first-join.message", FIRST_JOIN);
}
public static String EMOTELIST_HEADER = "<bold>Available Chat Emotes</bold><newline>";

View File

@ -74,9 +74,11 @@ public final class ServerConfig {
public boolean GLOBALCHAT = false;
public boolean JOINLEAVEMSSAGES = true;
public boolean MUTED = false;
public boolean FIRST_JOIN_MESSAGES = false;
private void ServerSettings() {
GLOBALCHAT = getBoolean("global-chat-enabled", GLOBALCHAT);
JOINLEAVEMSSAGES = getBoolean("joinleave-messages-enabled", JOINLEAVEMSSAGES);
MUTED = getBoolean("server-muted", MUTED);
FIRST_JOIN_MESSAGES = getBoolean("first-join-messages", FIRST_JOIN_MESSAGES);
}
}

View File

@ -41,7 +41,7 @@ public class ChatPlugin extends JavaPlugin {
chatHandler = new ChatHandler();
DatabaseConnection.initialize();
serverConfig = new ServerConfig(Bukkit.getServerName());
registerListener(new PlayerListener(), new ChatListener(), new BookListener());
registerListener(new PlayerListener(serverConfig), new ChatListener(), new BookListener());
if(serverConfig.GLOBALCHAT) {
registerCommand("globalchat", new GlobalChat());
registerCommand("toggleglobalchat", new ToggleGlobalChat());

View File

@ -1,5 +1,7 @@
package com.alttd.chat.listeners;
import com.alttd.chat.config.Config;
import com.alttd.chat.config.ServerConfig;
import com.alttd.chat.database.Queries;
import com.alttd.chat.managers.ChatUserManager;
import com.alttd.chat.managers.RegexManager;
@ -9,11 +11,14 @@ import com.alttd.chat.objects.Toggleable;
import com.alttd.chat.util.GalaxyUtility;
import com.alttd.chat.util.Utility;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.player.AsyncPlayerPreLoginEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
@ -21,6 +26,12 @@ import java.util.UUID;
public class PlayerListener implements Listener {
private final ServerConfig serverConfig;
public PlayerListener(ServerConfig serverConfig) {
this.serverConfig = serverConfig;
}
@EventHandler
private void onPlayerLogin(PlayerJoinEvent event) {
Player player = event.getPlayer();
@ -30,6 +41,10 @@ public class PlayerListener implements Listener {
ChatUser user = ChatUserManager.getChatUser(uuid);
if(user != null) return;
if (serverConfig.FIRST_JOIN_MESSAGES && !player.hasPlayedBefore()) {
player.getServer().sendMessage(MiniMessage.miniMessage().deserialize(Config.FIRST_JOIN, Placeholder.parsed("player", player.getName())));
}
// user failed to load - create a new one
ChatUser chatUser = new ChatUser(uuid, -1, null);
ChatUserManager.addUser(chatUser);