mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-12 04:20:41 +00:00
Merge remote branch 'remotes/origin/groupmanager'
This commit is contained in:
commit
00c87c0e60
4 changed files with 75 additions and 40 deletions
|
@ -180,3 +180,4 @@ v 2.0:
|
||||||
- Update all code formatting to use tabs for indentation.
|
- Update all code formatting to use tabs for indentation.
|
||||||
- Stop using our own deprecated methods as we tell others to do.
|
- Stop using our own deprecated methods as we tell others to do.
|
||||||
- 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.
|
|
@ -235,13 +235,14 @@ groups:
|
||||||
g:towny_default:
|
g:towny_default:
|
||||||
permissions:
|
permissions:
|
||||||
- towny.chat.general
|
- towny.chat.general
|
||||||
|
- towny.chat.local
|
||||||
|
|
||||||
g:towny_builder:
|
g:towny_builder:
|
||||||
permissions:
|
permissions:
|
||||||
- towny.town.*
|
- towny.town.*
|
||||||
- towny.nation.*
|
- towny.nation.*
|
||||||
- towny.chat.tc
|
- towny.chat.town
|
||||||
- towny.chat.nc
|
- towny.chat.nation
|
||||||
- towny.wild.build.6
|
- towny.wild.build.6
|
||||||
- towny.wild.destroy.6
|
- towny.wild.destroy.6
|
||||||
- towny.wild.destroy.14
|
- towny.wild.destroy.14
|
||||||
|
|
|
@ -57,24 +57,6 @@ public class GroupManager extends JavaPlugin {
|
||||||
private WorldsHolder worldsHolder;
|
private WorldsHolder worldsHolder;
|
||||||
private boolean validateOnlinePlayer = true;
|
private boolean validateOnlinePlayer = true;
|
||||||
|
|
||||||
private String lastError = "";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return the validateOnlinePlayer
|
|
||||||
*/
|
|
||||||
public boolean isValidateOnlinePlayer() {
|
|
||||||
|
|
||||||
return validateOnlinePlayer;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param validateOnlinePlayer the validateOnlinePlayer to set
|
|
||||||
*/
|
|
||||||
public void setValidateOnlinePlayer(boolean validateOnlinePlayer) {
|
|
||||||
|
|
||||||
this.validateOnlinePlayer = validateOnlinePlayer;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean isLoaded = false;
|
private static boolean isLoaded = false;
|
||||||
protected GMConfiguration config;
|
protected GMConfiguration config;
|
||||||
|
|
||||||
|
@ -89,13 +71,28 @@ public class GroupManager extends JavaPlugin {
|
||||||
private OverloadedWorldHolder dataHolder = null;
|
private OverloadedWorldHolder dataHolder = null;
|
||||||
private AnjoPermissionsHandler permissionHandler = null;
|
private AnjoPermissionsHandler permissionHandler = null;
|
||||||
|
|
||||||
|
private String lastError = "";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
|
|
||||||
|
onDisable(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEnable() {
|
||||||
|
|
||||||
|
onEnable(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void onDisable(boolean restarting) {
|
||||||
|
|
||||||
setLoaded(false);
|
setLoaded(false);
|
||||||
|
|
||||||
// Unregister this service.
|
if (!restarting) {
|
||||||
|
// Unregister this service if we are shutting down.
|
||||||
this.getServer().getServicesManager().unregister(this.worldsHolder);
|
this.getServer().getServicesManager().unregister(this.worldsHolder);
|
||||||
|
}
|
||||||
|
|
||||||
disableScheduler(); // Shutdown before we save, so it doesn't interfere.
|
disableScheduler(); // Shutdown before we save, so it doesn't interfere.
|
||||||
if (worldsHolder != null) {
|
if (worldsHolder != null) {
|
||||||
|
@ -118,18 +115,26 @@ public class GroupManager extends JavaPlugin {
|
||||||
// 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
|
||||||
PluginDescriptionFile pdfFile = this.getDescription();
|
PluginDescriptionFile pdfFile = this.getDescription();
|
||||||
System.out.println(pdfFile.getName() + " version " + pdfFile.getVersion() + " is disabled!");
|
System.out.println(pdfFile.getName() + " version " + pdfFile.getVersion() + " is disabled!");
|
||||||
|
|
||||||
|
if (!restarting)
|
||||||
GroupManager.logger.removeHandler(ch);
|
GroupManager.logger.removeHandler(ch);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public void onEnable(boolean restarting) {
|
||||||
public void onEnable() {
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
/*
|
||||||
|
* reset local variables.
|
||||||
|
*/
|
||||||
|
overloadedUsers = new HashMap<String, ArrayList<User>>();
|
||||||
|
selectedWorlds = new HashMap<CommandSender, String>();
|
||||||
lastError = "";
|
lastError = "";
|
||||||
|
|
||||||
|
if (!restarting) {
|
||||||
GroupManager.logger.setUseParentHandlers(false);
|
GroupManager.logger.setUseParentHandlers(false);
|
||||||
ch = new GMLoggerHandler();
|
ch = new GMLoggerHandler();
|
||||||
GroupManager.logger.addHandler(ch);
|
GroupManager.logger.addHandler(ch);
|
||||||
|
}
|
||||||
logger.setLevel(Level.ALL);
|
logger.setLevel(Level.ALL);
|
||||||
|
|
||||||
// Create the backup folder, if it doesn't exist.
|
// Create the backup folder, if it doesn't exist.
|
||||||
|
@ -138,7 +143,11 @@ public class GroupManager extends JavaPlugin {
|
||||||
prepareConfig();
|
prepareConfig();
|
||||||
// Load the global groups
|
// Load the global groups
|
||||||
globalGroups = new GlobalGroups(this);
|
globalGroups = new GlobalGroups(this);
|
||||||
|
|
||||||
|
if (!restarting)
|
||||||
worldsHolder = new WorldsHolder(this);
|
worldsHolder = new WorldsHolder(this);
|
||||||
|
else
|
||||||
|
worldsHolder.resetWorldsHolder();
|
||||||
|
|
||||||
PluginDescriptionFile pdfFile = this.getDescription();
|
PluginDescriptionFile pdfFile = this.getDescription();
|
||||||
if (worldsHolder == null) {
|
if (worldsHolder == null) {
|
||||||
|
@ -169,7 +178,9 @@ public class GroupManager extends JavaPlugin {
|
||||||
System.out.println(pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!");
|
System.out.println(pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!");
|
||||||
|
|
||||||
// Register as a service
|
// Register as a service
|
||||||
|
if (!restarting)
|
||||||
this.getServer().getServicesManager().register(WorldsHolder.class, this.worldsHolder, this, ServicePriority.Lowest);
|
this.getServer().getServicesManager().register(WorldsHolder.class, this.worldsHolder, this, ServicePriority.Lowest);
|
||||||
|
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -223,6 +234,22 @@ public class GroupManager extends JavaPlugin {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the validateOnlinePlayer
|
||||||
|
*/
|
||||||
|
public boolean isValidateOnlinePlayer() {
|
||||||
|
|
||||||
|
return validateOnlinePlayer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param validateOnlinePlayer the validateOnlinePlayer to set
|
||||||
|
*/
|
||||||
|
public void setValidateOnlinePlayer(boolean validateOnlinePlayer) {
|
||||||
|
|
||||||
|
this.validateOnlinePlayer = validateOnlinePlayer;
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean isLoaded() {
|
public static boolean isLoaded() {
|
||||||
|
|
||||||
return isLoaded;
|
return isLoaded;
|
||||||
|
@ -1633,11 +1660,10 @@ public class GroupManager extends JavaPlugin {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Reset the last error as we are attempting a fresh load.
|
* Attempting a fresh load.
|
||||||
*/
|
*/
|
||||||
lastError = "";
|
onDisable(true);
|
||||||
onDisable();
|
onEnable(true);
|
||||||
onEnable();
|
|
||||||
|
|
||||||
sender.sendMessage("All settings and worlds were reloaded!");
|
sender.sendMessage("All settings and worlds were reloaded!");
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,13 +57,20 @@ public class WorldsHolder {
|
||||||
public WorldsHolder(GroupManager plugin) {
|
public WorldsHolder(GroupManager plugin) {
|
||||||
|
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
|
resetWorldsHolder();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void resetWorldsHolder() {
|
||||||
|
|
||||||
|
mirrorsGroup = new HashMap<String, String>();
|
||||||
|
mirrorsUser = new HashMap<String, String>();
|
||||||
|
|
||||||
// Setup folders and check files exist for the primary world
|
// Setup folders and check files exist for the primary world
|
||||||
verifyFirstRun();
|
verifyFirstRun();
|
||||||
initialLoad();
|
initialLoad();
|
||||||
if (serverDefaultWorldName == null) {
|
if (serverDefaultWorldName == null)
|
||||||
throw new IllegalStateException("There is no default group! OMG!");
|
throw new IllegalStateException("There is no default group! OMG!");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private void initialLoad() {
|
private void initialLoad() {
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue