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

115 lines
5.0 KiB
Java

package net.t2code.alias.Bungee.cmdManagement;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
import net.t2code.alias.Bungee.Main;
import net.t2code.alias.Bungee.config.languages.SelectMessages;
import net.t2code.alias.Bungee.objects.Alias_Objekt;
import net.t2code.lib.Bungee.Lib.commands.Bcmd;
import net.t2code.lib.Bungee.Lib.messages.Bsend;
import net.t2code.lib.Bungee.Lib.replace.BReplace;
import net.t2code.lib.Spigot.Lib.messages.TextBuilder;
public class RegisterCommands extends Command {
private final String alias;
private final String prefix = Main.prefix;
public RegisterCommands(String alias) {
super(alias, "t2code.alias.use." + alias.toLowerCase());
this.alias = alias;
}
@Override
public void execute(CommandSender sender, String[] args) {
Alias_Objekt Alias = Main.aliasHashMap.get(alias);
if (!Alias.AliasEnable) {
Bsend.sender(sender, SelectMessages.AliasDisabled);
return;
}
if (sender instanceof ProxiedPlayer) {
ProxiedPlayer player = (ProxiedPlayer) sender;
if (Alias.AdminEnable) {
if (player.hasPermission(Alias.AdminPermission)) {
if (Alias.AdminCommandEnable) {
for (String cmd : Alias.AdminCommands) {
if (Alias.AdminCommandAsConsole) {
Bcmd.Console(cmd.replace("[player]", player.getName()));
} else {
Bcmd.Player(player, cmd.replace("[player]", player.getName()));
}
}
}
if (Alias.AdminMessageEnable) {
for (String msg : Alias.AdminMessages) {
String text = BReplace.replace(prefix, msg);
String hover = BReplace.replace(prefix, Alias.AdminHover);
if (Alias.AdminTextBuilder) {
TextBuilder textBuilder = new TextBuilder(text);
textBuilder.addHover(hover);
if (Alias.AdminClickEvent) {
textBuilder.addClickEvent(ClickEvent.Action.valueOf(Alias.AdminAction), Alias.AdminActionValue);
}
player.sendMessage(textBuilder.build());
} else {
Bsend.player(player, text);
}
}
}
return;
}
}
if (Alias.Perm_necessary) {
if (!(player.hasPermission("t2code.alias.use." + alias.toLowerCase()) || player.hasPermission("t2code.alias.admin"))) {
Bsend.player(player, SelectMessages.NoPermissionForCommand.replace("[cmd]", "/" + alias.toLowerCase())
.replace("[perm]", "t2code.alias.use." + alias.toLowerCase()));
return;
}
}
if (Alias.Command_Enable) {
for (String cmd : Alias.Command) {
if (Alias.CommandAsConsole) {
Bcmd.Console(cmd.replace("[player]", player.getName()));
} else {
Bcmd.Player(player, cmd.replace("[player]", player.getName()));
}
}
}
if (Alias.Message_Enable) {
for (String msg : Alias.Messages) {
String text = BReplace.replace(prefix, msg);
String hover = BReplace.replace(prefix, Alias.Hover);
if (Alias.TextBuilder) {
TextBuilder textBuilder = new TextBuilder(text);
textBuilder.addHover(hover);
if (Alias.ClickEvent) {
textBuilder.addClickEvent(ClickEvent.Action.valueOf(Alias.Action), Alias.ActionValue);
}
player.sendMessage(textBuilder.build());
} else {
Bsend.player(player, text);
}
}
}
} else {
if (Alias.ConsoleEnable) {
if (Alias.ConsoleCommandEnable) {
for (String cmd : Alias.ConsoleCommands) {
Bcmd.Console(cmd.replace("[player]", sender.getName()));
}
}
if (Alias.ConsoleMessageEnable) {
for (String msg : Alias.ConsoleMessages) {
Bsend.console(BReplace.replace(prefix, msg));
}
}
} else Bsend.sender(sender, SelectMessages.OnlyForPlayer);
}
return;
}
}