Implements #11
This commit is contained in:
@@ -10,9 +10,11 @@ import net.knarcraft.stargatecommand.formatting.TranslatableMessage;
|
|||||||
import net.knarcraft.stargatecommand.manager.IconManager;
|
import net.knarcraft.stargatecommand.manager.IconManager;
|
||||||
import net.knarcraft.stargatecommand.property.Icon;
|
import net.knarcraft.stargatecommand.property.Icon;
|
||||||
import net.knarcraft.stargatecommand.property.StargateCommandCommand;
|
import net.knarcraft.stargatecommand.property.StargateCommandCommand;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandExecutor;
|
import org.bukkit.command.CommandExecutor;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import static net.knarcraft.stargatecommand.formatting.StringFormatter.getTranslatedErrorMessage;
|
import static net.knarcraft.stargatecommand.formatting.StringFormatter.getTranslatedErrorMessage;
|
||||||
@@ -47,7 +49,18 @@ public class CommandVisualizer implements CommandExecutor {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Network network = registryAPI.getNetwork(args[0].replace(spaceReplacement, " "), false);
|
String networkName = args[0].trim().replace(spaceReplacement, " ");
|
||||||
|
|
||||||
|
//Replace {playerName} with network UUID
|
||||||
|
if (networkName.matches("^\\{.*}$")) {
|
||||||
|
Player player = Bukkit.getPlayer(networkName.substring(1, networkName.length() - 1));
|
||||||
|
if (player != null) {
|
||||||
|
networkName = player.getUniqueId().toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Network network = registryAPI.getNetwork(networkName, false);
|
||||||
|
|
||||||
if (network == null) {
|
if (network == null) {
|
||||||
commandSender.sendMessage(getTranslatedErrorMessage(TranslatableMessage.INVALID_NETWORK_GIVEN));
|
commandSender.sendMessage(getTranslatedErrorMessage(TranslatableMessage.INVALID_NETWORK_GIVEN));
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -4,14 +4,17 @@ import net.TheDgtl.Stargate.network.RegistryAPI;
|
|||||||
import net.knarcraft.stargatecommand.manager.IconManager;
|
import net.knarcraft.stargatecommand.manager.IconManager;
|
||||||
import net.knarcraft.stargatecommand.property.Icon;
|
import net.knarcraft.stargatecommand.property.Icon;
|
||||||
import net.knarcraft.stargatecommand.property.StargateCommandCommand;
|
import net.knarcraft.stargatecommand.property.StargateCommandCommand;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.command.TabCompleter;
|
import org.bukkit.command.TabCompleter;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
import static net.knarcraft.stargatecommand.util.TabCompleterHelper.filterMatching;
|
import static net.knarcraft.stargatecommand.util.TabCompleterHelper.filterMatching;
|
||||||
|
|
||||||
@@ -42,8 +45,20 @@ public class VisualizerTabCompleter implements TabCompleter {
|
|||||||
|
|
||||||
if (args.length < 2) {
|
if (args.length < 2) {
|
||||||
List<String> networkNames = new ArrayList<>();
|
List<String> networkNames = new ArrayList<>();
|
||||||
registryAPI.getNetworkMap().values().forEach(item -> networkNames.add(item.getName().replace(" ",
|
registryAPI.getNetworkMap().values().forEach(network -> {
|
||||||
IconManager.getIconString(Icon.SPACE_REPLACEMENT))));
|
String networkName = network.getName().replace(" ", IconManager.getIconString(
|
||||||
|
Icon.SPACE_REPLACEMENT));
|
||||||
|
try {
|
||||||
|
UUID userID = UUID.fromString(network.getName());
|
||||||
|
Player player = Bukkit.getPlayer(userID);
|
||||||
|
if (player != null) {
|
||||||
|
networkName = "{" + player.getName() + "}";
|
||||||
|
}
|
||||||
|
} catch (IllegalArgumentException exception) {
|
||||||
|
//Ignored. Not a UUID
|
||||||
|
}
|
||||||
|
networkNames.add(networkName);
|
||||||
|
});
|
||||||
return filterMatching(networkNames, args[0]);
|
return filterMatching(networkNames, args[0]);
|
||||||
} else {
|
} else {
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
|
|||||||
Reference in New Issue
Block a user