Browse Source

OK, you win, f**ing new lines in the end of each file...

master
Stanislav 11 years ago
parent
commit
5fb1b06d72
  1. 6
      src/main/java/ru/simsonic/rscPermissions/Backends/BackendMySQL.java
  2. 175
      src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java
  3. 6
      src/main/java/ru/simsonic/rscPermissions/DataTypes/Destination.java
  4. 6
      src/main/java/ru/simsonic/rscPermissions/DataTypes/RowInheritance.java
  5. 6
      src/main/java/ru/simsonic/rscPermissions/InternalCache/BrandNewCache.java
  6. 4
      src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheFunctions.java
  7. 10
      src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheTree.java
  8. 5
      src/main/java/ru/simsonic/rscPermissions/Ladders.java
  9. 3
      src/main/java/ru/simsonic/rscPermissions/MainPluginClass.java
  10. 6
      src/main/java/ru/simsonic/rscPermissions/RegionUpdateObserver.java
  11. 169
      src/main/java/ru/simsonic/rscPermissions/Settings.java

6
src/main/java/ru/simsonic/rscPermissions/Backends/BackendMySQL.java

@ -13,7 +13,7 @@ import ru.simsonic.rscPermissions.DataTypes.RowLadder;
import ru.simsonic.rscPermissions.DataTypes.RowPermission; import ru.simsonic.rscPermissions.DataTypes.RowPermission;
import ru.simsonic.rscPermissions.InternalCache.LocalCacheData; import ru.simsonic.rscPermissions.InternalCache.LocalCacheData;
import ru.simsonic.rscPermissions.MainPluginClass; import ru.simsonic.rscPermissions.MainPluginClass;
import ru.simsonic.rscPermissions.Settings; import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
public class BackendMySQL extends ConnectionMySQL implements Backend public class BackendMySQL extends ConnectionMySQL implements Backend
{ {
@ -202,7 +202,7 @@ public class BackendMySQL extends ConnectionMySQL implements Backend
row.climber = null; row.climber = null;
row.climberType = EntityType.byValue(rs.getInt("climber_type")); row.climberType = EntityType.byValue(rs.getInt("climber_type"));
row.ladder = rs.getString("ladder"); row.ladder = rs.getString("ladder");
String[] breaked = row.ladder.split(Settings.separatorRegExp); String[] breaked = row.ladder.split(BukkitPluginConfiguration.separatorRegExp);
if(breaked.length == 2) if(breaked.length == 2)
{ {
row.ladder = breaked[0]; row.ladder = breaked[0];
@ -249,7 +249,7 @@ public class BackendMySQL extends ConnectionMySQL implements Backend
public synchronized void dropUserFromLadder(String user, String ladder) public synchronized void dropUserFromLadder(String user, String ladder)
{ {
String instance = ""; String instance = "";
String[] breaked = ladder.split(Settings.separatorRegExp); String[] breaked = ladder.split(BukkitPluginConfiguration.separatorRegExp);
if(breaked.length == 2) if(breaked.length == 2)
{ {
ladder = breaked[0]; ladder = breaked[0];

175
src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java

@ -0,0 +1,175 @@
package ru.simsonic.rscPermissions.Bukkit;
import ru.simsonic.rscPermissions.Settings;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.bukkit.configuration.file.FileConfiguration;
import ru.simsonic.rscPermissions.ConnectionHelper;
import ru.simsonic.rscPermissions.MainPluginClass;
public class BukkitPluginConfiguration implements Settings
{
private final MainPluginClass plugin;
private String strDefaultGroup = "Default";
private String strMaintenanceMode = "";
private boolean bAlwaysInheritDefault = false;
private boolean bTreatAsteriskAsOP = true;
private boolean bUseMetrics = true;
private boolean bUseWorldGuard = true;
private boolean bUseResidence = true;
private int nAutoReloadDelayTicks = 20 * 900;
private int nRegionFinderGranularity = 1000;
public final int CurrentVersion = 3;
public static final String instantiator = "?";
public static final String separator = ".";
public static final String separatorRegExp = "\\.";
public BukkitPluginConfiguration(final MainPluginClass plugin)
{
this.plugin = plugin;
}
@Override
public void onLoad()
{
plugin.saveDefaultConfig();
final FileConfiguration config = plugin.getConfig();
switch(plugin.getConfig().getInt("internal.version", CurrentVersion))
{
case 1:
update_v1_to_v2(config);
MainPluginClass.consoleLog.info("[rscp] Configuration updated from v1 to v2.");
case 2:
update_v2_to_v3(config);
MainPluginClass.consoleLog.info("[rscp] Configuration updated from v2 to v3.");
case CurrentVersion: // Current version
plugin.saveConfig();
break;
}
}
private void update_v1_to_v2(FileConfiguration config)
{
config.set("settings.enable-bans", null);
config.set("settings.integration.worldguard", true);
config.set("settings.integration.residence", true);
config.set("internal.version", 2);
}
private void update_v2_to_v3(FileConfiguration config)
{
config.set("settings.enable-rewards", null);
config.set("settings.auto-update", null);
config.set("internal.version", 3);
}
@Override
public void readSettings()
{
plugin.reloadConfig();
final FileConfiguration config = plugin.getConfig();
strDefaultGroup = config.getString("settings.default-group", "Default");
strMaintenanceMode = config.getString("settings.maintenance-mode", "");
bAlwaysInheritDefault = config.getBoolean("always-inherit-default-group", false);
bTreatAsteriskAsOP = config.getBoolean("settings.treat-asterisk-as-op", true);
bUseMetrics = config.getBoolean("settings.use-metrics", true);
bUseWorldGuard = config.getBoolean("settings.integration.worldguard", true);
bUseResidence = config.getBoolean("settings.integration.residence", true);
nAutoReloadDelayTicks = config.getInt("settings.auto-reload-delay-sec", 900) * 20;
nRegionFinderGranularity = config.getInt("settings.region-finder-thread-granularity-msec", 1000);
}
@Override
public String getDefaultGroup()
{
return strDefaultGroup;
}
@Override
public boolean isInMaintenance()
{
return ! "".equals(strMaintenanceMode);
}
@Override
public String getMaintenanceMode()
{
return strMaintenanceMode;
}
@Override
public void setMaintenanceMode(String mode)
{
strMaintenanceMode = (mode == null) ? "" : mode;
plugin.getConfig().set("settings.maintenance-mode", strMaintenanceMode);
plugin.saveConfig();
}
@Override
public boolean isDefaultForever()
{
return bAlwaysInheritDefault;
}
@Override
public boolean isAsteriskOP()
{
return bTreatAsteriskAsOP;
}
@Override
public boolean isUseMetrics()
{
return bUseMetrics;
}
@Override
public boolean isUseWorldGuard()
{
return bUseWorldGuard;
}
@Override
public boolean isUseResidence()
{
return bUseResidence;
}
@Override
public int getAutoReloadDelayTicks()
{
return nAutoReloadDelayTicks;
}
@Override
public long getRegionFinderGranularity()
{
return nRegionFinderGranularity;
}
@Override
public ConnectionHelper getConnectionChain()
{
List<Map<?, ?>> configServers = plugin.getConfig().getMapList("servers");
List<HashMap<String, String>> serverlist = new ArrayList<>();
for(Iterator<Map<?, ?>> it = configServers.iterator(); it.hasNext();)
{
Map<String, String> server = (Map<String, String>)it.next();
HashMap<String, String> nodeinfo = new HashMap<>();
String nodename = (String)server.get("nodename");
String database = (String)server.get("database");
String username = (String)server.get("username");
String password = (String)server.get("password");
String prefixes = (String)server.get("prefixes");
String workmode = (String)server.get("workmode");
if(nodename != null && ! "".equals(nodename))
{
nodeinfo.put("nodename", nodename);
nodeinfo.put("database", (database != null) ? database : "localhost:3306/minecraft");
nodeinfo.put("username", (username != null) ? username : "user");
nodeinfo.put("password", (password != null) ? password : "pass");
nodeinfo.put("prefixes", (prefixes != null) ? prefixes : "rscp_");
nodeinfo.put("workmode", (workmode != null) ? workmode : "none");
serverlist.add(nodeinfo);
}
}
Collections.reverse(serverlist);
ConnectionHelper connPrev = null;
for(HashMap<String, String> server : serverlist)
{
ConnectionHelper conn = new ConnectionHelper(plugin, connPrev);
conn.Initialize(
server.get("nodename"), server.get("database"),
server.get("username"), server.get("password"),
server.get("workmode"), server.get("prefixes"));
connPrev = conn;
}
return connPrev;
}
}

6
src/main/java/ru/simsonic/rscPermissions/DataTypes/Destination.java

@ -5,7 +5,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.World; import org.bukkit.World;
import ru.simsonic.rscPermissions.Settings; import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
import ru.simsonic.utilities.LanguageUtility; import ru.simsonic.utilities.LanguageUtility;
public class Destination public class Destination
@ -47,7 +47,7 @@ public class Destination
if(this.world == null || this.world.isEmpty() || "*".equals(this.world)) if(this.world == null || this.world.isEmpty() || "*".equals(this.world))
return true; return true;
final String instantiated = (instantiator != null && !instantiator.isEmpty()) final String instantiated = (instantiator != null && !instantiator.isEmpty())
? this.world.replace(Settings.instantiator, instantiator) ? this.world.replace(BukkitPluginConfiguration.instantiator, instantiator)
: this.world; : this.world;
return wildcardTesting(world.getName(), instantiated); return wildcardTesting(world.getName(), instantiated);
} }
@ -56,7 +56,7 @@ public class Destination
if(this.region == null || "".equals(this.region) || "*".equals(this.region)) if(this.region == null || "".equals(this.region) || "*".equals(this.region))
return true; return true;
final String instantiated = (instantiator != null && !"".equals(instantiator)) final String instantiated = (instantiator != null && !"".equals(instantiator))
? this.region.replace(Settings.instantiator, instantiator) ? this.region.replace(BukkitPluginConfiguration.instantiator, instantiator)
: this.region; : this.region;
for(String regionId : regions) for(String regionId : regions)
if(wildcardTesting(regionId, instantiated)) if(wildcardTesting(regionId, instantiated))

6
src/main/java/ru/simsonic/rscPermissions/DataTypes/RowInheritance.java

@ -1,7 +1,7 @@
package ru.simsonic.rscPermissions.DataTypes; package ru.simsonic.rscPermissions.DataTypes;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.Arrays; import java.util.Arrays;
import ru.simsonic.rscPermissions.Settings; import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
import ru.simsonic.utilities.LanguageUtility; import ru.simsonic.utilities.LanguageUtility;
public class RowInheritance extends AbstractRow implements Comparable<RowInheritance> public class RowInheritance extends AbstractRow implements Comparable<RowInheritance>
@ -18,10 +18,10 @@ public class RowInheritance extends AbstractRow implements Comparable<RowInherit
{ {
if(parent != null) if(parent != null)
{ {
final String[] splitted = parent.split(Settings.separatorRegExp); final String[] splitted = parent.split(BukkitPluginConfiguration.separatorRegExp);
if(splitted.length > 1) if(splitted.length > 1)
{ {
parent = LanguageUtility.glue(Arrays.copyOf(splitted, splitted.length - 1), Settings.separator); parent = LanguageUtility.glue(Arrays.copyOf(splitted, splitted.length - 1), BukkitPluginConfiguration.separator);
instance = splitted[splitted.length - 1]; instance = splitted[splitted.length - 1];
return; return;
} }

6
src/main/java/ru/simsonic/rscPermissions/InternalCache/BrandNewCache.java

@ -12,7 +12,7 @@ import ru.simsonic.rscPermissions.DataTypes.RowInheritance;
import ru.simsonic.rscPermissions.DataTypes.RowLadder; import ru.simsonic.rscPermissions.DataTypes.RowLadder;
import ru.simsonic.rscPermissions.DataTypes.RowPermission; import ru.simsonic.rscPermissions.DataTypes.RowPermission;
import ru.simsonic.rscPermissions.MainPluginClass; import ru.simsonic.rscPermissions.MainPluginClass;
import ru.simsonic.rscPermissions.Settings; import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
public class BrandNewCache implements AbstractPermissionsCache public class BrandNewCache implements AbstractPermissionsCache
{ {
@ -199,8 +199,8 @@ public class BrandNewCache implements AbstractPermissionsCache
result.prefix = result.prefix.replace("%", result.prefix); result.prefix = result.prefix.replace("%", result.prefix);
if(intermediate.suffix != null && !"".equals(intermediate.suffix)) if(intermediate.suffix != null && !"".equals(intermediate.suffix))
result.suffix = result.suffix.replace("%", result.suffix); result.suffix = result.suffix.replace("%", result.suffix);
result.prefix = result.prefix.replace(Settings.instantiator, instantiator); result.prefix = result.prefix.replace(BukkitPluginConfiguration.instantiator, instantiator);
result.suffix = result.suffix.replace(Settings.instantiator, instantiator); result.suffix = result.suffix.replace(BukkitPluginConfiguration.instantiator, instantiator);
// Permissions // Permissions
permissions.addAll(Arrays.asList(intermediate.permissions)); permissions.addAll(Arrays.asList(intermediate.permissions));
} }

4
src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheFunctions.java

@ -8,7 +8,7 @@ import ru.simsonic.rscPermissions.DataTypes.RowInheritance;
import ru.simsonic.rscPermissions.DataTypes.RowLadder; import ru.simsonic.rscPermissions.DataTypes.RowLadder;
import ru.simsonic.rscPermissions.DataTypes.RowPermission; import ru.simsonic.rscPermissions.DataTypes.RowPermission;
import ru.simsonic.rscPermissions.MainPluginClass; import ru.simsonic.rscPermissions.MainPluginClass;
import ru.simsonic.rscPermissions.Settings; import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
public class LocalCacheFunctions extends LocalCacheTree public class LocalCacheFunctions extends LocalCacheTree
{ {
@ -76,7 +76,7 @@ public class LocalCacheFunctions extends LocalCacheTree
return null; return null;
final ArrayList<String> result = new ArrayList<>(); final ArrayList<String> result = new ArrayList<>();
for(ResolutionLeaf leaf : tree) for(ResolutionLeaf leaf : tree)
result.add(leaf.instance != null ? leaf.group + Settings.separator + leaf.instance : leaf.group); result.add(leaf.instance != null ? leaf.group + BukkitPluginConfiguration.separator + leaf.instance : leaf.group);
return result; return result;
} }
public synchronized Set<String> getAllPossibleGroups() public synchronized Set<String> getAllPossibleGroups()

10
src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheTree.java

@ -11,7 +11,7 @@ import ru.simsonic.rscPermissions.DataTypes.RowInheritance;
import ru.simsonic.rscPermissions.DataTypes.RowLadder; import ru.simsonic.rscPermissions.DataTypes.RowLadder;
import ru.simsonic.rscPermissions.DataTypes.RowPermission; import ru.simsonic.rscPermissions.DataTypes.RowPermission;
import ru.simsonic.rscPermissions.MainPluginClass; import ru.simsonic.rscPermissions.MainPluginClass;
import ru.simsonic.rscPermissions.Settings; import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
import ru.simsonic.utilities.LanguageUtility; import ru.simsonic.utilities.LanguageUtility;
public class LocalCacheTree extends LocalCacheData public class LocalCacheTree extends LocalCacheData
@ -99,8 +99,8 @@ public class LocalCacheTree extends LocalCacheData
{ {
String permission = row.permission; String permission = row.permission;
// Additional processing // Additional processing
if(permission.contains(Settings.instantiator) && (leaf.instance != null)) if(permission.contains(BukkitPluginConfiguration.instantiator) && (leaf.instance != null))
permission = permission.replace(Settings.instantiator, leaf.instance); permission = permission.replace(BukkitPluginConfiguration.instantiator, leaf.instance);
permissions.put(permission, row.value); permissions.put(permission, row.value);
} }
RowEntity entity = entities_g.get(leaf.group.toLowerCase()); RowEntity entity = entities_g.get(leaf.group.toLowerCase());
@ -110,8 +110,8 @@ public class LocalCacheTree extends LocalCacheData
prefix = entity.prefix.replace("%", prefix); prefix = entity.prefix.replace("%", prefix);
if(entity.suffix != null && !"".equals(entity.suffix)) if(entity.suffix != null && !"".equals(entity.suffix))
suffix = entity.suffix.replace("%", suffix); suffix = entity.suffix.replace("%", suffix);
prefix = prefix.replace(Settings.instantiator, leaf.instance); prefix = prefix.replace(BukkitPluginConfiguration.instantiator, leaf.instance);
suffix = suffix.replace(Settings.instantiator, leaf.instance); suffix = suffix.replace(BukkitPluginConfiguration.instantiator, leaf.instance);
} }
} }
// User permissions // User permissions

5
src/main/java/ru/simsonic/rscPermissions/Ladders.java

@ -1,4 +1,5 @@
package ru.simsonic.rscPermissions; package ru.simsonic.rscPermissions;
import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
import java.util.ArrayList; import java.util.ArrayList;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -28,7 +29,7 @@ public class Ladders
return new String[] { "Player must be online." }; return new String[] { "Player must be online." };
String template = ladder; String template = ladder;
String instance = ""; String instance = "";
String[] breaked = ladder.split(Settings.separatorRegExp); String[] breaked = ladder.split(BukkitPluginConfiguration.separatorRegExp);
if(breaked.length == 2) if(breaked.length == 2)
{ {
template = breaked[0].toLowerCase(); template = breaked[0].toLowerCase();
@ -77,7 +78,7 @@ public class Ladders
if(position.prevNode != null) if(position.prevNode != null)
position = position.prevNode; position = position.prevNode;
if(position.instance != null) if(position.instance != null)
if(Settings.instantiator.equals(position.instance)) if(BukkitPluginConfiguration.instantiator.equals(position.instance))
{ {
if("".equals(instance)) if("".equals(instance))
return new String[] { "Operation requires ladder instance (<template>.<instance>)." }; return new String[] { "Operation requires ladder instance (<template>.<instance>)." };

3
src/main/java/ru/simsonic/rscPermissions/MainPluginClass.java

@ -1,4 +1,5 @@
package ru.simsonic.rscPermissions; package ru.simsonic.rscPermissions;
import ru.simsonic.rscPermissions.Bukkit.BukkitPluginConfiguration;
import ru.simsonic.rscPermissions.InternalCache.LocalCacheFunctions; import ru.simsonic.rscPermissions.InternalCache.LocalCacheFunctions;
import ru.simsonic.rscPermissions.InternalCache.AsyncPlayerInfo; import ru.simsonic.rscPermissions.InternalCache.AsyncPlayerInfo;
import java.io.IOException; import java.io.IOException;
@ -29,7 +30,7 @@ public final class MainPluginClass extends JavaPlugin implements Listener
{ {
private static final String chatPrefix = "{_YL}[rscp] {GOLD}"; private static final String chatPrefix = "{_YL}[rscp] {GOLD}";
public static final Logger consoleLog = Logger.getLogger("Minecraft"); public static final Logger consoleLog = Logger.getLogger("Minecraft");
public final Settings settings = new Settings(this); public final Settings settings = new BukkitPluginConfiguration(this);
public final LocalCacheFunctions cache = new LocalCacheFunctions(this); public final LocalCacheFunctions cache = new LocalCacheFunctions(this);
public final CommandHelper commandHelper = new CommandHelper(this); public final CommandHelper commandHelper = new CommandHelper(this);
public final MaintenanceMode maintenance = new MaintenanceMode(this); public final MaintenanceMode maintenance = new MaintenanceMode(this);

6
src/main/java/ru/simsonic/rscPermissions/RegionUpdateObserver.java

@ -0,0 +1,6 @@
package ru.simsonic.rscPermissions;
public class RegionUpdateObserver
{
}

169
src/main/java/ru/simsonic/rscPermissions/Settings.java

@ -1,158 +1,19 @@
package ru.simsonic.rscPermissions; package ru.simsonic.rscPermissions;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.bukkit.configuration.file.FileConfiguration;
public class Settings public interface Settings
{ {
private final MainPluginClass plugin; public void onLoad();
private String strDefaultGroup = "Default"; public void readSettings();
private String strMaintenanceMode = ""; public String getDefaultGroup();
private boolean bAlwaysInheritDefault = false; public boolean isDefaultForever();
private boolean bTreatAsteriskAsOP = true; public boolean isAsteriskOP();
private boolean bUseMetrics = true; public boolean isInMaintenance();
private boolean bUseWorldGuard = true; public String getMaintenanceMode();
private boolean bUseResidence = true; public void setMaintenanceMode(String mode);
private int nAutoReloadDelayTicks = 20 * 900; public boolean isUseResidence();
private int nRegionFinderGranularity = 1000; public boolean isUseWorldGuard();
public final int CurrentVersion = 3; public long getRegionFinderGranularity();
public static final String instantiator = "?"; public ConnectionHelper getConnectionChain();
public static final String separator = "."; public int getAutoReloadDelayTicks();
public static final String separatorRegExp = "\\."; public boolean isUseMetrics();
public Settings(final MainPluginClass plugin)
{
this.plugin = plugin;
}
public void onLoad()
{
plugin.saveDefaultConfig();
final FileConfiguration config = plugin.getConfig();
switch(plugin.getConfig().getInt("internal.version", CurrentVersion))
{
case 1:
update_v1_to_v2(config);
MainPluginClass.consoleLog.info("[rscp] Configuration updated from v1 to v2.");
case 2:
update_v2_to_v3(config);
MainPluginClass.consoleLog.info("[rscp] Configuration updated from v2 to v3.");
case CurrentVersion: // Current version
plugin.saveConfig();
break;
}
}
private void update_v1_to_v2(FileConfiguration config)
{
config.set("settings.enable-bans", null);
config.set("settings.integration.worldguard", true);
config.set("settings.integration.residence", true);
config.set("internal.version", 2);
}
private void update_v2_to_v3(FileConfiguration config)
{
config.set("settings.enable-rewards", null);
config.set("settings.auto-update", null);
config.set("internal.version", 3);
}
public void readSettings()
{
plugin.reloadConfig();
final FileConfiguration config = plugin.getConfig();
strDefaultGroup = config.getString ("settings.default-group", "Default");
strMaintenanceMode = config.getString ("settings.maintenance-mode", "");
bAlwaysInheritDefault = config.getBoolean("always-inherit-default-group", false);
bTreatAsteriskAsOP = config.getBoolean("settings.treat-asterisk-as-op", true);
bUseMetrics = config.getBoolean("settings.use-metrics", true);
bUseWorldGuard = config.getBoolean("settings.integration.worldguard", true);
bUseResidence = config.getBoolean("settings.integration.residence", true);
nAutoReloadDelayTicks = config.getInt ("settings.auto-reload-delay-sec", 900) * 20;
nRegionFinderGranularity = config.getInt ("settings.region-finder-thread-granularity-msec", 1000);
}
public String getDefaultGroup()
{
return strDefaultGroup;
}
public boolean isInMaintenance()
{
return !"".equals(strMaintenanceMode);
}
public String getMaintenanceMode()
{
return strMaintenanceMode;
}
public void setMaintenanceMode(String mMode)
{
strMaintenanceMode = (mMode == null) ? "" : mMode;
plugin.getConfig().set("settings.maintenance-mode", strMaintenanceMode);
plugin.saveConfig();
}
public boolean isDefaultForever()
{
return bAlwaysInheritDefault;
}
public boolean isAsteriskOP()
{
return bTreatAsteriskAsOP;
}
public boolean isUseMetrics()
{
return bUseMetrics;
}
public boolean isUseWorldGuard()
{
return bUseWorldGuard;
}
public boolean isUseResidence()
{
return bUseResidence;
}
public int getAutoReloadDelayTicks()
{
return nAutoReloadDelayTicks;
}
public long getRegionFinderGranularity()
{
return nRegionFinderGranularity;
}
public ConnectionHelper getConnectionChain()
{
List<Map<?, ?>> configServers = plugin.getConfig().getMapList("servers");
List<HashMap<String, String>> serverlist = new ArrayList<>();
for(Iterator<Map<?, ?>> it = configServers.iterator(); it.hasNext();)
{
Map<String, String> server = (Map<String, String>) it.next();
HashMap<String, String> nodeinfo = new HashMap<>();
String nodename = (String) server.get("nodename");
String database = (String) server.get("database");
String username = (String) server.get("username");
String password = (String) server.get("password");
String prefixes = (String) server.get("prefixes");
String workmode = (String) server.get("workmode");
if(nodename != null && !"".equals(nodename))
{
nodeinfo.put("nodename", nodename);
nodeinfo.put("database", (database != null) ? database : "localhost:3306/minecraft");
nodeinfo.put("username", (username != null) ? username : "user");
nodeinfo.put("password", (password != null) ? password : "pass");
nodeinfo.put("prefixes", (prefixes != null) ? prefixes : "rscp_");
nodeinfo.put("workmode", (workmode != null) ? workmode : "none");
serverlist.add(nodeinfo);
}
}
Collections.reverse(serverlist);
ConnectionHelper connPrev = null;
for(HashMap<String, String> server : serverlist)
{
ConnectionHelper conn = new ConnectionHelper(plugin, connPrev);
conn.Initialize(
server.get("nodename"), server.get("database"),
server.get("username"), server.get("password"),
server.get("workmode"), server.get("prefixes"));
connPrev = conn;
}
return connPrev;
}
} }
Loading…
Cancel
Save