T2Code-Alias/src/main/java/net/t2code/alias/Spigot/config/subAlias/SelectSubAlias.java

112 lines
6.7 KiB
Java

package net.t2code.alias.Spigot.config.subAlias;
import com.google.common.base.Preconditions;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Spigot.config.alias.AliasConfigConverter;
import net.t2code.alias.Spigot.objects.SubAliasObject;
import net.t2code.alias.Util;
import net.t2code.lib.Spigot.Lib.messages.send;
import org.bukkit.Bukkit;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;
import java.util.logging.Level;
public class SelectSubAlias {
private static String Prefix = Util.getPrefix();
public static void onSelect() {
Main.subAliasHashMap.clear();
Main.allSubAliases.clear();
File f = new File(Main.getPath() + "/SubAlias/");
File[] fileArray = f.listFiles();
for (File config_gui : fileArray) {
if (config_gui.getName().equals("X_subAliasDeclaration_X.yml")) continue;
String sub = config_gui.getName().substring(config_gui.getName().length() - 4);
if (sub.equals(".yml")) {
YamlConfiguration yamlConfiguration;
try {
Preconditions.checkArgument(config_gui != null, "File cannot be null");
YamlConfiguration config = new YamlConfiguration();
config.load(config_gui);
yamlConfiguration = config;
} catch (FileNotFoundException var3) {
continue;
} catch (IOException var4) {
Bukkit.getLogger().log(Level.SEVERE, "Cannot load " + config_gui, var4);
continue;
} catch (InvalidConfigurationException var5) {
Bukkit.getLogger().log(Level.SEVERE, "Cannot load " + config_gui, var5);
continue;
}
Boolean aliasEnable = yamlConfiguration.getBoolean("SubAlias.Enable");
List<String> subAliasList = yamlConfiguration.getStringList("SubAlias.SubAliasList");
String subAliasFor = yamlConfiguration.getString("SubAlias.SubAliasFor");
int subAliasArg = 0;
if (subAliasFor != null) {
String[] imp = subAliasFor.split(" ");
if (!Main.allAliases.contains(imp[0])) {
send.error(Main.getPlugin(), "The alias " + imp[0] + " in the file " + config_gui.getName() + " does not exist!");
}
String[] args = subAliasFor.split(" ");
subAliasArg = args.length - 1;
}
Boolean permNecessary = yamlConfiguration.getBoolean("SubAlias.Permission.Necessary");
if (yamlConfiguration.get("SubAlias.Permission.Permission") == null) {
AliasConfigConverter.convertAddPermission(yamlConfiguration, config_gui, true);
}
String permission = yamlConfiguration.getString("SubAlias.Permission.Permission");
if (yamlConfiguration.get("SubAlias.Permission.CustomNoPermissionMSG") == null) {
AliasConfigConverter.convertAddPermissionMSG(yamlConfiguration, config_gui, true);
}
String permissionMSG = yamlConfiguration.getString("SubAlias.Permission.CustomNoPermissionMSG");
Boolean costEnable = yamlConfiguration.getBoolean("SubAlias.Cost.Enable");
Double costPrice = yamlConfiguration.getDouble("SubAlias.Cost.Price");
Boolean costAllowBypass = yamlConfiguration.getBoolean("SubAlias.Cost.AllowByPass");
Boolean commandEnable = yamlConfiguration.getBoolean("SubAlias.Command.Enable");
Boolean commandAsConsole = yamlConfiguration.getBoolean("SubAlias.Command.CommandAsConsole");
Boolean bungeeCommand = yamlConfiguration.getBoolean("SubAlias.Command.BungeeCommand");
List<String> command = yamlConfiguration.getStringList("SubAlias.Command.Commands");
Boolean messageEnable = yamlConfiguration.getBoolean("SubAlias.Message.Enable");
List<String> messages = yamlConfiguration.getStringList("SubAlias.Message.Messages");
Boolean adminEnable = yamlConfiguration.getBoolean("SubAlias.Admin.Enable");
String adminPermission = yamlConfiguration.getString("SubAlias.Admin.Permission");
Boolean adminCommandEnable = yamlConfiguration.getBoolean("SubAlias.Admin.Command.Enable");
Boolean adminCommandAsConsole = yamlConfiguration.getBoolean("SubAlias.Admin.Command.CommandAsConsole");
Boolean adminBungeeCommand = yamlConfiguration.getBoolean("SubAlias.Admin.Command.BungeeCommand");
List<String> adminCommands = yamlConfiguration.getStringList("SubAlias.Admin.Command.Commands");
Boolean adminMessageEnable = yamlConfiguration.getBoolean("SubAlias.Admin.Message.Enable");
List<String> adminMessages = yamlConfiguration.getStringList("SubAlias.Admin.Message.Messages");
Boolean consoleEnable = yamlConfiguration.getBoolean("SubAlias.Console.Enable");
Boolean consoleCommandEnable = yamlConfiguration.getBoolean("SubAlias.Console.Command.Enable");
Boolean consoleBungeeCommand = yamlConfiguration.getBoolean("SubAlias.Console.Command.BungeeCommand");
List<String> consoleCommands = yamlConfiguration.getStringList("SubAlias.Console.Command.Commands");
Boolean consoleMessageEnable = yamlConfiguration.getBoolean("SubAlias.Console.Message.Enable");
List<String> consoleMessages = yamlConfiguration.getStringList("SubAlias.Console.Message.Messages");
SubAliasObject subAlias = new SubAliasObject(aliasEnable, subAliasList, subAliasFor, subAliasArg, permNecessary, permission, permissionMSG, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand,
command, messageEnable, messages, adminEnable, adminPermission, adminCommandEnable, adminCommandAsConsole, adminBungeeCommand, adminCommands,
adminMessageEnable, adminMessages, consoleEnable, consoleCommandEnable, consoleBungeeCommand, consoleCommands, consoleMessageEnable, consoleMessages);
for (String sal : subAliasList) {
Main.subAliasHashMap.put(sal, subAlias);
}
Main.allSubAliases.addAll(subAliasList);
Main.allForSubAliases.add(subAliasFor);
send.console(Prefix + " §aSubAlias file §e" + config_gui.getName() + " §awas loaded");
}
}
}
}