71 lines
2.6 KiB
Java
71 lines
2.6 KiB
Java
package net.t2code.t2codelib.SPIGOT.api.commands;
|
|
|
|
import net.t2code.t2codelib.SPIGOT.api.debug.T2Cdebug;
|
|
import net.t2code.t2codelib.SPIGOT.system.T2CbungeeCommandSenderReciver;
|
|
import net.t2code.t2codelib.SPIGOT.system.T2CodeLibMain;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.entity.Player;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Unmodifiable;
|
|
|
|
import java.rmi.MarshalledObject;
|
|
import java.util.Map;
|
|
|
|
public class T2Ccmd {
|
|
public static void console(String cmdInput) {
|
|
Map.Entry<String,Integer> map = delay(cmdInput);
|
|
int delay = map.getValue();
|
|
String cmd = map.getKey();
|
|
Bukkit.getScheduler().runTaskLater(T2CodeLibMain.getPlugin(), new Runnable() {
|
|
@Override
|
|
public void run() {
|
|
if (cmd.contains("!onBungee")) {
|
|
T2CbungeeCommandSenderReciver.sendToBungee(null, cmd.replace("!onBungee", ""), true);
|
|
} else Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), cmd);
|
|
}
|
|
}, delay);
|
|
}
|
|
|
|
public static void player(Player player, String cmdInput) {
|
|
Map.Entry<String,Integer> map = delay(cmdInput);
|
|
int delay = map.getValue();
|
|
String cmd = map.getKey();
|
|
Bukkit.getScheduler().runTaskLater(T2CodeLibMain.getPlugin(), new Runnable() {
|
|
@Override
|
|
public void run() {
|
|
if (cmd.contains("!asConsole")) {
|
|
if (cmd.contains("!onBungee")) {
|
|
T2CbungeeCommandSenderReciver.sendToBungee(player, cmd.replace("!asConsole", "").replace("!onBungee", ""), true);
|
|
} else console(cmd.replace("!asConsole", ""));
|
|
} else {
|
|
if (cmd.contains("!onBungee")) {
|
|
T2CbungeeCommandSenderReciver.sendToBungee(player, cmd.replace("!onBungee", ""), false);
|
|
} else player.chat("/" + cmd);
|
|
}
|
|
}
|
|
}, delay);
|
|
}
|
|
|
|
private static Map.Entry<String, Integer> delay(@NotNull String cmdInput) {
|
|
int delay = 0;
|
|
String cmd;
|
|
if (cmdInput.contains("!delay:")) {
|
|
int i = cmdInput.indexOf("!delay:") + 7;
|
|
String s2 = cmdInput.substring(i);
|
|
int i2 = 1;
|
|
if(s2.contains(" ")) {
|
|
i2 = s2.indexOf(" ");
|
|
}else{
|
|
i2 = s2.length();
|
|
}
|
|
delay = Integer.parseInt(cmdInput.substring(i, i + i2));
|
|
cmd = cmdInput.replace("!delay:" + delay, "");
|
|
|
|
} else cmd = cmdInput;
|
|
|
|
return Map.entry(cmd, delay);
|
|
}
|
|
|
|
|
|
}
|