mirror of
https://github.com/EssentialsX/Essentials.git
synced 2025-01-12 03:13:37 +01:00
Merge branch 'refs/heads/groupmanager'
This commit is contained in:
commit
14c406f7fb
@ -45,4 +45,7 @@ v 1.4:
|
||||
- Cleared remaining Cast errors cause by object cloning.
|
||||
- Removed extra notification messages for the player issuing the group move command.
|
||||
- Added a config setting - bukkit_perms_override: false
|
||||
Enable to allow default Bukkit based permissions to remain enabled, unless directly negated within GroupManager.
|
||||
Enable to allow default Bukkit based permissions to remain enabled, unless directly negated within GroupManager.
|
||||
- Fixed reading world mirrors from the config.
|
||||
- Simplified config.yml while retaining backwards compatibility.
|
||||
- Added data.save.hours setting to config. This allow control over how long backups are retained.
|
@ -2,20 +2,24 @@ settings:
|
||||
config:
|
||||
# With this enabled anyone set as op has full permissions when managing GroupManager
|
||||
opOverrides: true
|
||||
|
||||
# If enabled any bukkit permissiosn which default to true will be left enabled.
|
||||
# If the player is op any permissions set to Op will follow suit.
|
||||
bukkit_perms_override: false
|
||||
|
||||
data:
|
||||
save:
|
||||
# How often GroupManager will save it's data back to groups and users.yml
|
||||
minutes: 10
|
||||
# Number of hours to retain backups (plugins/GroupManager/backup)
|
||||
hours: 24
|
||||
|
||||
logging:
|
||||
# level of detail GroupManager will use when logging.
|
||||
# Acceptable entries are - ALL,CONFIG,FINE,FINER,FINEST,INFO,OFF,SEVERE,WARNING
|
||||
level: INFO
|
||||
permission:
|
||||
world:
|
||||
mirror:
|
||||
|
||||
mirrors:
|
||||
# Worlds listed here have their permissions mirrored in their children.
|
||||
world:
|
||||
- world_nether
|
||||
|
@ -58,14 +58,22 @@ public class GMConfiguration {
|
||||
return GMconfig.getBoolean("settings.config.opOverrides", true);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public Map<String, Object> getMirrorsMap() {
|
||||
return (Map<String, Object>) GMconfig.getList("settings.permission.world.mirror");
|
||||
public Map<String, Object> getMirrorsMap() {
|
||||
// Try to fetch the old mirror path first
|
||||
if (GMconfig.isConfigurationSection("settings.permission.world.mirror"))
|
||||
return (Map<String, Object>) GMconfig.getConfigurationSection("settings.permission.world.mirror").getValues(false);
|
||||
else
|
||||
return (Map<String, Object>) GMconfig.getConfigurationSection("settings.mirrors").getValues(false);
|
||||
|
||||
}
|
||||
|
||||
public Integer getSaveInterval() {
|
||||
return GMconfig.getInt("settings.data.save.minutes", 10);
|
||||
}
|
||||
|
||||
public Integer getBackupDuration() {
|
||||
return GMconfig.getInt("settings.data.save.hours", 24);
|
||||
}
|
||||
|
||||
public void adjustLoggerLevel() {
|
||||
|
||||
|
@ -163,6 +163,7 @@ public class GroupManager extends JavaPlugin {
|
||||
int minutes = getGMConfig().getSaveInterval();
|
||||
scheduler.scheduleAtFixedRate(commiter, minutes, minutes, TimeUnit.MINUTES);
|
||||
GroupManager.logger.info("Scheduled Data Saving is set for every " + minutes + " minutes!");
|
||||
GroupManager.logger.info("Backups will be retained for " + getGMConfig().getBackupDuration() + " hours!");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -99,11 +99,11 @@ public class WorldsHolder {
|
||||
* don't load any worlds which are already loaded
|
||||
* or mirrored worlds that don't need data.
|
||||
*/
|
||||
if (worldsData.containsKey(folder.getName().toLowerCase())
|
||||
|| mirrors.containsKey(folder.getName().toLowerCase())) {
|
||||
continue;
|
||||
if (!worldsData.containsKey(folder.getName().toLowerCase())
|
||||
|| !mirrors.containsKey(folder.getName().toLowerCase())) {
|
||||
loadWorld(folder.getName());
|
||||
}
|
||||
loadWorld(folder.getName());
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -168,7 +168,7 @@ public class WorldsHolder {
|
||||
if (alreadyDone.contains(w)) {
|
||||
continue;
|
||||
}
|
||||
Tasks.removeOldFiles(plugin.getBackupFolder());
|
||||
Tasks.removeOldFiles(plugin, plugin.getBackupFolder());
|
||||
if (w == null) {
|
||||
GroupManager.logger.severe("WHAT HAPPENED?");
|
||||
continue;
|
||||
|
@ -13,6 +13,8 @@ import java.io.OutputStream;
|
||||
import java.util.Calendar;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.List;
|
||||
|
||||
import org.anjocaido.groupmanager.GroupManager;
|
||||
import org.anjocaido.groupmanager.data.Group;
|
||||
|
||||
/**
|
||||
@ -43,9 +45,9 @@ public abstract class Tasks {
|
||||
copy(in, dst);
|
||||
}
|
||||
|
||||
public static void removeOldFiles(File folder) {
|
||||
public static void removeOldFiles(GroupManager gm, File folder) {
|
||||
if (folder.isDirectory()) {
|
||||
long oldTime = System.currentTimeMillis() - 86400000L;
|
||||
long oldTime = System.currentTimeMillis() - (((long)gm.getGMConfig().getBackupDuration()*60*60)*1000);
|
||||
for (File olds : folder.listFiles()) {
|
||||
if (olds.isFile()) {
|
||||
if (olds.lastModified() < oldTime) {
|
||||
|
Loading…
Reference in New Issue
Block a user