feat(core-bukkit): 添加新方法
This commit is contained in:
@@ -13,10 +13,12 @@ import org.bukkit.Material;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.command.CommandException;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.HumanEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
@@ -382,6 +384,32 @@ public final class CoreBukkitUtils {
|
||||
);
|
||||
}
|
||||
|
||||
@SuppressWarnings("CallToPrintStackTrace")
|
||||
public static void executeCommand(@NotNull Player player, @NotNull String command) {
|
||||
String[] split = command.split(":", 2);
|
||||
try {
|
||||
switch (split[0]) {
|
||||
case "player": {
|
||||
Bukkit.dispatchCommand(player, split[1]);
|
||||
break;
|
||||
}
|
||||
case "console": {
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), split[1]);
|
||||
break;
|
||||
}
|
||||
case "op": {
|
||||
boolean op = player.isOp();
|
||||
player.setOp(true);
|
||||
Bukkit.dispatchCommand(player, split[1]);
|
||||
player.setOp(op);
|
||||
break;
|
||||
}
|
||||
}
|
||||
} catch (CommandException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static CompletableFuture<String> getPlayerChat(HumanEntity player) {
|
||||
return CallbackListener.CHATS.computeIfAbsent(player.getUniqueId(), o -> new CompletableFuture<>());
|
||||
|
Reference in New Issue
Block a user