From 43c3edf5c6915bf5f016dc52416a7bbb518847c6 Mon Sep 17 00:00:00 2001 From: mohammed jasem alaajel Date: Sat, 25 Mar 2023 14:22:01 +0400 Subject: [PATCH] new diclaimer message --- .../java/net/limework/gal/utils/Messages.java | 2 +- .../gal/utils/config/Configuration.java | 2 ++ gal-api/src/main/resources/config.json | 10 ++++++++- .../java/net/limework/gal/ConfigLoader.java | 12 +++++++++++ .../net/limework/gal/VelocityGalPlugin.java | 21 ++++++++++++++----- 5 files changed, 40 insertions(+), 7 deletions(-) diff --git a/gal-api/src/main/java/net/limework/gal/utils/Messages.java b/gal-api/src/main/java/net/limework/gal/utils/Messages.java index 3845ea4..3f1bbd3 100644 --- a/gal-api/src/main/java/net/limework/gal/utils/Messages.java +++ b/gal-api/src/main/java/net/limework/gal/utils/Messages.java @@ -3,8 +3,8 @@ package net.limework.gal.utils; /** * @since 1.0.0 * - * @// TODO: 12/14/21 move the messages into A Config file in yaml or json */ +@Deprecated public class Messages { // public final static String FAILED_CONNECTION = """ diff --git a/gal-api/src/main/java/net/limework/gal/utils/config/Configuration.java b/gal-api/src/main/java/net/limework/gal/utils/config/Configuration.java index 37cce8c..673430f 100644 --- a/gal-api/src/main/java/net/limework/gal/utils/config/Configuration.java +++ b/gal-api/src/main/java/net/limework/gal/utils/config/Configuration.java @@ -15,6 +15,8 @@ public interface Configuration { String getOnlineModeDomain(); + String[] getDisclaimerMessage(); + diff --git a/gal-api/src/main/resources/config.json b/gal-api/src/main/resources/config.json index c143ab5..e7e4ec7 100644 --- a/gal-api/src/main/resources/config.json +++ b/gal-api/src/main/resources/config.json @@ -7,5 +7,13 @@ "max-connections": 590, "reset": 10 }, - "online-mode-domain": "p.limework.net" + "online-mode-domain": "p.limework.net", + "disclaimer-message": [ + "§e=======================================", + "§eHi there, welcome to §a§LGovindas Limework", + "§eYou are logged in As Offline player and identified as %player-name%", + "§eif this a mistake please disconnect and connect to", + "§ep.limework.net", + "§e=======================================" + ] } \ No newline at end of file diff --git a/gal-velocity/src/main/java/net/limework/gal/ConfigLoader.java b/gal-velocity/src/main/java/net/limework/gal/ConfigLoader.java index 346c46e..8b7e45e 100644 --- a/gal-velocity/src/main/java/net/limework/gal/ConfigLoader.java +++ b/gal-velocity/src/main/java/net/limework/gal/ConfigLoader.java @@ -8,6 +8,7 @@ import net.limework.gal.utils.config.Configuration; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; +import java.util.ArrayList; import java.util.concurrent.TimeUnit; public class ConfigLoader implements Configuration { @@ -19,6 +20,8 @@ public class ConfigLoader implements Configuration { private final AntiBot antiBot; private final String onlineModeDomain; + private final String[] disclaimerMessage; + public ConfigLoader(File file) throws FileNotFoundException { JsonObject jsonObject = JsonParser.parseReader(new FileReader(file)).getAsJsonObject(); this.crackedChar = (jsonObject.get("default-cracked-char").getAsString().charAt(0)); @@ -28,6 +31,11 @@ public class ConfigLoader implements Configuration { JsonObject antiBotJson = jsonObject.getAsJsonObject("simple-anti-bot"); this.antiBot = new AntiBot(antiBotJson.get("max-connections").getAsInt(), antiBotJson.get("reset").getAsLong(), TimeUnit.MINUTES); this.onlineModeDomain = jsonObject.get("online-mode-domain").getAsString(); + ArrayList message = new ArrayList<>(); + jsonObject.getAsJsonArray("disclaimer-message").forEach((element) -> { + message.add(element.getAsString()); + }); + disclaimerMessage = message.toArray(new String[0]); } @Override @@ -65,4 +73,8 @@ public class ConfigLoader implements Configuration { return this.onlineModeDomain; } + @Override + public String[] getDisclaimerMessage() { + return this.disclaimerMessage; + } } diff --git a/gal-velocity/src/main/java/net/limework/gal/VelocityGalPlugin.java b/gal-velocity/src/main/java/net/limework/gal/VelocityGalPlugin.java index 212cd68..7dec7f8 100644 --- a/gal-velocity/src/main/java/net/limework/gal/VelocityGalPlugin.java +++ b/gal-velocity/src/main/java/net/limework/gal/VelocityGalPlugin.java @@ -1,6 +1,7 @@ package net.limework.gal; import com.google.inject.Inject; +import com.google.inject.internal.Messages; import com.velocitypowered.api.event.PostOrder; import com.velocitypowered.api.event.Subscribe; import com.velocitypowered.api.event.connection.PostLoginEvent; @@ -12,7 +13,8 @@ import com.velocitypowered.api.plugin.annotation.DataDirectory; import com.velocitypowered.api.proxy.ProxyServer; import com.velocitypowered.api.util.GameProfile; import net.kyori.adventure.text.Component; -import net.limework.gal.utils.Messages; +import net.kyori.adventure.text.ComponentBuilder; +import net.kyori.adventure.text.TextComponent; import java.io.File; import java.io.FileNotFoundException; @@ -20,9 +22,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; -import java.util.List; -import java.util.Objects; -import java.util.UUID; +import java.util.*; import java.util.logging.Logger; import static net.limework.gal.utils.PlayerUUIDUtils.*; @@ -94,9 +94,20 @@ public class VelocityGalPlugin { @Subscribe public void onPostLoginEvent(PostLoginEvent event) { if (isCrackedPlayer(event.getPlayer().getUsername(), this.config)) { - event.getPlayer().sendMessage(Component.text(Messages.cracked_disclaimer)); + event.getPlayer().sendMessage(getDisclaimerMessage(event.getPlayer().getUsername())); } } + private Component getDisclaimerMessage(String playerName) { + List messages = Arrays.stream(config.getDisclaimerMessage()).toList(); + Component component = Component.text(""); + for (String message : messages) { + message = message.replace("%player-name%", playerName); + System.out.println(message); + component = component.append(Component.text(message)).append(Component.newline()); + } + return component; + } + public ProxyServer getProxyServer() { return proxyServer; }