Skip to content

Commit acc003b

Browse files
committed
[O] PluginLoader: Make loadPlugin return success status
1 parent 4e65a70 commit acc003b

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

src/main/java/org/hydev/mcpm/client/injector/LoadBoundary.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,16 @@ public interface LoadBoundary
1414
* Dynamically load a local plugin through JVM reflections and classloader hacks
1515
*
1616
* @param name Loaded plugin name
17+
* @return True if success, false if failed
18+
* @throws PluginNotFoundException Plugin of the name is not found in the plugins directory
1719
*/
18-
public void loadPlugin(String name) throws PluginNotFoundException;
20+
public boolean loadPlugin(String name) throws PluginNotFoundException;
1921

2022
/**
2123
* Dynamically load a local plugin through JVM reflections and classloader hacks
2224
*
2325
* @param jar Local jar file path
26+
* @return True if success, false if failed
2427
*/
25-
public void loadPlugin(File jar);
28+
public boolean loadPlugin(File jar);
2629
}

src/main/java/org/hydev/mcpm/client/injector/PluginLoader.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
public class PluginLoader implements LoadBoundary, UnloadBoundary, ReloadBoundary
3030
{
3131
@Override
32-
public void loadPlugin(String name) throws PluginNotFoundException
32+
public boolean loadPlugin(String name) throws PluginNotFoundException
3333
{
3434
// 1. Find plugin file by name
3535
var nf = new PluginNotFoundException(name);
@@ -45,28 +45,30 @@ public void loadPlugin(String name) throws PluginNotFoundException
4545
catch (IOException ignored) { return false; }
4646
}).findFirst().orElseThrow(() -> nf);
4747

48-
loadPlugin(file);
48+
return loadPlugin(file);
4949
}
5050

5151
@Override
52-
public void loadPlugin(File jar)
52+
public boolean loadPlugin(File jar)
5353
{
5454
// 2. Load plugin
5555
var pm = Bukkit.getPluginManager();
5656
try
5757
{
5858
var plugin = pm.loadPlugin(jar);
59-
assert plugin != null;
59+
if (plugin == null) return false;
6060

6161
// 3. Call onLoad()
6262
plugin.onLoad();
6363
pm.enablePlugin(plugin);
64+
return true;
6465
}
6566
catch (InvalidPluginException | InvalidDescriptionException e)
6667
{
6768
// These are errors indicating that the plugin we're trying to load is badly formatted.
6869
// There are nothing we can do.
6970
e.printStackTrace();
71+
return false;
7072
}
7173
}
7274

0 commit comments

Comments
 (0)