Skip to content

Instantly share code, notes, and snippets.

@daboross
Last active August 29, 2015 14:06
Show Gist options
  • Save daboross/2ba6a9151ffb8399cd03 to your computer and use it in GitHub Desktop.
Save daboross/2ba6a9151ffb8399cd03 to your computer and use it in GitHub Desktop.
// This method returns whether or not the server supports UUIDs
private boolean supportsUuids() {
String packageName = Bukkit.getServer().getClass().getPackage().getName();
// Get full package string of CraftServer.
// org.bukkit.craftbukkit.versionstring (or for pre-refactor, just org.bukkit.craftbukkit
String version = packageName.substring(packageName.lastIndexOf('.') + 1);
if (version.equals("craftbukkit")) {
return false;
}
String[] split = version.split("_");
if (split.length != 3) {
getLogger().log(Level.SEVERE, "Package version specifier of unknown format found: '" + version + "' - this will prevent PluginName from confirming server version.");
getLogger().log(Level.SEVERE, "Please confirm you are running CraftBukkit version 1.7.8 or newer, or the equivalent for your server software. If you have already done so, you can ignore this message.");
getLogger().log(Level.SEVERE, "Proceed with caution! PluginName will not function on minecraft versions below 1.7.8!");
return true;
}
int first, second, third;
try {
first = Integer.parseInt(split[0].substring(1)); // substring for v1 -> 1
second = Integer.parseInt(split[1]);
third = Integer.parseInt(split[2].substring(1)); // substring for R1 -> 1
} catch (NumberFormatException ignored) {
getLogger().log(Level.SEVERE, "Package version specifier of unknown format found: '" + version + "' - this will prevent PluginName from confirming server version.");
getLogger().log(Level.SEVERE, "Please confirm you are running CraftBukkit version 1.7.8 or newer, or the equivalent for your server software. If you have already done so, you can ignore this message.");
getLogger().log(Level.SEVERE, "Proceed with caution! PluginName will not function on minecraft versions below 1.7.8!");
return true;
}
// if we're on minecraft v2.X, the other version parts don't matter
return first > 1 || second > 7 || (second == 7 && third >= 3);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment