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

commit caba15bb3b829fc8aac2d21e10ecfb4a15a6d266
parent 5f55a90a7e3ef73feb659664b04279ba6623bc15
Author: night0721 <[email protected]>
Date:   Sun, 10 Jul 2022 22:38:41 +0100

user cant message themselves now and added tab complete to some command

Diffstat:
Msrc/main/java/com/night/nullvalkyrie/commands/MessageCommand.java | 26++++++++++++++++++++------
Msrc/main/java/com/night/nullvalkyrie/commands/RankCommand.java | 17++++++++++++++++-
2 files changed, 36 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/night/nullvalkyrie/commands/MessageCommand.java b/src/main/java/com/night/nullvalkyrie/commands/MessageCommand.java @@ -4,7 +4,10 @@ import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import org.bukkit.util.StringUtil; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; public class MessageCommand extends Command { @@ -24,12 +27,16 @@ public class MessageCommand extends Command { if (args.length >= 2) { if(Bukkit.getPlayerExact(args[0]) != null) { Player target = Bukkit.getPlayerExact(args[0]); - StringBuilder builder = new StringBuilder(); - for(int i = 1; i < args.length; i++) { - builder.append(args[i]).append(" "); + if(!target.equals(player)) { + StringBuilder builder = new StringBuilder(); + for(int i = 1; i < args.length; i++) { + builder.append(args[i]).append(" "); + } + player.sendMessage(ChatColor.DARK_AQUA + "TO " + ChatColor.RED + target.getName() + ChatColor.WHITE + " : " + builder); + target.sendMessage(ChatColor.DARK_AQUA + "FROM " + ChatColor.RED + player.getName() + ChatColor.WHITE + " : " + builder); + } else { + player.sendMessage(ChatColor.RED + "You cannot send message to yourself"); } - player.sendMessage(ChatColor.DARK_AQUA + "TO " + ChatColor.RED + target.getName() + ChatColor.WHITE + " : " + builder); - target.sendMessage(ChatColor.DARK_AQUA + "FROM " + ChatColor.RED + player.getName() + ChatColor.WHITE + " : " + builder); } else { player.sendMessage(ChatColor.RED + "You cannot send message to offline players"); } @@ -41,6 +48,13 @@ public class MessageCommand extends Command { @Override public List<String> onTabComplete(CommandSender sender, String[] args) { - return null; + if(args.length == 1) { + List<String> names = new ArrayList<>(); + for(Player player: Bukkit.getOnlinePlayers()) { + names.add(player.getName()); + } + return StringUtil.copyPartialMatches(args[0], names, new ArrayList<>()); + } + return new ArrayList<>(); } } diff --git a/src/main/java/com/night/nullvalkyrie/commands/RankCommand.java b/src/main/java/com/night/nullvalkyrie/commands/RankCommand.java @@ -9,7 +9,9 @@ import org.bukkit.ChatColor; import org.bukkit.OfflinePlayer; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import org.bukkit.util.StringUtil; +import java.util.ArrayList; import java.util.List; import java.util.UUID; import java.util.concurrent.TimeUnit; @@ -69,6 +71,19 @@ public class RankCommand extends Command { @Override public List<String> onTabComplete(CommandSender sender, String[] args) { - return null; + if(args.length == 1) { + List<String> names = new ArrayList<>(); + for(Player player: Bukkit.getOnlinePlayers()) { + names.add(player.getName()); + } + return StringUtil.copyPartialMatches(args[0], names, new ArrayList<>()); + } else if(args.length == 2) { + List<String> roles = new ArrayList<>(); + for(Rank rank : Rank.values()){ + roles.add(rank.name()); + } + return StringUtil.copyPartialMatches(args[1], roles, new ArrayList<>()); + } + return new ArrayList<>(); } }