T2Code-Alias/src/main/java/net/t2code/alias/Spigot/cmdManagement/RegisterCommands.java

63 lines
2.2 KiB
Java

package net.t2code.alias.Spigot.cmdManagement;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Spigot.config.config.Language;
import net.t2code.alias.Spigot.objects.AliasObject;
import net.t2code.alias.Spigot.objects.SubAliasObject;
import net.t2code.alias.Util;
import net.t2code.t2codelib.SPIGOT.api.messages.T2Csend;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class RegisterCommands extends Command {
private String alias;
private String prefix = Util.getPrefix();
public RegisterCommands(String alias) {
super(alias);
this.alias = alias;
}
@Override
public boolean execute(CommandSender sender, String commandLabel, String[] args) {
AliasObject alias = Main.aliasHashMap.get(this.alias);
if (alias == null) {
T2Csend.error(Main.getPlugin(), "The alias " + this.alias + " does not exist.");
return false;
}
if (!alias.aliasEnable) {
T2Csend.sender(sender, Language.aliasDisabled.value);
return true;
}
if (args.length == 0 || args.length == 1 && args[0].contains("-p:")) {
if (sender instanceof Player) {
ExecuteAlias.aliasPlayer(sender, alias, this.alias, args);
} else {
if (alias.consoleEnable) {
ExecuteAlias.aliasConsole(alias, sender, prefix);
} else T2Csend.sender(sender, Language.onlyForPlayer.value);
}
} else {
if (!Main.allForSubAliases.contains(this.alias)) {
return false;
}
for (String sals : Main.allSubAliases) {
SubAliasObject sal = Main.subAliasHashMap.get(sals);
if (args.length == sal.subAliasArg + 1) {
for (String al : sal.subAliasList) {
if (args[sal.subAliasArg].toLowerCase().equals(al)) {
ExecuteAlias.subAliasPlayer(sender, sal, al, args);
return true;
}
}
}
}
T2Csend.sender(sender, Language.noSubCommand.value);
}
return true;
}
}