48 lines
1.7 KiB
Java
48 lines
1.7 KiB
Java
|
package net.t2code.alias.Spigot.cmdManagement;
|
||
|
|
||
|
import net.t2code.alias.Spigot.Main;
|
||
|
import net.t2code.alias.Spigot.objects.SubAliasObject;
|
||
|
import net.t2code.lib.Spigot.Lib.commands.Tab;
|
||
|
import org.bukkit.event.EventHandler;
|
||
|
import org.bukkit.event.Listener;
|
||
|
import org.bukkit.event.server.TabCompleteEvent;
|
||
|
import org.bukkit.plugin.Plugin;
|
||
|
|
||
|
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])) return;
|
||
|
if (!Main.allForSubAliases.contains(imp[0])) return;
|
||
|
arg1.clear();
|
||
|
List<String> list = new ArrayList<>(Collections.emptyList());
|
||
|
for (String sals : Main.allSubAliases) {
|
||
|
SubAliasObject sal = Main.subAliasHashMap.get(sals);
|
||
|
if (!buffer.contains(sal.subAliasFor)) continue;
|
||
|
|
||
|
String[] im = sal.subAliasFor.split(" ");
|
||
|
String input = buffer.replace("/" + im[0] + " ", "");
|
||
|
String[] args = input.split(" ", -1);
|
||
|
|
||
|
for (String al : sal.subAliasList) {
|
||
|
arg1.put(al, "t2code.alias.use.subalias." + al.toLowerCase());
|
||
|
}
|
||
|
int arg = sal.subAliasArg;
|
||
|
if (args.length - 1 == arg) {
|
||
|
for (String command : sal.subAliasList) {
|
||
|
if (Tab.hasPermission(e.getSender(), arg1.get(command)) && Tab.passend(command, args[arg])) {
|
||
|
list.add(command);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
e.setCompletions(list);
|
||
|
}
|
||
|
}
|