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; } }