From a5cc4c20ea9f1d42b92a75f86bcd3251b25fa720 Mon Sep 17 00:00:00 2001 From: Tastybento Date: Sun, 8 Apr 2018 19:54:37 -0700 Subject: [PATCH] Updates due to Challenges development. --- .../bskyblock/api/addons/Addon.java | 23 +++++++++++++++++++ .../api/panels/builders/PanelBuilder.java | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/us/tastybento/bskyblock/api/addons/Addon.java b/src/main/java/us/tastybento/bskyblock/api/addons/Addon.java index 1c1d594bc..dce85b25b 100644 --- a/src/main/java/us/tastybento/bskyblock/api/addons/Addon.java +++ b/src/main/java/us/tastybento/bskyblock/api/addons/Addon.java @@ -203,6 +203,29 @@ public abstract class Addon implements AddonInterface { } } + /** + * Get the resource from Jar file + * @param jarResource + * @return resource or null if there is a problem + */ + public InputStream getResource(String jarResource) { + if (jarResource == null || jarResource.equals("")) { + throw new IllegalArgumentException("ResourcePath cannot be null or empty"); + } + + jarResource = jarResource.replace('\\', '/'); + try (JarFile jar = new JarFile(file)) { + JarEntry jarConfig = jar.getJarEntry(jarResource); + if (jarConfig != null) { + try (InputStream in = jar.getInputStream(jarConfig)) { + return in; + } + } + } catch (IOException e) { + Bukkit.getLogger().severe("Could not open from jar file. " + jarResource); + } + return null; + } /** * Set the file that contains this addon * diff --git a/src/main/java/us/tastybento/bskyblock/api/panels/builders/PanelBuilder.java b/src/main/java/us/tastybento/bskyblock/api/panels/builders/PanelBuilder.java index dd6b800d5..2c55286cc 100644 --- a/src/main/java/us/tastybento/bskyblock/api/panels/builders/PanelBuilder.java +++ b/src/main/java/us/tastybento/bskyblock/api/panels/builders/PanelBuilder.java @@ -91,6 +91,6 @@ public class PanelBuilder { * @return Panel */ public Panel build() { - return new Panel(name, items, Math.max(size, items.lastKey()), user, listener); + return new Panel(name, items, Math.max(size, items.isEmpty() ? size : items.lastKey()), user, listener); } }