From 35a2a4d803f700b20a75861a1f898bdb0ea1e99e Mon Sep 17 00:00:00 2001 From: md678685 Date: Thu, 6 Dec 2018 17:41:32 +0000 Subject: [PATCH] Add several version warning messages --- .../com/earth2me/essentials/Essentials.java | 4 ++ .../commands/Commandessentials.java | 57 ++++++++++++++++--- .../essentials/utils/VersionUtil.java | 7 +-- Essentials/src/messages.properties | 6 ++ Essentials/src/messages_en.properties | 1 + 5 files changed, 62 insertions(+), 13 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/Essentials.java b/Essentials/src/com/earth2me/essentials/Essentials.java index e8b4dd2da..88568f360 100644 --- a/Essentials/src/com/earth2me/essentials/Essentials.java +++ b/Essentials/src/com/earth2me/essentials/Essentials.java @@ -172,6 +172,10 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials { Console.setInstance(this); + if (!VersionUtil.isServerSupported()) { + getLogger().severe(tl("serverUnsupported")); + } + final PluginManager pm = getServer().getPluginManager(); for (Plugin plugin : pm.getPlugins()) { if (plugin.getDescription().getName().startsWith("Essentials") && !plugin.getDescription().getVersion().equals(this.getDescription().getVersion()) && !plugin.getDescription().getName().equals("EssentialsAntiCheat")) { diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandessentials.java b/Essentials/src/com/earth2me/essentials/commands/Commandessentials.java index 433ac7e79..8ffac3d58 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandessentials.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandessentials.java @@ -8,6 +8,7 @@ import com.earth2me.essentials.metrics.Metrics; import com.earth2me.essentials.utils.DateUtil; import com.earth2me.essentials.utils.FloatUtil; import com.earth2me.essentials.utils.NumberUtil; +import com.earth2me.essentials.utils.VersionUtil; import com.google.common.base.Charsets; import com.google.common.collect.Lists; import org.bukkit.Material; @@ -36,7 +37,22 @@ public class Commandessentials extends EssentialsCommand { private final List versionPlugins = Arrays.asList( "Vault", "LuckPerms", - "PermissionsEx" + "PermissionsEx", + "GroupManager" + ); + + private final List officialPlugins = Arrays.asList( + "EssentialsAntiBuild", + "EssentialsChat", + "EssentialsGeoIP", + "EssentialsProtect", + "EssentialsSpawn", + "EssentialsXMPP" + ); + + private final List warnPlugins = Arrays.asList( + "PermissionsEx", + "GroupManager" ); @Override @@ -318,11 +334,13 @@ public class Commandessentials extends EssentialsCommand { boolean isMismatched = false; boolean isVaultInstalled = false; + boolean isUnsupported = false; + final boolean isServerSupported = VersionUtil.isServerSupported(); final PluginManager pm = server.getPluginManager(); final String essVer = pm.getPlugin("Essentials").getDescription().getVersion(); - sender.sendMessage("Server version: " + server.getBukkitVersion() + " " + server.getVersion()); - sender.sendMessage("EssentialsX version: " + essVer); + sender.sendMessage(tl(isServerSupported ? "versionOutputFine" : "versionOutputWarn", "Server", server.getBukkitVersion() + " " + server.getVersion())); + sender.sendMessage(tl("versionOutputFine", "EssentialsX", essVer)); for (Plugin plugin : pm.getPlugins()) { final PluginDescriptionFile desc = plugin.getDescription(); @@ -330,15 +348,28 @@ public class Commandessentials extends EssentialsCommand { String version = desc.getVersion(); if (name.startsWith("Essentials") && !name.equalsIgnoreCase("Essentials")) { - if (!version.equalsIgnoreCase(essVer)) { - version = "\u00a7c" + version; - isMismatched = true; + if (officialPlugins.contains(name)) { + name = name.replace("Essentials", "EssentialsX"); + + if (!version.equalsIgnoreCase(essVer)) { + isMismatched = true; + sender.sendMessage(tl("versionOutputWarn", name, version)); + } else { + sender.sendMessage(tl("versionOutputFine", name, version)); + } + } else { + sender.sendMessage(tl("versionOutputUnsupported", name, version)); + isUnsupported = true; } - sender.sendMessage(name.replace("Essentials", "EssentialsX") + " version: " + version); } if (versionPlugins.contains(name)) { - sender.sendMessage(name + " version: " + version); + if (warnPlugins.contains(name)) { + sender.sendMessage(tl("versionOutputUnsupported", name, version)); + isUnsupported = true; + } else { + sender.sendMessage(tl("versionOutputFine", name, version)); + } } if (name.equals("Vault")) isVaultInstalled = true; @@ -349,7 +380,15 @@ public class Commandessentials extends EssentialsCommand { } if (!isVaultInstalled) { - sender.sendMessage("Vault is not installed - chat and permissions may not work."); + sender.sendMessage(tl("versionOutputVaultMissing")); + } + + if (isUnsupported) { + sender.sendMessage(tl("versionOutputUnsupportedPlugins")); + } + + if (!VersionUtil.isServerSupported()) { + sender.sendMessage(tl("serverUnsupported")); } } diff --git a/Essentials/src/com/earth2me/essentials/utils/VersionUtil.java b/Essentials/src/com/earth2me/essentials/utils/VersionUtil.java index 77f1cd073..a70c0e08e 100644 --- a/Essentials/src/com/earth2me/essentials/utils/VersionUtil.java +++ b/Essentials/src/com/earth2me/essentials/utils/VersionUtil.java @@ -9,7 +9,6 @@ import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; -//1.13.1-R0.1-SNAPSHOT public class VersionUtil { public static final BukkitVersion v1_8_8_R01 = BukkitVersion.fromString("1.8.8-R0.1-SNAPSHOT"); @@ -22,11 +21,11 @@ public class VersionUtil { private static final Set supportedVersions = ImmutableSet.of(v1_8_8_R01, v1_9_4_R01, v1_10_2_R01, v1_11_2_R01, v1_12_2_R01, v1_13_2_R01); - public static final BukkitVersion getServerBukkitVersion() { + public static BukkitVersion getServerBukkitVersion() { return BukkitVersion.fromString(Bukkit.getServer().getBukkitVersion()); } - public static final boolean isServerSupported() { + public static boolean isServerSupported() { return supportedVersions.contains(getServerBukkitVersion()); } @@ -45,7 +44,7 @@ public class VersionUtil { if (!Bukkit.getName().equals("Essentials Fake Server")) { throw new IllegalArgumentException(string + " is not in valid version format. e.g. 1.8.8-R0.1"); } - matcher = VERSION_PATTERN.matcher(v1_8_8_R01.toString()); + matcher = VERSION_PATTERN.matcher(v1_13_2_R01.toString()); Preconditions.checkArgument(matcher.matches(), string + " is not in valid version format. e.g. 1.8.8-R0.1"); } return new BukkitVersion(Integer.parseInt(matcher.group(1)), Integer.parseInt(matcher.group(2)), Integer.parseInt(matcher.group(3)), Double.parseDouble(matcher.group(4))); diff --git a/Essentials/src/messages.properties b/Essentials/src/messages.properties index 8a5533dc6..3c8d11f21 100644 --- a/Essentials/src/messages.properties +++ b/Essentials/src/messages.properties @@ -467,6 +467,7 @@ sellBulkPermission=\u00a76You do not have permission to bulk sell. sellHandPermission=\u00a76You do not have permission to hand sell. serverFull=Server is full\! serverTotal=\u00a76Server Total\:\u00a7c {0} +serverUnsupported=\u00a7cYou are running an unsupported server version! setBal=\u00a7aYour balance was set to {0}. setBalOthers=\u00a7aYou set {0}\u00a7a''s balance to {1}. setSpawner=\u00a76Changed spawner type to\u00a7c {0}\u00a76. @@ -569,6 +570,11 @@ userUnknown=\u00a74Warning\: The user ''\u00a7c{0}\u00a74'' has never joined thi usingTempFolderForTesting=Using temp folder for testing\: vanish=\u00a76Vanish for {0}\u00a76\: {1} vanished=\u00a76You are now completely invisible to normal users, and hidden from in-game commands. +versionOutputVaultMissing=\u00a74Vault is not installed. Chat and permissions may not work. +versionOutputFine=\u00a76{0} version: \u00a7a{1} +versionOutputWarn=\u00a76{0} version: \u00a7c{1} +versionOutputUnsupported=\u00a7d{0} \u00a76version: \u00a7d{1} +versionOutputUnsupportedPlugins=\u00a76You are running \u00a7dunsupported plugins\u00a76! versionMismatch=\u00a74Version mismatch\! Please update {0} to the same version. versionMismatchAll=\u00a74Version mismatch\! Please update all Essentials jars to the same version. voiceSilenced=\u00a76Your voice has been silenced\! diff --git a/Essentials/src/messages_en.properties b/Essentials/src/messages_en.properties index 77a2f0b77..22197d30b 100644 --- a/Essentials/src/messages_en.properties +++ b/Essentials/src/messages_en.properties @@ -467,6 +467,7 @@ sellBulkPermission=\u00a76You do not have permission to bulk sell. sellHandPermission=\u00a76You do not have permission to hand sell. serverFull=Server is full\! serverTotal=\u00a76Server Total\:\u00a7c {0} +serverUnsupported=\u00a76You are running an \u00a74unsupported server version\u00a76. setBal=\u00a7aYour balance was set to {0}. setBalOthers=\u00a7aYou set {0}\u00a7a''s balance to {1}. setSpawner=\u00a76Changed spawner type to\u00a7c {0}\u00a76.