Browse Source

I've started working on command dispatching.

* Single class is breaked for several little, but not all for now.
* Internal command code tries to use already made api methods.
* Text is recolorized :)
master
SimSonic 10 years ago
parent
commit
710245273e
  1. 2
      pom.xml
  2. 2
      src/main/java/ru/simsonic/rscPermissions/API/Settings.java
  3. 7
      src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java
  4. 333
      src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java
  5. 38
      src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandDebug.java
  6. 22
      src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandFetch.java
  7. 25
      src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandLock.java
  8. 23
      src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandReload.java
  9. 23
      src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandUnlock.java
  10. 21
      src/main/java/ru/simsonic/rscPermissions/Bukkit/PermissionsEx_YAML.java
  11. 2
      src/main/java/ru/simsonic/rscPermissions/SpongePluginMain.java

2
pom.xml

@ -4,7 +4,7 @@
<groupId>ru.simsonic</groupId>
<artifactId>rscPermissions</artifactId>
<version>0.9.9a</version>
<version>0.9.10a</version>
<packaging>jar</packaging>
<name>rscPermissions</name>

2
src/main/java/ru/simsonic/rscPermissions/API/Settings.java

@ -4,7 +4,7 @@ import ru.simsonic.rscUtilityLibrary.ConnectionMySQL.ConnectionParams;
public interface Settings
{
public static final String chatPrefix = "{YELLOW}[rscp] {GOLD}";
public static final String chatPrefix = "{GOLD}[rscp] {_LS}";
public static final String separator = ".";
public static final String separatorRegExp = "\\.";
public static final String instantiator = "?";

7
src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java

@ -200,6 +200,13 @@ public class BukkitPermissionManager extends RestartableThread
result.add(socketAddress.getAddress().getHostAddress());
return result.toArray(new String[result.size()]);
}
public Set<Player> getDebuggers()
{
synchronized(debug)
{
return new HashSet<>(debug);
}
}
public boolean isDebugging(Player target)
{
synchronized(debug)

333
src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java

@ -1,17 +1,14 @@
package ru.simsonic.rscPermissions.Bukkit.Commands;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
import java.util.logging.Level;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import ru.simsonic.rscPermissions.API.Settings;
import ru.simsonic.rscPermissions.Backends.DatabaseContents;
import ru.simsonic.rscPermissions.Bukkit.PermissionsEx_YAML;
import ru.simsonic.rscPermissions.BukkitPluginMain;
import ru.simsonic.rscPermissions.Engine.Phrases;
import ru.simsonic.rscPermissions.Engine.ResolutionResult;
import ru.simsonic.rscUtilityLibrary.Bukkit.Commands.CommandAnswerException;
import ru.simsonic.rscUtilityLibrary.RestartableThread;
import ru.simsonic.rscUtilityLibrary.TextProcessing.GenericChatCodes;
@ -19,15 +16,26 @@ import ru.simsonic.rscUtilityLibrary.TextProcessing.GenericChatCodes;
public class BukkitCommands
{
private final BukkitPluginMain rscp;
public BukkitCommands(final BukkitPluginMain rscp)
{
this.rscp = rscp;
private final CommandLock cmdLock;
private final CommandUnlock cmdUnlock;
private final CommandFetch cmdFetch;
private final CommandDebug cmdDebug;
private final CommandReload cmdReload;
public BukkitCommands(final BukkitPluginMain plugin)
{
this.rscp = plugin;
cmdLock = new CommandLock(rscp);
cmdUnlock = new CommandUnlock(rscp);
cmdFetch = new CommandFetch(rscp);
cmdDebug = new CommandDebug(rscp);
cmdReload = new CommandReload(rscp);
}
public final RestartableThread threadFetchDatabaseContents = new RestartableThread()
{
@Override
public void run()
{
final long queryStartTime = System.currentTimeMillis();
Thread.currentThread().setName("rscp:DatabaseFetchingThread");
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
if(rscp.connection.isConnected() == false)
@ -71,6 +79,19 @@ public class BukkitCommands
}
} catch(InterruptedException ex) {
}
final long queryTime = System.currentTimeMillis() - queryStartTime;
final Set<Player> debuggers = rscp.permissionManager.getDebuggers();
if(!debuggers.isEmpty())
rscp.getServer().getScheduler().runTask(rscp, new Runnable()
{
@Override
public void run()
{
for(Player debugger : debuggers)
debugger.sendMessage(GenericChatCodes.processStringStatic(Settings.chatPrefix
+ "Database has been fetched in " + queryTime + " milliseconds."));
}
});
} else
BukkitPluginMain.consoleLog.warning("[rscp] Cannot load data from database.");
}
@ -130,56 +151,49 @@ public class BukkitCommands
}
public void onCommandHub(CommandSender sender, String[] args) throws CommandAnswerException
{
final ArrayList<String> help = new ArrayList<>();
final ArrayList<String> help = new ArrayList<>(64);
help.add(rscp.getDescription().getName() + " v" + rscp.getDescription().getVersion()
+ " © " + rscp.getDescription().getAuthors().get(0));
help.add("{_DS}Perfect permission manager for multiserver environments");
help.add("{_LB}{_U}" + rscp.getDescription().getWebsite());
if(args.length == 0)
throw new CommandAnswerException(help);
help.add("{_LS}Current serverId is \'{_LG}" + rscp.getServer().getServerId() + "{_LS}\' (server.properties)");
help.add("Usage of available commands:");
if(sender.hasPermission("rscp.admin"))
help.add("/rscp (user|group) {_LS}-- PermissionsEx-like admin commands");
{
help.add("{_YL}/rscp user <user> lp {_LS}-- list user's permissions");
help.add("{_YL}/rscp user <user> lg {_LS}-- list user's groups");
help.add("{_YL}/rscp user <user> prefix {_LS}-- show user's prefix");
help.add("{_YL}/rscp user <user> suffix {_LS}-- show user's suffix");
}
if(sender.hasPermission("rscp.admin.lock"))
help.add("/rscp (lock [mode]|unlock) {_LS}-- maintenance mode control");
if(sender.hasPermission("rscp.admin"))
{
help.add("/rscp (examplerows|import) {_LS}-- possible useful things");
help.add("/rscp (debug|fetch|reload) {_LS}-- admin stuff");
help.add("{_YL}/rscp lock [mode] {_LS}-- enable specific maintenance mode");
help.add("{_YL}/rscp unlock {_LS}-- disable maintenance mode");
}
help.add("/rscp (help) {_LS}-- show these notes");
if(help.size() > 0)
help.add(0, "{MAGENTA}Usage:");
help.add(0, rscp.getDescription().getName() + " v" + rscp.getDescription().getVersion());
help.add(1, "Perfect Superperms manager for multiserver environments");
if(sender.hasPermission("rscp.admin"))
help.add(2, "{_DS}Current serverId is \'{_LS}" + rscp.getServer().getServerId() + "{_DS}\' (server.properties)");
help.add("{_LG}" + rscp.getDescription().getWebsite());
if(args.length == 0)
throw new CommandAnswerException(help);
{
help.add("{_YL}/rscp examplerows {_LS}-- insert some fake rows into database");
help.add("{_YL}/rscp import pex-sql {_LS}-- import data from pex's database (in the same schema)");
help.add("{_YL}/rscp debug [value] {_LS}-- show/hide some debugging info to you");
help.add("{_YL}/rscp fetch {_LS}-- reread all permissions from database");
help.add("{_YL}/rscp reload {_LS}-- reload config and restart the plugin");
}
help.add("{_YL}/rscp [help] {_LS}-- show this help page");
switch(args[0].toLowerCase())
{
case "user":
onCommandHubUser(sender, args);
return;
case "group":
onCommandHubGroup(sender, args);
return;
case "lock":
/* rscp lock [mMode] */
if(sender.hasPermission("rscp.lock"))
{
final String mMode = (args.length >= 2) ? args[1] : "default";
String mmon = "Maintenance mode enabled";
mmon = rscp.getConfig().getString("language.maintenance.locked.default.mmon", mmon);
mmon = rscp.getConfig().getString("language.maintenance.locked." + mMode + ".mmon", mmon);
rscp.bukkitListener.setMaintenanceMode(mMode);
throw new CommandAnswerException(mmon);
}
cmdLock.execute(sender, args);
return;
case "unlock":
/* rscp unlock */
if(sender.hasPermission("rscp.lock"))
{
String mmoff = "Maintenance mode disabled";
mmoff = rscp.getConfig().getString("language.maintenance.unlocked", mmoff);
rscp.bukkitListener.setMaintenanceMode(null);
throw new CommandAnswerException(mmoff);
}
break;
cmdUnlock.execute(sender);
return;
case "examplerows":
/* rscp examplerows */
if(sender.hasPermission("rscp.admin"))
@ -195,213 +209,108 @@ public class BukkitCommands
if(args.length > 1)
switch(args[1].toLowerCase())
{
case "pex-yaml":
if(args.length == 2)
break;
// TO DO HERE
PermissionsEx_YAML importer_pex = new PermissionsEx_YAML(
new File(rscp.getDataFolder(), args[2]));
threadFetchDatabaseContents.startDeamon();
throw new CommandAnswerException(new String[]
{
"Data has been imported successfully!",
/*
"Entities: {MAGENTA}" + Integer.toString(importer_pex.getEntities().length),
"Permissions: {MAGENTA}" + Integer.toString(importer_pex.getPermissions().length),
"Inheritance: {MAGENTA}" + Integer.toString(importer_pex.getInheritance().length),
*/
"{_DR}{_B}IT IS FAKE :p - all this is undone yet!",
});
case "pex-sql":
threadMigrateFromPExSQL(sender);
throw new CommandAnswerException("Trying to import PEX database into rscPermissions...");
}
throw new CommandAnswerException(new String[]
{
"Usage: {GOLD}/rscp import <importer> [options]",
"Usage: {_YL}/rscp import <importer> [options]",
"Available importers:",
"{_LR}pex-yaml{_LS} (PermissionsEx)",
"{_LG}pex-sql{_LS} (PermissionsEx)",
"{_LG}pex-sql {_LS}-- (PermissionsEx SQL Backend)",
});
}
return;
case "fetch":
/* rscp fetch */
if(sender.hasPermission("rscp.admin.reload"))
{
threadFetchDatabaseContents.startDeamon();
throw new CommandAnswerException(Phrases.MYSQL_FETCHED.toString());
}
cmdFetch.execute(sender);
return;
case "debug":
/* rscp debug [<boolean variant>|toggle] */
cmdDebug.execute(sender, args);
return;
case "reload":
/* rscp reload */
if(sender.hasPermission("rscp.admin.reload"))
{
rscp.getServer().getPluginManager().disablePlugin(rscp);
rscp.getServer().getPluginManager().enablePlugin(rscp);
throw new CommandAnswerException(Phrases.PLUGIN_RELOADED.toString());
}
return;
case "debug":
/* rscp debug [yes|on|no|off|toggle] */
if(sender instanceof ConsoleCommandSender)
throw new CommandAnswerException(Phrases.PLUGIN_PLAYER_ONLY.toString());
if(sender.hasPermission("rscp.admin"))
{
final Player player = (Player)sender;
boolean isDebugging = rscp.permissionManager.isDebugging(player);
if(args.length >= 2)
switch(args[1].toLowerCase())
{
case "yes":
case "on":
isDebugging = true;
break;
case "no":
case "off":
isDebugging = false;
break;
case "toggle":
isDebugging = !isDebugging;
break;
default:
throw new CommandAnswerException(help);
}
else
isDebugging = !isDebugging;
rscp.permissionManager.setDebugging(player, isDebugging);
throw new CommandAnswerException(isDebugging ? Phrases.DEBUG_ON.toString() : Phrases.DEBUG_OFF.toString());
}
cmdReload.execute(sender);
return;
case "help":
default:
throw new CommandAnswerException(help);
break;
}
throw new CommandAnswerException(help);
}
private void onCommandHubUser(CommandSender sender, String[] args) throws CommandAnswerException
{
if(sender.hasPermission("rscp.admin") == false)
throw new CommandAnswerException("Not enough permissions.");
final String[] help = new String[]
{
"rscPermissions command hub (user section).",
"{MAGENTA}Usage:",
"/rscp user <user> list permissions",
"/rscp user <user> list groups",
// "/rscp user <user> list ranks",
"/rscp user <user> prefix [prefix]",
"/rscp user <user> suffix [suffix]",
};
if(args.length < 3)
throw new CommandAnswerException(help);
return;
final Player player = rscp.bridgeForBukkit.findPlayer(args[1]);
if(player == null)
throw new CommandAnswerException("Player should be online");
final ArrayList<String> list = new ArrayList<>();
if(player != null)
args[1] = player.getName();
final ResolutionResult result = (player != null)
? rscp.permissionManager.getResult(player)
: rscp.permissionManager.getResult(args[1]);
final ArrayList<String> answer = new ArrayList<>();
switch(args[2].toLowerCase())
{
case "list":
if(args.length < 4)
throw new CommandAnswerException(help);
switch(args[3].toLowerCase())
{
case "permissions":
list.add("{MAGENTA}Permission list for {_YL}" + player.getName());
final Map<String, Boolean> pv = rscp.permissionManager.listPlayerPermissions(player);
final ArrayList<String> sorted_keys = new ArrayList<>(pv.keySet());
case "lp":
answer.add("Permission list for user {_YL}" + args[1] + "{_LS}:");
final ArrayList<String> sorted_keys = new ArrayList<>(result.permissions.keySet());
Collections.sort(sorted_keys);
for(String perm : sorted_keys)
if(pv.containsKey(perm))
list.add((pv.get(perm) ? "{_LG}" : "{_LR}") + perm);
throw new CommandAnswerException(list);
case "groups":
list.add("{MAGENTA}Group list for {_YL}" + player.getName() + "{MAGENTA}:");
for(String group : rscp.bridgeForBukkit.getPermission().getPlayerGroups(player))
list.add("{_LG}" + group);
throw new CommandAnswerException(list);
}
throw new CommandAnswerException(list);
answer.add((result.permissions.get(perm) ? "{_LG}" : "{_LR}") + perm);
throw new CommandAnswerException(answer);
case "lg":
answer.add("Group list for user {_YL}" + args[1] + "{_LS}:");
for(String group : result.groups)
answer.add("{_LG}" + group);
throw new CommandAnswerException(answer);
case "p":
case "prefix":
if(args.length > 3)
{
/*
plugin.API.setPlayerPrefix(null, player.getName(), args[3]);
list.add("{MAGENTA}Prefix for user {_YL}" + player.getName() +
" {MAGENTA}has been set to \"{_R}" + plugin.cache.userGetPrefix(player.getName()) + "{MAGENTA}\".");
*/
} else {
/*
list.add("{MAGENTA}Prefix for user {_YL}" + player.getName() +
" {MAGENTA}is \"{_R}" + plugin.cache.userGetPrefix(player.getName()) + "{MAGENTA}\".");
*/
}
throw new CommandAnswerException(list);
answer.add("Calculated prefix for user {_YL}" + args[1] + "{_LS} is:");
answer.add("{_R}\"" + result.prefix + "{_R}\"");
throw new CommandAnswerException(answer);
case "s":
case "suffix":
if(args.length > 3)
{
/*
plugin.API.setPlayerSuffix(null, player.getName(), args[3]);
list.add("{MAGENTA}Suffix for user {_YL}" + player.getName() +
" {MAGENTA}has been set to \"{_R}" + plugin.cache.userGetSuffix(player.getName()) + "{MAGENTA}\".");
*/
} else {
/*
list.add("{MAGENTA}Suffix for user {_YL}" + player.getName() +
" {MAGENTA}is \"{_R}" + plugin.cache.userGetSuffix(player.getName()) + "{MAGENTA}\".");
*/
}
throw new CommandAnswerException(list);
answer.add("Calculated suffix for user {_YL}" + args[1] + "{_LS} is:");
answer.add("{_R}\"" + result.suffix + "{_R}\"");
throw new CommandAnswerException(answer);
}
}
private void onCommandHubGroup(CommandSender sender, String[] args) throws CommandAnswerException
public static boolean argumentToBoolean(String arg, Boolean prevForToggle) throws IllegalArgumentException
{
if(sender.hasPermission("rscp.admin") == false)
throw new CommandAnswerException("Not enough permissions.");
final String[] help = new String[]
{
"rscPermissions command hub (group section).",
"{MAGENTA}Usage:",
// "/rscp group <group> list permissions",
// "/rscp group <group> list ranks",
"/rscp group <group> prefix [prefix]",
"/rscp group <group> suffix [suffix]",
};
if(args.length < 3)
throw new CommandAnswerException(help);
final String group = args[1];
final ArrayList<String> list = new ArrayList<>();
switch(args[2].toLowerCase())
if(arg == null || "".equals(arg))
throw new IllegalArgumentException("Argument is null or empty.");
switch(arg.toLowerCase())
{
case "prefix":
if(args.length > 3)
{
/*
plugin.API.setGroupPrefix(null, group, args[3]);
list.add("{MAGENTA}Prefix for group {_YL}" + group +
" {MAGENTA}has been set to \"{_R}" + plugin.cache.groupGetPrefix(group) + "{MAGENTA}\".");
*/
} else {
/*
list.add("{MAGENTA}Prefix for group {_YL}" + group +
" {MAGENTA}is \"{_R}" + plugin.cache.groupGetPrefix(group) + "{MAGENTA}\".");
*/
case "enable":
case "true":
case "yes":
case "on":
return true;
case "disable":
case "false":
case "no":
case "off":
return false;
case "toggle":
if(prevForToggle != null)
return !prevForToggle;
else
throw new IllegalArgumentException("Previous value is unknown.");
}
throw new CommandAnswerException(list);
case "suffix":
if(args.length > 3)
{
/*
plugin.API.setGroupSuffix(null, group, args[3]);
list.add("{MAGENTA}Suffix for group {_YL}" + group +
" {MAGENTA}has been set to \"{_R}" + plugin.cache.groupGetSuffix(group) + "{MAGENTA}\".");
*/
} else {
/*
list.add("{MAGENTA}Suffix for group {_YL}" + group +
" {MAGENTA}is \"{_R}" + plugin.cache.groupGetSuffix(group) + "{MAGENTA}\".");
*/
throw new IllegalArgumentException("Cannot understand boolean value.");
}
throw new CommandAnswerException(list);
public static int argumentToInteger(String arg) throws IllegalArgumentException
{
if(arg == null || "".equals(arg))
throw new IllegalArgumentException("Argument is null or empty.");
try
{
return Integer.parseInt(arg);
} catch(NumberFormatException ex) {
throw new IllegalArgumentException(ex.getMessage());
}
}
}

38
src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandDebug.java

@ -0,0 +1,38 @@
package ru.simsonic.rscPermissions.Bukkit.Commands;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import ru.simsonic.rscPermissions.BukkitPluginMain;
import ru.simsonic.rscPermissions.Engine.Phrases;
import ru.simsonic.rscUtilityLibrary.Bukkit.Commands.CommandAnswerException;
public class CommandDebug
{
private final BukkitPluginMain rscp;
CommandDebug(BukkitPluginMain plugin)
{
this.rscp = plugin;
}
public void execute(CommandSender sender, String args[]) throws CommandAnswerException
{
if(sender instanceof ConsoleCommandSender)
throw new CommandAnswerException(Phrases.PLUGIN_PLAYER_ONLY.toString());
if(sender.hasPermission("rscp.admin"))
{
final Player player = (Player)sender;
boolean isDebugging = rscp.permissionManager.isDebugging(player);
if(args.length >= 2)
{
try
{
isDebugging = BukkitCommands.argumentToBoolean(args[1], isDebugging);
} catch(IllegalArgumentException ex) {
throw new CommandAnswerException("{_LR}" + ex.getMessage());
}
} else
isDebugging = !isDebugging;
rscp.permissionManager.setDebugging(player, isDebugging);
throw new CommandAnswerException(isDebugging ? Phrases.DEBUG_ON.toString() : Phrases.DEBUG_OFF.toString());
}
}
}

22
src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandFetch.java

@ -0,0 +1,22 @@
package ru.simsonic.rscPermissions.Bukkit.Commands;
import org.bukkit.command.CommandSender;
import ru.simsonic.rscPermissions.BukkitPluginMain;
import ru.simsonic.rscPermissions.Engine.Phrases;
import ru.simsonic.rscUtilityLibrary.Bukkit.Commands.CommandAnswerException;
public class CommandFetch
{
private final BukkitPluginMain rscp;
CommandFetch(BukkitPluginMain plugin)
{
this.rscp = plugin;
}
public void execute(CommandSender sender) throws CommandAnswerException
{
if(sender.hasPermission("rscp.admin.reload"))
{
rscp.commandHelper.threadFetchDatabaseContents.startDeamon();
throw new CommandAnswerException(Phrases.MYSQL_FETCHED.toString());
}
}
}

25
src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandLock.java

@ -0,0 +1,25 @@
package ru.simsonic.rscPermissions.Bukkit.Commands;
import org.bukkit.command.CommandSender;
import ru.simsonic.rscPermissions.BukkitPluginMain;
import ru.simsonic.rscUtilityLibrary.Bukkit.Commands.CommandAnswerException;
public class CommandLock
{
private final BukkitPluginMain rscp;
CommandLock(BukkitPluginMain plugin)
{
this.rscp = plugin;
}
public void execute(CommandSender sender, String args[]) throws CommandAnswerException
{
if(sender.hasPermission("rscp.lock"))
{
final String mMode = (args.length >= 2) ? args[1] : "default";
String mmon = "Maintenance mode enabled";
mmon = rscp.getConfig().getString("language.maintenance.locked.default.mmon", mmon);
mmon = rscp.getConfig().getString("language.maintenance.locked." + mMode + ".mmon", mmon);
rscp.bukkitListener.setMaintenanceMode(mMode);
throw new CommandAnswerException(mmon);
}
}
}

23
src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandReload.java

@ -0,0 +1,23 @@
package ru.simsonic.rscPermissions.Bukkit.Commands;
import org.bukkit.command.CommandSender;
import ru.simsonic.rscPermissions.BukkitPluginMain;
import ru.simsonic.rscPermissions.Engine.Phrases;
import ru.simsonic.rscUtilityLibrary.Bukkit.Commands.CommandAnswerException;
public class CommandReload
{
private final BukkitPluginMain rscp;
CommandReload(BukkitPluginMain plugin)
{
this.rscp = plugin;
}
public void execute(CommandSender sender) throws CommandAnswerException
{
if(sender.hasPermission("rscp.admin.reload"))
{
rscp.getServer().getPluginManager().disablePlugin(rscp);
rscp.getServer().getPluginManager().enablePlugin(rscp);
throw new CommandAnswerException(Phrases.PLUGIN_RELOADED.toString());
}
}
}

23
src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandUnlock.java

@ -0,0 +1,23 @@
package ru.simsonic.rscPermissions.Bukkit.Commands;
import org.bukkit.command.CommandSender;
import ru.simsonic.rscPermissions.BukkitPluginMain;
import ru.simsonic.rscUtilityLibrary.Bukkit.Commands.CommandAnswerException;
public class CommandUnlock
{
private final BukkitPluginMain rscp;
CommandUnlock(BukkitPluginMain plugin)
{
this.rscp = plugin;
}
public void execute(CommandSender sender) throws CommandAnswerException
{
if(sender.hasPermission("rscp.lock"))
{
String mmoff = "Maintenance mode disabled";
mmoff = rscp.getConfig().getString("language.maintenance.unlocked", mmoff);
rscp.bukkitListener.setMaintenanceMode(null);
throw new CommandAnswerException(mmoff);
}
}
}

21
src/main/java/ru/simsonic/rscPermissions/Bukkit/PermissionsEx_YAML.java

@ -1,21 +0,0 @@
package ru.simsonic.rscPermissions.Bukkit;
import java.io.File;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import ru.simsonic.rscUtilityLibrary.Bukkit.Commands.CommandAnswerException;
public final class PermissionsEx_YAML
{
public PermissionsEx_YAML(File permissionsYml) throws CommandAnswerException
{
try
{
final FileConfiguration config = YamlConfiguration.loadConfiguration(permissionsYml);
final ConfigurationSection csGroups = config.getConfigurationSection("groups");
final ConfigurationSection csUsers = config.getConfigurationSection("users");
final ConfigurationSection csWorlds = config.getConfigurationSection("worlds");
} catch(NullPointerException ex) {
}
}
}

2
src/main/java/ru/simsonic/rscPermissions/SpongePluginMain.java

@ -6,7 +6,7 @@ import org.spongepowered.api.event.state.ServerStoppedEvent;
import org.spongepowered.api.event.state.ServerStoppingEvent;
import org.spongepowered.api.plugin.Plugin;
@Plugin(id = "rscPermissions", name = "rscPermissions", version = "0.9.9b")
@Plugin(id = "rscPermissions", name = "rscPermissions", version = "0.9b")
public class SpongePluginMain
{
public void onServerStart(ServerAboutToStartEvent event)

Loading…
Cancel
Save