124 lines
5.5 KiB
Java
124 lines
5.5 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.AliasObjekt;
|
|
import net.t2code.t2codelib.BUNGEE.api.commands.T2CBcmd;
|
|
import net.t2code.t2codelib.BUNGEE.api.messages.T2CBreplace;
|
|
import net.t2code.t2codelib.BUNGEE.api.messages.T2CBsend;
|
|
import net.t2code.t2codelib.SPIGOT.api.messages.T2CtextBuilder;
|
|
|
|
public class RegisterCommands extends Command {
|
|
private final String alias;
|
|
private final String prefix = Main.prefix;
|
|
|
|
public RegisterCommands(String alias) {
|
|
super(alias);
|
|
this.alias = alias;
|
|
}
|
|
|
|
@Override
|
|
public void execute(CommandSender sender, String[] args) {
|
|
AliasObjekt Alias = Main.aliasHashMap.get(alias);
|
|
|
|
if (!Alias.aliasEnable) {
|
|
T2CBsend.sender(sender, SelectMessages.aliasDisabled);
|
|
return;
|
|
}
|
|
if (sender instanceof ProxiedPlayer) {
|
|
ProxiedPlayer player = (ProxiedPlayer) sender;
|
|
|
|
if (Alias.serverProtectionEnable) {
|
|
if (Alias.serverProtectionMode.equalsIgnoreCase("blacklist") && Alias.serverProtectionList.contains(player.getServer().getInfo().getName())) {
|
|
return;
|
|
}
|
|
if (Alias.serverProtectionMode.equalsIgnoreCase("whitelist") && !Alias.serverProtectionList.contains(player.getServer().getInfo().getName())) {
|
|
return;
|
|
}
|
|
}
|
|
|
|
if (Alias.adminEnable) {
|
|
if (player.hasPermission(Alias.adminPermission)) {
|
|
if (Alias.adminCommandEnable) {
|
|
for (String cmd : Alias.adminCommands) {
|
|
if (Alias.adminCommandAsConsole) {
|
|
T2CBcmd.Console(cmd.replace("[player]", player.getName()));
|
|
} else {
|
|
T2CBcmd.Player(player, cmd.replace("[player]", player.getName()));
|
|
}
|
|
}
|
|
}
|
|
if (Alias.adminMessageEnable) {
|
|
for (String msg : Alias.adminMessages) {
|
|
String text = T2CBreplace.replace(prefix, msg);
|
|
String hover = T2CBreplace.replace(prefix, Alias.adminHover);
|
|
if (Alias.adminTextBuilder) {
|
|
T2CtextBuilder textBuilder = new T2CtextBuilder(text);
|
|
textBuilder.addHover(hover);
|
|
if (Alias.adminClickEvent) {
|
|
textBuilder.addClickEvent(ClickEvent.Action.valueOf(Alias.adminAction), Alias.adminActionValue);
|
|
}
|
|
player.sendMessage(textBuilder.build());
|
|
} else {
|
|
T2CBsend.player(player, text);
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
if (Alias.permNecessary) {
|
|
if (!(player.hasPermission("t2code.alias.use." + alias.toLowerCase()) || player.hasPermission("t2code.alias.admin"))) {
|
|
T2CBsend.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) {
|
|
T2CBcmd.Console(cmd.replace("[player]", player.getName()));
|
|
} else {
|
|
T2CBcmd.Player(player, cmd.replace("[player]", player.getName()));
|
|
}
|
|
}
|
|
}
|
|
if (Alias.messageEnable) {
|
|
for (String msg : Alias.messages) {
|
|
String text = T2CBreplace.replace(prefix, msg);
|
|
String hover = T2CBreplace.replace(prefix, Alias.hover);
|
|
if (Alias.textBuilder) {
|
|
T2CtextBuilder textBuilder = new T2CtextBuilder(text);
|
|
textBuilder.addHover(hover);
|
|
if (Alias.clickEvent) {
|
|
textBuilder.addClickEvent(ClickEvent.Action.valueOf(Alias.action), Alias.actionValue);
|
|
}
|
|
player.sendMessage(textBuilder.build());
|
|
} else {
|
|
T2CBsend.player(player, text);
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
if (Alias.consoleEnable) {
|
|
if (Alias.consoleCommandEnable) {
|
|
for (String cmd : Alias.consoleCommands) {
|
|
T2CBcmd.Console(cmd.replace("[player]", sender.getName()));
|
|
}
|
|
}
|
|
if (Alias.consoleMessageEnable) {
|
|
for (String msg : Alias.consoleMessages) {
|
|
T2CBsend.console(T2CBreplace.replace(prefix, msg));
|
|
}
|
|
}
|
|
} else T2CBsend.sender(sender, SelectMessages.onlyForPlayer);
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
|