JaTiTV 5d72e0d48d 1.5
New features:
- The option "CooldownInSec.Global" has been added to give an alias a global cooldown that counts for all players.
- The option "CooldownInSec.Player" has been added to give an alias a cooldown that counts for a single player.

The permissions have been revised:
- t2code.alias.admin -> t2c.alias.admin
- t2code.alias.updatemsg -> t2c.alias.updatemsg
- t2code.alias.command.reload -> t2c.alias.command.reload
- t2code.alias.command.info -> t2c.alias.command.info
- t2code.alias.buy.bypass -> t2c.alias.buy.all.bypass
- The bypass for payment can now also be set individually for each alias / subalias: t2c.alias.buy.[alias].bypass / t2c.alias.sub.buy.all.bypass
2024-06-15 18:47:17 +02:00

48 lines
1.8 KiB
Java

package net.t2code.alias.Spigot.cmdManagement;
import net.t2code.alias.Spigot.Main;
import net.t2code.alias.Spigot.objects.SubAliasObject;
import net.t2code.t2codelib.SPIGOT.api.commands.T2Ctab;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.server.TabCompleteEvent;
import java.util.*;
public class TabEvent implements Listener {
private static HashMap<String, String> arg1 = new HashMap<String, String>();
@EventHandler
public void onTab(TabCompleteEvent e) {
String buffer = e.getBuffer();
String[] imp = buffer.replace("/", "").split(" ");
if (!Main.allAliases.contains(imp[0]) || !Main.allForSubAliases.contains(imp[0])){
return;
}
List<String> list = new ArrayList<>(Collections.emptyList());
arg1.clear();
for (String sals : Main.allSubAliases) {
SubAliasObject aliasObject = Main.subAliasHashMap.get(sals);
if (!buffer.contains(aliasObject.subAliasFor)) continue;
String[] im = aliasObject.subAliasFor.split(" ");
String input = buffer.replace("/" + im[0] + " ", "");
String[] args = input.split(" ", -1);
for (String al : aliasObject.subAliasList) {
arg1.put(al, aliasObject.permission.replace("[alias]", al.toLowerCase()));
}
int arg = aliasObject.subAliasArg;
if (args.length - 1 == arg) {
for (String command : aliasObject.subAliasList) {
if (T2Ctab.hasPermission(e.getSender(), arg1.get(command)) && T2Ctab.passend(command, args[arg])) {
list.add(command);
}
}
}
}
e.setCompletions(list);
}
}