mirror of
https://github.com/EssentialsX/Essentials.git
synced 2024-09-06 21:18:03 +02:00
Fix forgetting sub groups on a manload.
This commit is contained in:
parent
a21b5fac76
commit
fc7689354f
@ -182,3 +182,4 @@ v 2.0:
|
|||||||
- Finally remove all deprecated methods.
|
- 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.
|
- 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
|
// Remove all attachments before clearing
|
||||||
if (BukkitPermissions != null) {
|
if (BukkitPermissions != null) {
|
||||||
BukkitPermissions.removeAllAttachments();
|
BukkitPermissions.removeAllAttachments();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!restarting) {
|
||||||
|
|
||||||
|
if (WorldEvents != null)
|
||||||
|
WorldEvents = null;
|
||||||
|
|
||||||
BukkitPermissions = null;
|
BukkitPermissions = null;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// EXAMPLE: Custom code, here we just output some info so we can check that all is well
|
// 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>();
|
selectedWorlds = new HashMap<CommandSender, String>();
|
||||||
lastError = "";
|
lastError = "";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Setup our logger if we are not restarting.
|
||||||
|
*/
|
||||||
if (!restarting) {
|
if (!restarting) {
|
||||||
GroupManager.logger.setUseParentHandlers(false);
|
GroupManager.logger.setUseParentHandlers(false);
|
||||||
ch = new GMLoggerHandler();
|
ch = new GMLoggerHandler();
|
||||||
@ -144,11 +154,17 @@ public class GroupManager extends JavaPlugin {
|
|||||||
// Load the global groups
|
// Load the global groups
|
||||||
globalGroups = new GlobalGroups(this);
|
globalGroups = new GlobalGroups(this);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Configure the worlds holder.
|
||||||
|
*/
|
||||||
if (!restarting)
|
if (!restarting)
|
||||||
worldsHolder = new WorldsHolder(this);
|
worldsHolder = new WorldsHolder(this);
|
||||||
else
|
else
|
||||||
worldsHolder.resetWorldsHolder();
|
worldsHolder.resetWorldsHolder();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This should NEVER happen. No idea why it's still here.
|
||||||
|
*/
|
||||||
PluginDescriptionFile pdfFile = this.getDescription();
|
PluginDescriptionFile pdfFile = this.getDescription();
|
||||||
if (worldsHolder == null) {
|
if (worldsHolder == null) {
|
||||||
GroupManager.logger.severe("Can't enable " + pdfFile.getName() + " version " + pdfFile.getVersion() + ", bad loading!");
|
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");
|
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);
|
setLoaded(false);
|
||||||
|
|
||||||
// Initialize the world listener and bukkit permissions to handle events.
|
/*
|
||||||
WorldEvents = new GMWorldListener(this);
|
* Initialize the world listener and bukkit permissions
|
||||||
BukkitPermissions = new BukkitPermissions(this);
|
* 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();
|
enableScheduler();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -172,6 +205,9 @@ public class GroupManager extends JavaPlugin {
|
|||||||
|
|
||||||
if (getServer().getScheduler().scheduleSyncDelayedTask(this, new BukkitPermsUpdateTask(), 1) == -1) {
|
if (getServer().getScheduler().scheduleSyncDelayedTask(this, new BukkitPermsUpdateTask(), 1) == -1) {
|
||||||
GroupManager.logger.severe("Could not schedule superperms Update.");
|
GroupManager.logger.severe("Could not schedule superperms Update.");
|
||||||
|
/*
|
||||||
|
* Flag that we are now loaded and should start processing events.
|
||||||
|
*/
|
||||||
setLoaded(true);
|
setLoaded(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,6 +62,7 @@ public class WorldsHolder {
|
|||||||
|
|
||||||
public void resetWorldsHolder() {
|
public void resetWorldsHolder() {
|
||||||
|
|
||||||
|
worldsData = new HashMap<String, OverloadedWorldHolder>();
|
||||||
mirrorsGroup = new HashMap<String, String>();
|
mirrorsGroup = new HashMap<String, String>();
|
||||||
mirrorsUser = new HashMap<String, String>();
|
mirrorsUser = new HashMap<String, String>();
|
||||||
|
|
||||||
|
@ -96,13 +96,18 @@ public class BukkitPermissions {
|
|||||||
public BukkitPermissions(GroupManager plugin) {
|
public BukkitPermissions(GroupManager plugin) {
|
||||||
|
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
this.collectPermissions();
|
this.reset();
|
||||||
this.registerEvents();
|
this.registerEvents();
|
||||||
this.updateAllPlayers();
|
|
||||||
|
|
||||||
GroupManager.logger.info("Superperms support enabled.");
|
GroupManager.logger.info("Superperms support enabled.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void reset() {
|
||||||
|
this.collectPermissions();
|
||||||
|
this.updateAllPlayers();
|
||||||
|
}
|
||||||
|
|
||||||
private void registerEvents() {
|
private void registerEvents() {
|
||||||
|
|
||||||
PluginManager manager = plugin.getServer().getPluginManager();
|
PluginManager manager = plugin.getServer().getPluginManager();
|
||||||
|
Loading…
Reference in New Issue
Block a user