updated local manager to allow for reregistering expansions

This commit is contained in:
Sxtanna 2020-07-25 11:55:24 -04:00
parent 5861f9fe6a
commit 85b9fc36da
1 changed files with 12 additions and 4 deletions

View File

@ -186,14 +186,22 @@ public final class LocalExpansionManager implements Listener
}
}
final ExpansionRegisterEvent event = new ExpansionRegisterEvent(expansion);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled() || expansions.put(expansion.getIdentifier(), expansion) != null)
final PlaceholderExpansion removed = expansions.get(expansion.getIdentifier());
if (removed != null && !unregister(removed))
{
return false;
}
final ExpansionRegisterEvent event = new ExpansionRegisterEvent(expansion);
Bukkit.getPluginManager().callEvent(event);
if (event.isCancelled())
{
return false;
}
expansions.put(expansion.getIdentifier(), expansion);
if (expansion instanceof Listener)
{
Bukkit.getPluginManager().registerEvents(((Listener) expansion), plugin);