add version check and notify user
This commit is contained in:
@ -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();
|
||||
}
|
||||
}
|
@ -31,7 +31,7 @@ public class ChatManager extends Manager {
|
||||
|
||||
private final HashMap<Account, String> lastMessage = new HashMap<>();
|
||||
private final Pattern domainPattern = Pattern.compile("^((?!-)[A-Za-z0-9-]{1,63}(?<!-)\\.)+[A-Za-z]{2,8}$");
|
||||
private final Pattern ipPattern = Pattern.compile("\\b(?:\\d{1,3}\\.){1,3}\\d{1,3}\\b");
|
||||
private final Pattern ipPattern = Pattern.compile("\\b(?:\\d{1,3}\\.){3}\\d{1,3}\\b");
|
||||
|
||||
@EventHandler
|
||||
public void onChat(AsyncChatEvent event) {
|
||||
|
@ -17,7 +17,9 @@ public enum Config {
|
||||
DISCORD_LOG_WEBHOOK("discord.log-webhook"),
|
||||
MOTD_HEADER("motd.header"),
|
||||
MOTD_FORMAT("motd.format"),
|
||||
MOTD_LIST("motd.motds");
|
||||
MOTD_LIST("motd.motds"),
|
||||
VERSION_WARNING_VERSION("version-warning.min-version"),
|
||||
VERSION_WARNING_MESSAGE("version-warning.message");
|
||||
|
||||
/**
|
||||
* The path of the lang in the lang.yml file.
|
||||
@ -70,4 +72,8 @@ public enum Config {
|
||||
public List<String> getAsStringList() {
|
||||
return (List<String>) get();
|
||||
}
|
||||
|
||||
public int getAsInt() {
|
||||
return (int) get();
|
||||
}
|
||||
}
|
||||
|
21
src/main/java/cc/fascinated/misc/PlayerVersionWarning.java
Normal file
21
src/main/java/cc/fascinated/misc/PlayerVersionWarning.java
Normal file
@ -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()));
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user