1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00

Fix NPE on loading without CS-CoreLib

This commit is contained in:
SoSeDiK 2019-09-30 19:20:08 +03:00
parent 0a540aa16a
commit f45c40e103
2 changed files with 42 additions and 45 deletions

View File

@ -11,7 +11,6 @@ import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
import java.net.URLConnection; import java.net.URLConnection;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
@ -19,8 +18,6 @@ import com.google.gson.JsonArray;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.JsonParser; import com.google.gson.JsonParser;
import me.mrCookieSlime.Slimefun.api.Slimefun;
public class CSCoreLibLoader { public class CSCoreLibLoader {
private Plugin plugin; private Plugin plugin;
@ -37,24 +34,24 @@ public class CSCoreLibLoader {
} }
} }
public boolean load(Logger logger) { public boolean load() {
if (plugin.getServer().getPluginManager().isPluginEnabled("CS-CoreLib")) { if (plugin.getServer().getPluginManager().isPluginEnabled("CS-CoreLib")) {
return true; return true;
} }
else { else {
logger.log(Level.INFO, " "); plugin.getLogger().log(Level.INFO, " ");
logger.log(Level.INFO, "#################### - INFO - ####################"); plugin.getLogger().log(Level.INFO, "#################### - INFO - ####################");
logger.log(Level.INFO, " "); plugin.getLogger().log(Level.INFO, " ");
logger.log(Level.INFO, plugin.getName() + " could not be loaded (yet)."); plugin.getLogger().log(Level.INFO, plugin.getName() + " could not be loaded (yet).");
logger.log(Level.INFO, "It appears that you have not installed CS-CoreLib."); plugin.getLogger().log(Level.INFO, "It appears that you have not installed CS-CoreLib.");
logger.log(Level.INFO, "Your Server will now try to download and install"); plugin.getLogger().log(Level.INFO, "Your Server will now try to download and install");
logger.log(Level.INFO, "CS-CoreLib for you."); plugin.getLogger().log(Level.INFO, "CS-CoreLib for you.");
logger.log(Level.INFO, "You will be asked to restart your Server when it's finished."); plugin.getLogger().log(Level.INFO, "You will be asked to restart your Server when it's finished.");
logger.log(Level.INFO, "If this somehow fails, please download and install CS-CoreLib manually:"); plugin.getLogger().log(Level.INFO, "If this somehow fails, please download and install CS-CoreLib manually:");
logger.log(Level.INFO, "https://dev.bukkit.org/projects/cs-corelib"); plugin.getLogger().log(Level.INFO, "https://dev.bukkit.org/projects/cs-corelib");
logger.log(Level.INFO, " "); plugin.getLogger().log(Level.INFO, " ");
logger.log(Level.INFO, "#################### - INFO - ####################"); plugin.getLogger().log(Level.INFO, "#################### - INFO - ####################");
logger.log(Level.INFO, " "); plugin.getLogger().log(Level.INFO, " ");
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () -> { plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () -> {
if (connect()) { if (connect()) {
@ -82,15 +79,15 @@ public class CSCoreLibLoader {
return true; return true;
} catch (IOException e) { } catch (IOException e) {
Slimefun.getLogger().log(Level.WARNING, " "); plugin.getLogger().log(Level.WARNING, " ");
Slimefun.getLogger().log(Level.WARNING, "#################### - WARNING - ####################"); plugin.getLogger().log(Level.WARNING, "#################### - WARNING - ####################");
Slimefun.getLogger().log(Level.WARNING, " "); plugin.getLogger().log(Level.WARNING, " ");
Slimefun.getLogger().log(Level.WARNING, "Could not connect to BukkitDev."); plugin.getLogger().log(Level.WARNING, "Could not connect to BukkitDev.");
Slimefun.getLogger().log(Level.WARNING, "Please download & install CS-CoreLib manually:"); plugin.getLogger().log(Level.WARNING, "Please download & install CS-CoreLib manually:");
Slimefun.getLogger().log(Level.WARNING, "https://dev.bukkit.org/projects/cs-corelib"); plugin.getLogger().log(Level.WARNING, "https://dev.bukkit.org/projects/cs-corelib");
Slimefun.getLogger().log(Level.WARNING, " "); plugin.getLogger().log(Level.WARNING, " ");
Slimefun.getLogger().log(Level.WARNING, "#################### - WARNING - ####################"); plugin.getLogger().log(Level.WARNING, "#################### - WARNING - ####################");
Slimefun.getLogger().log(Level.WARNING, " "); plugin.getLogger().log(Level.WARNING, " ");
return false; return false;
} }
} }
@ -133,29 +130,29 @@ public class CSCoreLibLoader {
output.write(data, 0, read); output.write(data, 0, read);
} }
} catch (Exception ex) { } catch (Exception ex) {
Slimefun.getLogger().log(Level.WARNING, " "); plugin.getLogger().log(Level.WARNING, " ");
Slimefun.getLogger().log(Level.WARNING, "#################### - WARNING - ####################"); plugin.getLogger().log(Level.WARNING, "#################### - WARNING - ####################");
Slimefun.getLogger().log(Level.WARNING, " "); plugin.getLogger().log(Level.WARNING, " ");
Slimefun.getLogger().log(Level.WARNING, "Failed to download CS-CoreLib"); plugin.getLogger().log(Level.WARNING, "Failed to download CS-CoreLib");
Slimefun.getLogger().log(Level.WARNING, "Please download & install CS-CoreLib manually:"); plugin.getLogger().log(Level.WARNING, "Please download & install CS-CoreLib manually:");
Slimefun.getLogger().log(Level.WARNING, "https://dev.bukkit.org/projects/cs-corelib"); plugin.getLogger().log(Level.WARNING, "https://dev.bukkit.org/projects/cs-corelib");
Slimefun.getLogger().log(Level.WARNING, " "); plugin.getLogger().log(Level.WARNING, " ");
Slimefun.getLogger().log(Level.WARNING, "#################### - WARNING - ####################"); plugin.getLogger().log(Level.WARNING, "#################### - WARNING - ####################");
Slimefun.getLogger().log(Level.WARNING, " "); plugin.getLogger().log(Level.WARNING, " ");
} finally { } finally {
try { try {
if (input != null) input.close(); if (input != null) input.close();
if (output != null) output.close(); if (output != null) output.close();
Slimefun.getLogger().log(Level.INFO, " "); plugin.getLogger().log(Level.INFO, " ");
Slimefun.getLogger().log(Level.INFO, "#################### - INFO - ####################"); plugin.getLogger().log(Level.INFO, "#################### - INFO - ####################");
Slimefun.getLogger().log(Level.INFO, " "); plugin.getLogger().log(Level.INFO, " ");
Slimefun.getLogger().log(Level.INFO, "Please restart your Server to finish the Installation"); plugin.getLogger().log(Level.INFO, "Please restart your Server to finish the Installation");
Slimefun.getLogger().log(Level.INFO, "of " + plugin.getName() + " and CS-CoreLib"); plugin.getLogger().log(Level.INFO, "of " + plugin.getName() + " and CS-CoreLib");
Slimefun.getLogger().log(Level.INFO, " "); plugin.getLogger().log(Level.INFO, " ");
Slimefun.getLogger().log(Level.INFO, "#################### - INFO - ####################"); plugin.getLogger().log(Level.INFO, "#################### - INFO - ####################");
Slimefun.getLogger().log(Level.INFO, " "); plugin.getLogger().log(Level.INFO, " ");
} catch (IOException x) { } catch (IOException x) {
Slimefun.getLogger().log(Level.SEVERE, "An Error occured while closing the Download Stream for CS-CoreLib", x); plugin.getLogger().log(Level.SEVERE, "An Error occured while closing the Download Stream for CS-CoreLib", x);
} }
} }
} }

View File

@ -96,7 +96,7 @@ public final class SlimefunPlugin extends JavaPlugin {
@Override @Override
public void onEnable() { public void onEnable() {
if (new CSCoreLibLoader(this).load(getLogger())) { if (new CSCoreLibLoader(this).load()) {
String currentVersion = ReflectionUtils.getVersion(); String currentVersion = ReflectionUtils.getVersion();