Пример #1
0
 @Override
 public void save() {
   final ConfigurationSection config = getConfig();
   if (database != null) config.set("database.saveType", database.getType().toString());
   dropInactiveAccounts();
   if (database != null) database.saveAll(datas.values());
   saveConfiguration();
 }
Пример #2
0
 private void commandMainMode(final CommandSender sender, final String[] args)
     throws CrazyCommandException {
   if (!sender.hasPermission("crazylogin.mode")) throw new CrazyCommandPermissionException();
   switch (args.length) {
     case 2:
       if (args[0].equalsIgnoreCase("alwaysNeedPassword")) {
         boolean newValue = false;
         if (args[1].equalsIgnoreCase("1")
             || args[1].equalsIgnoreCase("true")
             || args[1].equalsIgnoreCase("on")
             || args[1].equalsIgnoreCase("yes")) newValue = true;
         alwaysNeedPassword = newValue;
         sendLocaleMessage(
             "MODE.CHANGE", sender, "alwaysNeedPassword", alwaysNeedPassword ? "True" : "False");
         saveConfiguration();
         return;
       } else if (args[0].equalsIgnoreCase("forceSingleSession")) {
         boolean newValue = false;
         if (args[1].equalsIgnoreCase("1")
             || args[1].equalsIgnoreCase("true")
             || args[1].equalsIgnoreCase("on")
             || args[1].equalsIgnoreCase("yes")) newValue = true;
         forceSingleSession = newValue;
         sendLocaleMessage(
             "MODE.CHANGE", sender, "forceSingleSession", forceSingleSession ? "True" : "False");
         saveConfiguration();
         return;
       } else if (args[0].equalsIgnoreCase("forceSingleSessionSameIPBypass")) {
         boolean newValue = false;
         if (args[1].equalsIgnoreCase("1")
             || args[1].equalsIgnoreCase("true")
             || args[1].equalsIgnoreCase("on")
             || args[1].equalsIgnoreCase("yes")) newValue = true;
         forceSingleSessionSameIPBypass = newValue;
         sendLocaleMessage(
             "MODE.CHANGE",
             sender,
             "forceSingleSessionSameIPBypass",
             forceSingleSessionSameIPBypass ? "True" : "False");
         saveConfiguration();
         return;
       } else if (args[0].equalsIgnoreCase("autoLogout")) {
         int newValue = autoLogout;
         try {
           newValue = Integer.parseInt(args[1]);
         } catch (final NumberFormatException e) {
           throw new CrazyCommandParameterException(
               1, "Integer", "-1 = disabled", "0 = instant", "1... time in seconds");
         }
         autoLogout = Math.max(newValue, -1);
         sendLocaleMessage(
             "MODE.CHANGE",
             sender,
             "autoLogout",
             autoLogout == -1 ? "disabled" : autoLogout + " seconds");
         saveConfiguration();
         return;
       } else if (args[0].equalsIgnoreCase("autoKick")) {
         int time = autoKick;
         try {
           time = Integer.parseInt(args[1]);
         } catch (final NumberFormatException e) {
           throw new CrazyCommandParameterException(
               1, "Integer", "-1 = disabled", "Time in Seconds > 60");
         }
         autoKick = time;
         sendLocaleMessage(
             "MODE.CHANGE",
             sender,
             "autoKick",
             autoKick == -1 ? "disabled" : autoKick + " seconds");
         saveConfiguration();
         return;
       } else if (args[0].equalsIgnoreCase("autoKickUnregistered")) {
         int time = autoKickUnregistered;
         try {
           time = Integer.parseInt(args[1]);
         } catch (final NumberFormatException e) {
           throw new CrazyCommandParameterException(
               1, "Integer", "-1 = disabled", "Time in Seconds");
         }
         autoKickUnregistered = Math.max(time, -1);
         sendLocaleMessage(
             "MODE.CHANGE",
             sender,
             "autoKickUnregistered",
             autoKickUnregistered == -1 ? "disabled" : autoKickUnregistered + " seconds");
         saveConfiguration();
         return;
       } else if (args[0].equalsIgnoreCase("autoKickLoginFailer")) {
         int tries = autoKickLoginFailer;
         try {
           tries = Integer.parseInt(args[1]);
         } catch (final NumberFormatException e) {
           throw new CrazyCommandParameterException(1, "Integer", "-1 = disabled", "tries");
         }
         autoKickLoginFailer = Math.max(tries, -1);
         sendLocaleMessage(
             "MODE.CHANGE",
             sender,
             "autoKickLoginFailer",
             autoKickLoginFailer == -1 ? "disabled" : autoKickUnregistered + " tries");
         saveConfiguration();
         return;
       } else if (args[0].equalsIgnoreCase("autoKickCommandUsers")) {
         boolean newValue = false;
         if (args[1].equalsIgnoreCase("1")
             || args[1].equalsIgnoreCase("true")
             || args[1].equalsIgnoreCase("on")
             || args[1].equalsIgnoreCase("yes")) newValue = true;
         autoKickCommandUsers = newValue;
         sendLocaleMessage(
             "MODE.CHANGE",
             sender,
             "autoKickCommandUsers",
             autoKickCommandUsers ? "True" : "False");
         saveConfiguration();
         return;
       } else if (args[0].equalsIgnoreCase("blockGuestCommands")) {
         boolean newValue = false;
         if (args[1].equalsIgnoreCase("1")
             || args[1].equalsIgnoreCase("true")
             || args[1].equalsIgnoreCase("on")
             || args[1].equalsIgnoreCase("yes")) newValue = true;
         blockGuestCommands = newValue;
         sendLocaleMessage(
             "MODE.CHANGE", sender, "blockGuestCommands", blockGuestCommands ? "True" : "False");
         saveConfiguration();
         return;
       } else if (args[0].equalsIgnoreCase("resetGuestLocations")) {
         boolean newValue = false;
         if (args[1].equalsIgnoreCase("1")
             || args[1].equalsIgnoreCase("true")
             || args[1].equalsIgnoreCase("on")
             || args[1].equalsIgnoreCase("yes")) newValue = true;
         resetGuestLocations = newValue;
         if (resetGuestLocations) playerListener.clearSaveLogin(true);
         sendLocaleMessage(
             "MODE.CHANGE", sender, "resetGuestLocations", resetGuestLocations ? "True" : "False");
         saveConfiguration();
         return;
       } else if (args[0].equalsIgnoreCase("saveType")) {
         final String saveType = args[1];
         DatabaseType type = null;
         try {
           type = DatabaseType.valueOf(saveType.toUpperCase());
         } catch (final Exception e) {
           type = null;
         }
         if (type == null) throw new CrazyCommandNoSuchException("SaveType", saveType);
         sendLocaleMessage("MODE.CHANGE", sender, "saveType", saveType);
         if (type == database.getType()) return;
         getConfig().set("database.saveType", type.toString());
         setupDatabase();
         save();
         return;
       } else if (args[0].equalsIgnoreCase("autoDelete")) {
         int time = autoDelete;
         try {
           time = Integer.parseInt(args[1]);
         } catch (final NumberFormatException e) {
           throw new CrazyCommandParameterException(1, "Integer", "-1 = disabled", "Time in Days");
         }
         autoDelete = Math.max(time, -1);
         sendLocaleMessage(
             "MODE.CHANGE",
             sender,
             "autoDelete",
             autoDelete == -1 ? "disabled" : autoKick + " days");
         saveConfiguration();
         if (autoDelete != -1)
           getServer()
               .getScheduler()
               .scheduleAsyncRepeatingTask(
                   this, new DropInactiveAccountsTask(this), 20 * 60 * 60, 20 * 60 * 60 * 6);
         return;
       } else if (args[0].equalsIgnoreCase("moveRange")) {
         int range = moveRange;
         try {
           range = Integer.parseInt(args[1]);
         } catch (final NumberFormatException e) {
           throw new CrazyCommandParameterException(1, "Integer");
         }
         moveRange = Math.max(range, 0);
         sendLocaleMessage("MODE.CHANGE", sender, "moveRange", moveRange + " blocks");
         saveConfiguration();
         return;
       } else if (args[0].equalsIgnoreCase("minNameLength")) {
         int length = minNameLength;
         try {
           length = Integer.parseInt(args[1]);
         } catch (final NumberFormatException e) {
           throw new CrazyCommandParameterException(1, "Integer");
         }
         minNameLength = Math.min(Math.max(length, 1), 16);
         sendLocaleMessage("MODE.CHANGE", sender, "minNameLength", minNameLength + " characters");
         saveConfiguration();
         return;
       } else if (args[0].equalsIgnoreCase("maxNameLength")) {
         int length = maxNameLength;
         try {
           length = Integer.parseInt(args[1]);
         } catch (final NumberFormatException e) {
           throw new CrazyCommandParameterException(1, "Integer");
         }
         maxNameLength = Math.min(Math.max(length, 1), 16);
         sendLocaleMessage("MODE.CHANGE", sender, "maxNameLength", maxNameLength + " characters");
         saveConfiguration();
         return;
       }
       throw new CrazyCommandNoSuchException("Mode", args[0]);
     case 1:
       if (args[0].equalsIgnoreCase("alwaysNeedPassword")) {
         sendLocaleMessage(
             "MODE.CHANGE", sender, "alwaysNeedPassword", alwaysNeedPassword ? "True" : "False");
         return;
       } else if (args[0].equalsIgnoreCase("forceSingleSession")) {
         sendLocaleMessage(
             "MODE.CHANGE", sender, "forceSingleSession", forceSingleSession ? "True" : "False");
         return;
       } else if (args[0].equalsIgnoreCase("forceSingleSessionSameIPBypass")) {
         sendLocaleMessage(
             "MODE.CHANGE",
             sender,
             "forceSingleSessionSameIPBypass",
             forceSingleSessionSameIPBypass ? "True" : "False");
         return;
       } else if (args[0].equalsIgnoreCase("autoLogout")) {
         sendLocaleMessage(
             "MODE.CHANGE",
             sender,
             "autoLogout",
             autoLogout == -1 ? "disabled" : autoLogout + " seconds");
         return;
       } else if (args[0].equalsIgnoreCase("autoKick")) {
         sendLocaleMessage(
             "MODE.CHANGE",
             sender,
             "autoKick",
             autoKick == -1 ? "disabled" : autoKick + " seconds");
         return;
       } else if (args[0].equalsIgnoreCase("autoKickUnregistered")) {
         sendLocaleMessage(
             "MODE.CHANGE",
             sender,
             "autoKickUnregistered",
             autoKickUnregistered == -1 ? "disabled" : autoKickUnregistered + " seconds");
         return;
       } else if (args[0].equalsIgnoreCase("autoKickLoginFailer")) {
         sendLocaleMessage(
             "MODE.CHANGE",
             sender,
             "autoKickLoginFailer",
             autoKickLoginFailer == -1 ? "disabled" : autoKickUnregistered + " tries");
         return;
       } else if (args[0].equalsIgnoreCase("autoKickCommandUsers")) {
         sendLocaleMessage(
             "MODE.CHANGE",
             sender,
             "autoKickCommandUsers",
             autoKickCommandUsers ? "True" : "False");
         return;
       } else if (args[0].equalsIgnoreCase("blockGuestCommands")) {
         sendLocaleMessage(
             "MODE.CHANGE", sender, "blockGuestCommands", blockGuestCommands ? "True" : "False");
         return;
       } else if (args[0].equalsIgnoreCase("resetGuestLocations")) {
         sendLocaleMessage(
             "MODE.CHANGE", sender, "resetGuestLocations", resetGuestLocations ? "True" : "False");
         return;
       } else if (args[0].equalsIgnoreCase("saveType")) {
         sendLocaleMessage("MODE.CHANGE", sender, "saveType", database.getType().toString());
         return;
       } else if (args[0].equalsIgnoreCase("autoDelete")) {
         sendLocaleMessage(
             "MODE.CHANGE",
             sender,
             "autoDelete",
             autoDelete == -1 ? "disabled" : autoKick + " days");
         return;
       } else if (args[0].equalsIgnoreCase("moveRange")) {
         sendLocaleMessage("MODE.CHANGE", sender, "moveRange", moveRange + " blocks");
         return;
       } else if (args[0].equalsIgnoreCase("minNameLength")) {
         sendLocaleMessage("MODE.CHANGE", sender, "minNameLength", minNameLength + " characters");
         return;
       } else if (args[0].equalsIgnoreCase("maxNameLength")) {
         sendLocaleMessage("MODE.CHANGE", sender, "maxNameLength", maxNameLength + " characters");
         return;
       } else if (args[0].equalsIgnoreCase("algorithm")) {
         sendLocaleMessage("MODE.CHANGE", sender, "algorithm", encryptor.getAlgorithm());
         return;
       }
       throw new CrazyCommandNoSuchException("Mode", args[0]);
     default:
       throw new CrazyCommandUsageException("/crazylogin mode <Mode> [Value]");
   }
 }