From 4ca879b08ad3fa067042ef031e89ace32327925e Mon Sep 17 00:00:00 2001 From: Sabrita Date: Mon, 27 Feb 2023 19:10:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=20wecome=20=E6=8F=90?= =?UTF-8?q?=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/config.md | 7 -- samples/NewConfig.yml | 6 - .../authme/process/join/AsynchronousJoin.java | 7 -- .../process/login/ProcessSyncPlayerLogin.java | 7 -- .../settings/WelcomeMessageConfiguration.java | 109 ------------------ .../properties/RegistrationSettings.java | 10 -- src/main/resources/welcome.txt | 3 - 7 files changed, 149 deletions(-) delete mode 100644 src/main/java/fr/xephi/authme/settings/WelcomeMessageConfiguration.java delete mode 100644 src/main/resources/welcome.txt diff --git a/docs/config.md b/docs/config.md index dfe816b8..0818bfad 100644 --- a/docs/config.md +++ b/docs/config.md @@ -304,13 +304,6 @@ settings: forceKickAfterRegister: false # Does AuthMe need to enforce a /login after a successful registration? forceLoginAfterRegister: false - # Enable to display the welcome message (welcome.txt) after a login - # You can use colors in this welcome.txt + some replaced strings: - # {PLAYER}: player name, {ONLINE}: display number of online players, - # {MAXPLAYERS}: display server slots, {IP}: player ip, {LOGINS}: number of players logged, - # {WORLD}: player current world, {SERVER}: server name - # {VERSION}: get current bukkit version, {COUNTRY}: player country - useWelcomeMessage: true # Broadcast the welcome message to the server or only to the player? # set true for server or false for player broadcastWelcomeMessage: false diff --git a/samples/NewConfig.yml b/samples/NewConfig.yml index c0b392c4..08a8d225 100644 --- a/samples/NewConfig.yml +++ b/samples/NewConfig.yml @@ -412,12 +412,6 @@ settings: forceRegisterCommands: [] # Force these commands after /register as a server console, without any '/', use %p for replace with player name forceRegisterCommandsAsConsole: [] - # Do we need to display the welcome message (welcome.txt) after a register or a login? - # You can use colors in this welcome.txt + some replaced strings : - # {PLAYER} : player name, {ONLINE} : display number of online players, {MAXPLAYERS} : display server slots, - # {IP} : player ip, {LOGINS} : number of players logged, {WORLD} : player current world, {SERVER} : server name - # {VERSION} : get current bukkit version, {COUNTRY} : player country - useWelcomeMessage: true # Do we need to broadcast the welcome message to all server or only to the player? set true for server or false for player broadcastWelcomeMessage: false # Do we need to delay the join/leave message to be displayed only when the player is authenticated ? diff --git a/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java b/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java index d5cf1cef..877c137d 100644 --- a/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java +++ b/src/main/java/fr/xephi/authme/process/join/AsynchronousJoin.java @@ -17,7 +17,6 @@ import fr.xephi.authme.service.SessionService; import fr.xephi.authme.service.ValidationService; import fr.xephi.authme.service.bungeecord.BungeeSender; import fr.xephi.authme.service.bungeecord.MessageType; -import fr.xephi.authme.settings.WelcomeMessageConfiguration; import fr.xephi.authme.settings.commandconfig.CommandManager; import fr.xephi.authme.settings.properties.HooksSettings; import fr.xephi.authme.settings.properties.RegistrationSettings; @@ -71,9 +70,6 @@ public class AsynchronousJoin implements AsynchronousProcess { @Inject private ValidationService validationService; - @Inject - private WelcomeMessageConfiguration welcomeMessageConfiguration; - @Inject private SessionService sessionService; @@ -150,9 +146,6 @@ public class AsynchronousJoin implements AsynchronousProcess { return; } } else if (!service.getProperty(RegistrationSettings.FORCE)) { - bukkitService.scheduleSyncTaskFromOptionallyAsyncTask(() -> { - welcomeMessageConfiguration.sendWelcomeMessage(player); - }); // Skip if registration is optional diff --git a/src/main/java/fr/xephi/authme/process/login/ProcessSyncPlayerLogin.java b/src/main/java/fr/xephi/authme/process/login/ProcessSyncPlayerLogin.java index 74946039..132d4144 100644 --- a/src/main/java/fr/xephi/authme/process/login/ProcessSyncPlayerLogin.java +++ b/src/main/java/fr/xephi/authme/process/login/ProcessSyncPlayerLogin.java @@ -14,7 +14,6 @@ import fr.xephi.authme.service.CommonService; import fr.xephi.authme.service.JoinMessageService; import fr.xephi.authme.service.TeleportationService; import fr.xephi.authme.service.bungeecord.BungeeSender; -import fr.xephi.authme.settings.WelcomeMessageConfiguration; import fr.xephi.authme.settings.commandconfig.CommandManager; import fr.xephi.authme.settings.properties.RegistrationSettings; import org.bukkit.entity.Player; @@ -49,9 +48,6 @@ public class ProcessSyncPlayerLogin implements SynchronousProcess { @Inject private CommonService commonService; - @Inject - private WelcomeMessageConfiguration welcomeMessageConfiguration; - @Inject private JoinMessageService joinMessageService; @@ -102,9 +98,6 @@ public class ProcessSyncPlayerLogin implements SynchronousProcess { // The Login event now fires (as intended) after everything is processed bukkitService.callEvent(new LoginEvent(player)); - // Login is done, display welcome message - welcomeMessageConfiguration.sendWelcomeMessage(player); - // Login is now finished; we can force all commands if (isFirstLogin) { commandManager.runCommandsOnFirstLogin(player, authsWithSameIp); diff --git a/src/main/java/fr/xephi/authme/settings/WelcomeMessageConfiguration.java b/src/main/java/fr/xephi/authme/settings/WelcomeMessageConfiguration.java deleted file mode 100644 index 2eb6c0e5..00000000 --- a/src/main/java/fr/xephi/authme/settings/WelcomeMessageConfiguration.java +++ /dev/null @@ -1,109 +0,0 @@ -package fr.xephi.authme.settings; - -import fr.xephi.authme.ConsoleLogger; -import fr.xephi.authme.data.auth.PlayerCache; -import fr.xephi.authme.initialization.DataFolder; -import fr.xephi.authme.initialization.Reloadable; -import fr.xephi.authme.output.ConsoleLoggerFactory; -import fr.xephi.authme.service.BukkitService; -import fr.xephi.authme.service.CommonService; -import fr.xephi.authme.service.GeoIpService; -import fr.xephi.authme.settings.properties.PluginSettings; -import fr.xephi.authme.settings.properties.RegistrationSettings; -import fr.xephi.authme.util.PlayerUtils; -import fr.xephi.authme.util.lazytags.Tag; -import fr.xephi.authme.util.lazytags.TagReplacer; -import org.bukkit.ChatColor; -import org.bukkit.Server; -import org.bukkit.entity.HumanEntity; -import org.bukkit.entity.Player; - -import javax.annotation.PostConstruct; -import javax.inject.Inject; -import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import static fr.xephi.authme.util.lazytags.TagBuilder.createTag; - -/** - * Configuration for the welcome message (welcome.txt). - */ -public class WelcomeMessageConfiguration implements Reloadable { - - private final ConsoleLogger logger = ConsoleLoggerFactory.get(WelcomeMessageConfiguration.class); - - @DataFolder - @Inject - private File pluginFolder; - - @Inject - private Server server; - - @Inject - private GeoIpService geoIpService; - - @Inject - private BukkitService bukkitService; - - @Inject - private PlayerCache playerCache; - - @Inject - private CommonService service; - - /** List of all supported tags for the welcome message. */ - private final List> availableTags = Arrays.asList( - createTag("&", () -> String.valueOf(ChatColor.COLOR_CHAR)), - createTag("{PLAYER}", HumanEntity::getName), - createTag("{DISPLAYNAME}", Player::getDisplayName), - createTag("{DISPLAYNAMENOCOLOR}", Player::getDisplayName), - createTag("{ONLINE}", () -> Integer.toString(bukkitService.getOnlinePlayers().size())), - createTag("{MAXPLAYERS}", () -> Integer.toString(server.getMaxPlayers())), - createTag("{IP}", PlayerUtils::getPlayerIp), - createTag("{LOGINS}", () -> Integer.toString(playerCache.getLogged())), - createTag("{WORLD}", pl -> pl.getWorld().getName()), - createTag("{SERVER}", () -> service.getProperty(PluginSettings.SERVER_NAME)), - createTag("{VERSION}", () -> server.getBukkitVersion()), - createTag("{COUNTRY}", pl -> geoIpService.getCountryName(PlayerUtils.getPlayerIp(pl)))); - - private TagReplacer messageSupplier; - - @PostConstruct - @Override - public void reload() { - if (!(service.getProperty(RegistrationSettings.USE_WELCOME_MESSAGE))) { - return; - } - - List welcomeMessage = new ArrayList<>(); - messageSupplier = TagReplacer.newReplacer(availableTags, welcomeMessage); - } - - /** - * Returns the welcome message for the given player. - * - * @param player the player for whom the welcome message should be prepared - * @return the welcome message - */ - public List getWelcomeMessage(Player player) { - return messageSupplier.getAdaptedMessages(player); - } - - /** - * Sends the welcome message accordingly to the configuration - * - * @param player the player for whom the welcome message should be prepared - */ - public void sendWelcomeMessage(Player player) { - if (service.getProperty(RegistrationSettings.USE_WELCOME_MESSAGE)) { - List welcomeMessage = getWelcomeMessage(player); - if (service.getProperty(RegistrationSettings.BROADCAST_WELCOME_MESSAGE)) { - welcomeMessage.forEach(bukkitService::broadcastMessage); - } else { - welcomeMessage.forEach(player::sendMessage); - } - } - } -} diff --git a/src/main/java/fr/xephi/authme/settings/properties/RegistrationSettings.java b/src/main/java/fr/xephi/authme/settings/properties/RegistrationSettings.java index a2f2d0af..646a8d70 100644 --- a/src/main/java/fr/xephi/authme/settings/properties/RegistrationSettings.java +++ b/src/main/java/fr/xephi/authme/settings/properties/RegistrationSettings.java @@ -56,16 +56,6 @@ public final class RegistrationSettings implements SettingsHolder { public static final Property FORCE_LOGIN_AFTER_REGISTER = newProperty("settings.registration.forceLoginAfterRegister", false); - @Comment({ - "Enable to display the welcome message (welcome.txt) after a login", - "You can use colors in this welcome.txt + some replaced strings:", - "{PLAYER}: player name, {ONLINE}: display number of online players,", - "{MAXPLAYERS}: display server slots, {IP}: player ip, {LOGINS}: number of players logged,", - "{WORLD}: player current world, {SERVER}: server name", - "{VERSION}: get current bukkit version, {COUNTRY}: player country"}) - public static final Property USE_WELCOME_MESSAGE = - newProperty("settings.useWelcomeMessage", true); - @Comment({ "Broadcast the welcome message to the server or only to the player?", "set true for server or false for player"}) diff --git a/src/main/resources/welcome.txt b/src/main/resources/welcome.txt deleted file mode 100644 index 1c49f042..00000000 --- a/src/main/resources/welcome.txt +++ /dev/null @@ -1,3 +0,0 @@ -Welcome {PLAYER} on {SERVER} server - -This server uses AuthMeReloaded protection!