diff --git a/src/main/java/net/knarcraft/stargatecommand/StargateCommand.java b/src/main/java/net/knarcraft/stargatecommand/StargateCommand.java index 6f6dbe1..9840f8a 100644 --- a/src/main/java/net/knarcraft/stargatecommand/StargateCommand.java +++ b/src/main/java/net/knarcraft/stargatecommand/StargateCommand.java @@ -57,6 +57,15 @@ public class StargateCommand extends JavaPlugin { //Currently, nothing needs to be disabled } + /** + * Gets the character used to replace spaces in portal and network names + * + * @return
The character used to replace spaces
+ */ + public static char getSpaceReplacementCharacter() { + return '⚊'; + } + /** * Gets an instance of this plugin * diff --git a/src/main/java/net/knarcraft/stargatecommand/command/CommandDial.java b/src/main/java/net/knarcraft/stargatecommand/command/CommandDial.java index 702232f..dae3a30 100644 --- a/src/main/java/net/knarcraft/stargatecommand/command/CommandDial.java +++ b/src/main/java/net/knarcraft/stargatecommand/command/CommandDial.java @@ -5,6 +5,7 @@ import net.TheDgtl.Stargate.manager.PermissionManager; import net.TheDgtl.Stargate.network.Network; import net.TheDgtl.Stargate.network.RegistryAPI; import net.TheDgtl.Stargate.network.portal.RealPortal; +import net.knarcraft.stargatecommand.StargateCommand; import net.knarcraft.stargatecommand.manager.OverrideManager; import net.knarcraft.stargatecommand.util.PortalFinderHelper; import org.bukkit.command.Command; @@ -18,6 +19,7 @@ import org.jetbrains.annotations.NotNull; */ public class CommandDial implements CommandExecutor { + private final char spaceReplacement = StargateCommand.getSpaceReplacementCharacter(); private final StargateAPI stargateAPI; private final RegistryAPI registryAPI; @@ -49,8 +51,8 @@ public class CommandDial implements CommandExecutor { } PermissionManager permissionManager = stargateAPI.getPermissionManager(player); - String networkName = args[0]; - String portalName = args[1]; + String networkName = args[0].replace(spaceReplacement, ' '); + String portalName = args[1].replace(spaceReplacement, ' '); Network network = registryAPI.getNetwork(networkName, false); if (network == null) { commandSender.sendMessage("Invalid network selected"); diff --git a/src/main/java/net/knarcraft/stargatecommand/command/CommandVisualizer.java b/src/main/java/net/knarcraft/stargatecommand/command/CommandVisualizer.java index f062b29..9beb3ae 100644 --- a/src/main/java/net/knarcraft/stargatecommand/command/CommandVisualizer.java +++ b/src/main/java/net/knarcraft/stargatecommand/command/CommandVisualizer.java @@ -5,6 +5,7 @@ import net.TheDgtl.Stargate.network.RegistryAPI; import net.TheDgtl.Stargate.network.portal.FixedPortal; import net.TheDgtl.Stargate.network.portal.Portal; import net.TheDgtl.Stargate.network.portal.PortalFlag; +import net.knarcraft.stargatecommand.StargateCommand; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -15,6 +16,7 @@ import org.jetbrains.annotations.NotNull; */ public class CommandVisualizer implements CommandExecutor { + private final char spaceReplacement = StargateCommand.getSpaceReplacementCharacter(); private final RegistryAPI registryAPI; /** @@ -39,7 +41,7 @@ public class CommandVisualizer implements CommandExecutor { return true; } - Network network = registryAPI.getNetwork(args[0], false); + Network network = registryAPI.getNetwork(args[0].replace(spaceReplacement, ' '), false); if (network == null) { commandSender.sendMessage("You must provide a valid network to visualize"); return true; @@ -49,29 +51,23 @@ public class CommandVisualizer implements CommandExecutor { stringBuilder.append("All portals in network: ").append(network.getName()).append("\n"); stringBuilder.append("Symbol explanation: ").append("\n"); - stringBuilder.append("# = hidden, ¤ = not hidden").append("\n"); - stringBuilder.append("O = always on, - = not always on").append("\n"); - stringBuilder.append("| = fixed, > = destination choose-able"); + stringBuilder.append("⇒ = hidden, ⇄ = not hidden").append("\n"); + stringBuilder.append("⬛ = always on, ⬜ = not always on").append("\n"); //Print info about all portals in the network for (Portal portal : network.getAllPortals()) { stringBuilder.append("\n"); if (portal.hasFlag(PortalFlag.HIDDEN)) { - stringBuilder.append('#'); + stringBuilder.append('⇒'); } else { - stringBuilder.append('¤'); + stringBuilder.append('⇄'); } if (portal.hasFlag(PortalFlag.ALWAYS_ON)) { - stringBuilder.append('O'); + stringBuilder.append('⬛'); } else { - stringBuilder.append('-'); + stringBuilder.append('⬜'); } //TODO: Look for the fixed flag instead of FixedPortal once it's fixed - if (portal instanceof FixedPortal) { - stringBuilder.append('|'); - } else { - stringBuilder.append('>'); - } stringBuilder.append(" ").append(portal.getName()); if (portal instanceof FixedPortal) { stringBuilder.append(" -> "); diff --git a/src/main/java/net/knarcraft/stargatecommand/command/DialTabCompleter.java b/src/main/java/net/knarcraft/stargatecommand/command/DialTabCompleter.java index dffb3bd..837a1fc 100644 --- a/src/main/java/net/knarcraft/stargatecommand/command/DialTabCompleter.java +++ b/src/main/java/net/knarcraft/stargatecommand/command/DialTabCompleter.java @@ -6,6 +6,7 @@ import net.TheDgtl.Stargate.network.Network; import net.TheDgtl.Stargate.network.RegistryAPI; import net.TheDgtl.Stargate.network.portal.Portal; import net.TheDgtl.Stargate.network.portal.RealPortal; +import net.knarcraft.stargatecommand.StargateCommand; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.TabCompleter; @@ -27,6 +28,7 @@ import static net.knarcraft.stargatecommand.util.TabCompleterHelper.filterMatchi */ public class DialTabCompleter implements TabCompleter { + private final char spaceReplacement = StargateCommand.getSpaceReplacementCharacter(); private final StargateAPI stargateAPI; /** @@ -56,14 +58,14 @@ public class DialTabCompleter implements TabCompleter { populateNetworksAndPortals(permissionManager, availableNetworks, availablePortals); if (args.length > 1) { - Network network = registryAPI.getNetwork(args[0], false); + Network network = registryAPI.getNetwork(args[0].replace(spaceReplacement, ' '), false); if (network != null && availablePortals.containsKey(network)) { - return filterMatching(availablePortals.get(network), args[1]); + return filterMatching(availablePortals.get(network), args[1].replace(spaceReplacement, ' ')); } else { return new ArrayList<>(); } } else { - return filterMatching(availableNetworks, args[0]); + return filterMatching(availableNetworks, args[0].replace(spaceReplacement, ' ')); } } @@ -86,12 +88,13 @@ public class DialTabCompleter implements TabCompleter { if (!availablePortals.containsKey(network)) { availablePortals.put(network, new LinkedList<>()); } - availablePortals.get(network).add(portal.getName()); + availablePortals.get(network).add(portal.getName().replace(' ', spaceReplacement)); } } } //Add only the network names with portals available to the player - availablePortals.keySet().forEach((item) -> availableNetworks.add(item.getName())); + availablePortals.keySet().forEach((item) -> availableNetworks.add(item.getName().replace(' ', + spaceReplacement))); } } diff --git a/src/main/java/net/knarcraft/stargatecommand/command/VisualizerTabCompleter.java b/src/main/java/net/knarcraft/stargatecommand/command/VisualizerTabCompleter.java index ab2d244..515b92f 100644 --- a/src/main/java/net/knarcraft/stargatecommand/command/VisualizerTabCompleter.java +++ b/src/main/java/net/knarcraft/stargatecommand/command/VisualizerTabCompleter.java @@ -1,6 +1,7 @@ package net.knarcraft.stargatecommand.command; import net.TheDgtl.Stargate.network.RegistryAPI; +import net.knarcraft.stargatecommand.StargateCommand; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.TabCompleter; @@ -34,7 +35,8 @@ public class VisualizerTabCompleter implements TabCompleter { @NotNull String[] args) { if (args.length < 2) { List