Send a more helpful message when the non legacy version of LP is installed on Bukkit 1.7 (#437)

This commit is contained in:
Luck 2017-08-18 13:58:41 +02:00
parent c02fcb6508
commit a7ab0c6b36
No known key found for this signature in database
GPG Key ID: EFA9B3EC5FD90F8B

View File

@ -142,6 +142,10 @@ public class LPBukkitPlugin extends JavaPlugin implements LuckPermsPlugin {
@Override
public void onLoad() {
if (checkInvalidVersion()) {
return;
}
// setup minimal functionality in order to load initial dependencies
scheduler = new LPBukkitScheduler(this);
localeManager = new NoopLocaleManager();
@ -153,6 +157,18 @@ public class LPBukkitPlugin extends JavaPlugin implements LuckPermsPlugin {
@Override
public void onEnable() {
if (checkInvalidVersion()) {
getLogger().severe("----------------------------------------------------------------------");
getLogger().severe("Your server version is not compatible with this build of LuckPerms. :(");
getLogger().severe("");
getLogger().severe("If your server is running 1.8, please update to 1.8.8 or higher.");
getLogger().severe("If your server is running 1.7.10, please download the Bukkit-Legacy version of LuckPerms from here:");
getLogger().severe("==> https://ci.lucko.me/job/LuckPerms/");
getLogger().severe("----------------------------------------------------------------------");
getServer().getPluginManager().disablePlugin(this);
return;
}
try {
enable();
started = true;
@ -374,6 +390,10 @@ public class LPBukkitPlugin extends JavaPlugin implements LuckPermsPlugin {
@Override
public void onDisable() {
if (checkInvalidVersion()) {
return;
}
// Switch back to the LP executor, the bukkit one won't allow new tasks
scheduler.setUseBukkitAsync(false);
@ -671,4 +691,13 @@ public class LPBukkitPlugin extends JavaPlugin implements LuckPermsPlugin {
pm.addPermission(new org.bukkit.permissions.Permission(p.getPermission(), def));
}
}
private static boolean checkInvalidVersion() {
try {
Class.forName("com.google.gson.JsonElement");
return false;
} catch (ClassNotFoundException e) {
return true;
}
}
}