mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2024-09-27 22:27:29 +02:00
Add some defensive code to try and load addons if they are not pladdons
This commit is contained in:
parent
471e8d681b
commit
6316ff4a93
@ -198,15 +198,23 @@ public class AddonsManager {
|
|||||||
Addon addon;
|
Addon addon;
|
||||||
try {
|
try {
|
||||||
Plugin pladdon = Bukkit.getPluginManager().loadPlugin(f);
|
Plugin pladdon = Bukkit.getPluginManager().loadPlugin(f);
|
||||||
if (pladdon instanceof Pladdon pl) {
|
if (pladdon != null && pladdon instanceof Pladdon pl) {
|
||||||
addon = pl.getAddon();
|
addon = pl.getAddon();
|
||||||
addon.setDescription(AddonClassLoader.asDescription(data));
|
addon.setDescription(AddonClassLoader.asDescription(data));
|
||||||
// Mark pladdon as enabled.
|
// Mark pladdon as enabled.
|
||||||
pl.setEnabled();
|
pl.setEnabled();
|
||||||
pladdons.put(addon, pladdon);
|
pladdons.put(addon, pladdon);
|
||||||
} else {
|
} else {
|
||||||
plugin.logError("Could not load pladdon!");
|
// Try to load it as an addon
|
||||||
return new PladdonData(null, false);
|
BentoBox.getInstance()
|
||||||
|
.log("Failed to load " + f.getName() + ", trying to load it as a BentoBox addon");
|
||||||
|
// Addon not pladdon
|
||||||
|
AddonClassLoader addonClassLoader = new AddonClassLoader(this, data, f,
|
||||||
|
this.getClass().getClassLoader());
|
||||||
|
// Get the addon itself
|
||||||
|
addon = addonClassLoader.getAddon();
|
||||||
|
// Add to the list of loaders
|
||||||
|
loaders.put(addon, addonClassLoader);
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
// Addon not pladdon
|
// Addon not pladdon
|
||||||
|
Loading…
Reference in New Issue
Block a user