NullValkyrie

Minecraft 1.19 multipurpose plugin for spigot servers with a lot of features where most modern servers have.
git clone https://codeberg.org/night0721/NullValkyrie
Log | Files | Refs | README | LICENSE

MessageCommand.java (2210B)


      1 package me.night.nullvalkyrie.commands;
      2 
      3 import org.bukkit.Bukkit;
      4 import org.bukkit.ChatColor;
      5 import org.bukkit.command.CommandSender;
      6 import org.bukkit.entity.Player;
      7 import org.bukkit.util.StringUtil;
      8 
      9 import java.util.ArrayList;
     10 import java.util.List;
     11 
     12 public class MessageCommand extends Command {
     13     public MessageCommand() {
     14         super("message", new String[]{"msg"}, "Send message to someone", "");
     15     }
     16 
     17     @Override
     18     public void onCommand(CommandSender sender, String[] args) {
     19         if (sender instanceof Player player) {
     20             if (args.length >= 2) {
     21                 if (Bukkit.getPlayerExact(args[0]) != null) {
     22                     Player target = Bukkit.getPlayerExact(args[0]);
     23                     if (!target.equals(player)) {
     24                         StringBuilder builder = new StringBuilder();
     25                         for (int i = 1; i < args.length; i++) {
     26                             builder.append(args[i]).append(" ");
     27                         }
     28                         player.sendMessage(ChatColor.DARK_AQUA + "TO " + ChatColor.RED + target.getName() + ChatColor.WHITE + " : " + builder);
     29                         target.sendMessage(ChatColor.DARK_AQUA + "FROM " + ChatColor.RED + player.getName() + ChatColor.WHITE + " : " + builder);
     30                     } else {
     31                         player.sendMessage(ChatColor.RED + "You cannot send message to yourself");
     32                     }
     33                 } else {
     34                     player.sendMessage(ChatColor.RED + "You cannot send message to offline players");
     35                 }
     36             } else {
     37                 player.sendMessage(ChatColor.RED + "Invalid parameter, use /msg <Player> <Message>");
     38             }
     39         }
     40     }
     41 
     42     @Override
     43     public List<String> onTabComplete(CommandSender sender, String[] args) {
     44         if (args.length == 1) {
     45             List<String> names = new ArrayList<>();
     46             for (Player player : Bukkit.getOnlinePlayers()) {
     47                 names.add(player.getName());
     48             }
     49             return StringUtil.copyPartialMatches(args[0], names, new ArrayList<>());
     50         }
     51         return new ArrayList<>();
     52     }
     53 }