diff --git a/pom.xml b/pom.xml
index 96db512..f6bcf4d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -112,6 +112,10 @@
placeholderapi
https://repo.extendedclip.com/content/repositories/placeholderapi/
+
+ viaversion-repo
+ https://repo.viaversion.com
+
@@ -160,6 +164,13 @@
7.0.0
compile
+
+
+ com.viaversion
+ viaversion-api
+ 4.9.2
+ provided
+
\ No newline at end of file
diff --git a/src/main/java/cc/fascinated/Aetheria.java b/src/main/java/cc/fascinated/Aetheria.java
index fc52189..22a92c3 100644
--- a/src/main/java/cc/fascinated/Aetheria.java
+++ b/src/main/java/cc/fascinated/Aetheria.java
@@ -4,6 +4,7 @@ import cc.fascinated.account.AccountManager;
import cc.fascinated.chat.ChatManager;
import cc.fascinated.command.CommandManager;
import cc.fascinated.metrics.MetricManager;
+import cc.fascinated.misc.PlayerVersionWarning;
import cc.fascinated.motd.MotdManager;
import cc.fascinated.placeholder.PlaceholderManager;
import cc.fascinated.playercolor.PlayerColorManager;
@@ -44,5 +45,6 @@ public class Aetheria extends JavaPlugin {
new PlayerColorManager();
new ChatManager();
new MotdManager();
+ new PlayerVersionWarning();
}
}
\ No newline at end of file
diff --git a/src/main/java/cc/fascinated/chat/ChatManager.java b/src/main/java/cc/fascinated/chat/ChatManager.java
index c524128..8c5a5b9 100644
--- a/src/main/java/cc/fascinated/chat/ChatManager.java
+++ b/src/main/java/cc/fascinated/chat/ChatManager.java
@@ -31,7 +31,7 @@ public class ChatManager extends Manager {
private final HashMap lastMessage = new HashMap<>();
private final Pattern domainPattern = Pattern.compile("^((?!-)[A-Za-z0-9-]{1,63}(? getAsStringList() {
return (List) get();
}
+
+ public int getAsInt() {
+ return (int) get();
+ }
}
diff --git a/src/main/java/cc/fascinated/misc/PlayerVersionWarning.java b/src/main/java/cc/fascinated/misc/PlayerVersionWarning.java
new file mode 100644
index 0000000..7b508ac
--- /dev/null
+++ b/src/main/java/cc/fascinated/misc/PlayerVersionWarning.java
@@ -0,0 +1,21 @@
+package cc.fascinated.misc;
+
+import cc.fascinated.config.Config;
+import cc.fascinated.utils.Manager;
+import cc.fascinated.utils.Style;
+import com.viaversion.viaversion.api.Via;
+import org.bukkit.entity.Player;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.player.PlayerJoinEvent;
+
+public class PlayerVersionWarning extends Manager {
+
+ @EventHandler
+ public void onPlayerJoin(PlayerJoinEvent event) {
+ Player player = event.getPlayer();
+ int version = Via.getAPI().getPlayerVersion(player.getUniqueId());
+ if (version < Config.VERSION_WARNING_VERSION.getAsInt()) {
+ player.sendMessage(Style.getMiniMessage().deserialize(Config.VERSION_WARNING_MESSAGE.getAsString()));
+ }
+ }
+}
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index 7ef308b..4ea86ef 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -7,6 +7,10 @@ influxdb:
discord:
log-webhook: "https://discord.com/api/webhooks/1223162714822807572/jkqXHdcf4ov7MTC4fxx8MI2rSCoQTHONua8VOJa3ie5OtHBthqd5MGM7WGd7oHF52OOm"
+version-warning:
+ min-version: 763 # 1.20
+ message: "WARNING! You are using an outdated version of Minecraft. Please update to the latest version to avoid any issues."
+
motd:
header: "Aetheria"
format: "%motd%"
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 20273eb..4115d3e 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -5,6 +5,7 @@ api-version: 1.20
author: Fascinated
depend:
- PlaceholderAPI
+ - ViaVersion
commands:
totaljoins:
description: "Shows the total amount of joins"