mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2024-08-20 18:32:49 +00:00
Fix forgetting sub groups on a manload.
This commit is contained in:
parent
a21b5fac76
commit
fc7689354f
|
@ -181,4 +181,5 @@ v 2.0:
|
|||
- Stop using our own deprecated methods as we tell others to do.
|
||||
- Finally remove all deprecated methods.
|
||||
- Re-initialize the WorldsHolder on a reload, as un-registering and re-registering a new holder means all plugins have to check for the new service on every quiery.
|
||||
- Prevent null perms getting past the GlobalGroups loader.
|
||||
- Prevent null perms getting past the GlobalGroups loader.
|
||||
- Fix forgetting sub groups on a manload.
|
|
@ -103,13 +103,20 @@ public class GroupManager extends JavaPlugin {
|
|||
}
|
||||
}
|
||||
|
||||
if (WorldEvents != null)
|
||||
WorldEvents = null;
|
||||
|
||||
|
||||
// Remove all attachments before clearing
|
||||
if (BukkitPermissions != null) {
|
||||
BukkitPermissions.removeAllAttachments();
|
||||
}
|
||||
|
||||
if (!restarting) {
|
||||
|
||||
if (WorldEvents != null)
|
||||
WorldEvents = null;
|
||||
|
||||
BukkitPermissions = null;
|
||||
|
||||
}
|
||||
|
||||
// EXAMPLE: Custom code, here we just output some info so we can check that all is well
|
||||
|
@ -130,6 +137,9 @@ public class GroupManager extends JavaPlugin {
|
|||
selectedWorlds = new HashMap<CommandSender, String>();
|
||||
lastError = "";
|
||||
|
||||
/*
|
||||
* Setup our logger if we are not restarting.
|
||||
*/
|
||||
if (!restarting) {
|
||||
GroupManager.logger.setUseParentHandlers(false);
|
||||
ch = new GMLoggerHandler();
|
||||
|
@ -144,11 +154,17 @@ public class GroupManager extends JavaPlugin {
|
|||
// Load the global groups
|
||||
globalGroups = new GlobalGroups(this);
|
||||
|
||||
/*
|
||||
* Configure the worlds holder.
|
||||
*/
|
||||
if (!restarting)
|
||||
worldsHolder = new WorldsHolder(this);
|
||||
else
|
||||
worldsHolder.resetWorldsHolder();
|
||||
|
||||
/*
|
||||
* This should NEVER happen. No idea why it's still here.
|
||||
*/
|
||||
PluginDescriptionFile pdfFile = this.getDescription();
|
||||
if (worldsHolder == null) {
|
||||
GroupManager.logger.severe("Can't enable " + pdfFile.getName() + " version " + pdfFile.getVersion() + ", bad loading!");
|
||||
|
@ -156,13 +172,30 @@ public class GroupManager extends JavaPlugin {
|
|||
throw new IllegalStateException("An error ocurred while loading GroupManager");
|
||||
}
|
||||
|
||||
// Set a few defaults (reloads)
|
||||
/*
|
||||
* Prevent our registered events from triggering
|
||||
* updates as we are not fully loaded.
|
||||
*/
|
||||
setLoaded(false);
|
||||
|
||||
// Initialize the world listener and bukkit permissions to handle events.
|
||||
WorldEvents = new GMWorldListener(this);
|
||||
BukkitPermissions = new BukkitPermissions(this);
|
||||
/*
|
||||
* Initialize the world listener and bukkit permissions
|
||||
* to handle events if this is a fresh start
|
||||
*
|
||||
* else
|
||||
*
|
||||
* Reset bukkit perms.
|
||||
*/
|
||||
if (!restarting) {
|
||||
WorldEvents = new GMWorldListener(this);
|
||||
BukkitPermissions = new BukkitPermissions(this);
|
||||
} else {
|
||||
BukkitPermissions.reset();
|
||||
}
|
||||
|
||||
/*
|
||||
* Start the scheduler for data saving.
|
||||
*/
|
||||
enableScheduler();
|
||||
|
||||
/*
|
||||
|
@ -172,6 +205,9 @@ public class GroupManager extends JavaPlugin {
|
|||
|
||||
if (getServer().getScheduler().scheduleSyncDelayedTask(this, new BukkitPermsUpdateTask(), 1) == -1) {
|
||||
GroupManager.logger.severe("Could not schedule superperms Update.");
|
||||
/*
|
||||
* Flag that we are now loaded and should start processing events.
|
||||
*/
|
||||
setLoaded(true);
|
||||
}
|
||||
|
||||
|
|
|
@ -62,6 +62,7 @@ public class WorldsHolder {
|
|||
|
||||
public void resetWorldsHolder() {
|
||||
|
||||
worldsData = new HashMap<String, OverloadedWorldHolder>();
|
||||
mirrorsGroup = new HashMap<String, String>();
|
||||
mirrorsUser = new HashMap<String, String>();
|
||||
|
||||
|
|
|
@ -96,12 +96,17 @@ public class BukkitPermissions {
|
|||
public BukkitPermissions(GroupManager plugin) {
|
||||
|
||||
this.plugin = plugin;
|
||||
this.collectPermissions();
|
||||
this.reset();
|
||||
this.registerEvents();
|
||||
this.updateAllPlayers();
|
||||
|
||||
|
||||
GroupManager.logger.info("Superperms support enabled.");
|
||||
}
|
||||
|
||||
public void reset() {
|
||||
this.collectPermissions();
|
||||
this.updateAllPlayers();
|
||||
}
|
||||
|
||||
private void registerEvents() {
|
||||
|
||||
|
|
Loading…
Reference in a new issue