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

112 lines
6.7 KiB
Java
Raw Normal View History

2022-07-07 11:48:08 +00:00
package net.t2code.alias.Spigot.config.subAlias;
2022-07-05 18:01:48 +00:00
2022-07-08 17:06:12 +00:00
import com.google.common.base.Preconditions;
2022-07-05 18:01:48 +00:00
import net.t2code.alias.Spigot.Main;
2022-07-08 17:06:12 +00:00
import net.t2code.alias.Spigot.config.alias.AliasConfigConverter;
import net.t2code.alias.Spigot.objects.SubAliasObject;
2022-07-05 18:01:48 +00:00
import net.t2code.alias.Util;
import net.t2code.lib.Spigot.Lib.messages.send;
2022-07-08 17:06:12 +00:00
import org.bukkit.Bukkit;
import org.bukkit.configuration.InvalidConfigurationException;
2022-07-05 18:01:48 +00:00
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
2022-07-08 17:06:12 +00:00
import java.io.FileNotFoundException;
import java.io.IOException;
2022-07-05 18:01:48 +00:00
import java.util.List;
2022-07-08 17:06:12 +00:00
import java.util.logging.Level;
2022-07-05 18:01:48 +00:00
public class SelectSubAlias {
private static String Prefix = Util.getPrefix();
public static void onSelect() {
Main.subAliasHashMap.clear();
Main.allSubAliases.clear();
2022-07-05 18:01:48 +00:00
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")) {
2022-07-08 17:06:12 +00:00
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;
}
2022-07-05 18:01:48 +00:00
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) {
2022-07-07 11:48:08 +00:00
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!");
2022-07-07 11:48:08 +00:00
}
String[] args = subAliasFor.split(" ");
subAliasArg = args.length - 1;
}
2022-07-05 18:01:48 +00:00
Boolean permNecessary = yamlConfiguration.getBoolean("SubAlias.Permission.Necessary");
2022-07-08 17:06:12 +00:00
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");
2022-07-05 18:01:48 +00:00
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");
2022-07-08 17:06:12 +00:00
SubAliasObject subAlias = new SubAliasObject(aliasEnable, subAliasList, subAliasFor, subAliasArg, permNecessary, permission, permissionMSG, costEnable, costPrice, costAllowBypass, commandEnable, commandAsConsole, bungeeCommand,
2022-07-05 18:01:48 +00:00
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);
2022-07-07 11:48:08 +00:00
send.console(Prefix + " §aSubAlias file §e" + config_gui.getName() + " §awas loaded");
2022-07-05 18:01:48 +00:00
}
}
}
}