Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.mccity.adrew1.mccitychat.commands;
- import com.google.common.io.ByteArrayDataOutput;
- import com.google.common.io.ByteStreams;
- import net.kyori.adventure.text.minimessage.MiniMessage;
- import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
- import net.luckperms.api.LuckPerms;
- import net.luckperms.api.model.user.User;
- import net.mccity.adrew1.mccitychat.McCityChat;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.jetbrains.annotations.NotNull;
- public class StaffChat implements CommandExecutor {
- private final LuckPerms luckPerms;
- public StaffChat(LuckPerms luckPerms) {
- this.luckPerms = luckPerms;
- }
- @Override
- public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
- if (!(sender instanceof Player player)) {
- sender.sendMessage("You must be a player to run this command.");
- return true;
- }
- String serverPrefix = McCityChat.plugin.getConfig().getString("Server Prefix");
- if (!sender.hasPermission("mccitychat.staffchat")) {
- sender.sendMessage(MiniMessage.miniMessage().deserialize(serverPrefix + " <red>Error! <gray>You must be <dark_aqua>[Staff] <gray>to use this."));
- return true;
- }
- if (!(args.length >= 1)) {
- sender.sendMessage(serverPrefix + " <red>Error! <gray>Incorrect Usage: /staffchat (message)");
- return true;
- }
- StringBuilder builder = new StringBuilder();
- for (String string : args) {
- builder.append(string).append(" ");
- }
- String msg = builder.toString().trim();
- User user = luckPerms.getPlayerAdapter(Player.class).getUser(player);
- String prefix = user.getCachedData().getMetaData().getPrefix();
- String suffix = user.getCachedData().getMetaData().getSuffix();
- String chatPrefix = McCityChat.plugin.getConfig().getString("Staff Prefix");
- String color = McCityChat.plugin.getConfig().getString("Staff Chat Color");
- String chatSep = McCityChat.plugin.getConfig().getString("Chat Separator");
- String message = chatPrefix + " " + prefix + sender.getName() + suffix + chatSep + color + msg;
- ByteArrayDataOutput out = ByteStreams.newDataOutput();
- out.writeUTF(GsonComponentSerializer.gson().serialize(MiniMessage.miniMessage().deserialize(message)));
- player.sendPluginMessage(McCityChat.plugin, "mccity:staff", out.toByteArray());
- return true;
- }
- }
Add Comment
Please, Sign In to add comment