blob: 311e6c8ee8967c4918d82f5d63e4fce5c2c52646 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
package net.ess3.bukkit;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static net.ess3.I18n._;
import org.bukkit.plugin.PluginManager;
public class VersionCheck
{
public static final int BUKKIT_VERSION = 2543;
private static final Pattern bukkitVersionPattern = Pattern.compile(
"git-Bukkit-(?:(?:[0-9]+)\\.)+[0-9]+-R[\\.0-9]+-(?:[0-9]+-g[0-9a-f]+-)?b([0-9]+)jnks.*");
public static boolean checkVersion(final org.bukkit.plugin.Plugin plugin)
{
final PluginManager pm = plugin.getServer().getPluginManager();
final String pluginVersion = plugin.getDescription().getVersion();
final Logger log = plugin.getLogger();
for (org.bukkit.plugin.Plugin p : pm.getPlugins())
{
if (p.getDescription().getName().startsWith("Essentials") && !p.getDescription().getVersion().equals(pluginVersion))
{
p.getLogger().log(Level.WARNING, _("versionMismatch", p.getDescription().getName()));
}
}
final Matcher versionMatch = bukkitVersionPattern.matcher(plugin.getServer().getVersion());
if (versionMatch.matches())
{
final int versionNumber = Integer.parseInt(versionMatch.group(1));
if (versionNumber < BUKKIT_VERSION && versionNumber > 100)
{
log.log(Level.SEVERE, _("notRecommendedBukkit"));
log.log(Level.SEVERE, _("requiredBukkit", Integer.toString(BUKKIT_VERSION)));
return false;
}
}
else
{
log.log(Level.INFO, _("bukkitFormatChanged"));
log.log(Level.INFO, plugin.getServer().getVersion());
log.log(Level.INFO, plugin.getServer().getBukkitVersion());
}
return true;
}
}
|