Makes the info command's output translatable
Improves some general messaging
This commit is contained in:
@@ -57,16 +57,6 @@ public class StargateCommand extends JavaPlugin {
|
|||||||
//Currently, nothing needs to be disabled
|
//Currently, nothing needs to be disabled
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the character used to replace spaces in portal and network names
|
|
||||||
*
|
|
||||||
* @return <p>The character used to replace spaces</p>
|
|
||||||
*/
|
|
||||||
public static char getSpaceReplacementCharacter() {
|
|
||||||
//TODO: Make this configurable
|
|
||||||
return '⚊';
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets an instance of this plugin
|
* Gets an instance of this plugin
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -230,9 +230,10 @@ public class CommandConfig implements CommandExecutor {
|
|||||||
*/
|
*/
|
||||||
private void printConfigOptionValue(CommandSender sender, ConfigurationOption option) {
|
private void printConfigOptionValue(CommandSender sender, ConfigurationOption option) {
|
||||||
Object value = configurationAPI.getConfigurationOptionValue(option);
|
Object value = configurationAPI.getConfigurationOptionValue(option);
|
||||||
sender.sendMessage(getOptionDescription(option));
|
String description = getOptionDescription(option);
|
||||||
sender.sendMessage(StringFormatter.replacePlaceholder(Translator.getTranslatedMessage(
|
String currentValue = StringFormatter.replacePlaceholder(Translator.getTranslatedMessage(
|
||||||
TranslatableMessage.CONFIG_OPTION_CURRENT_VALUE), "{value}", String.valueOf(value)));
|
TranslatableMessage.CONFIG_OPTION_CURRENT_VALUE), "{value}", String.valueOf(value));
|
||||||
|
sender.sendMessage(StringFormatter.formatInfoMessage(description + "\n" + currentValue));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -241,13 +242,15 @@ public class CommandConfig implements CommandExecutor {
|
|||||||
* @param sender <p>The command sender to display the config list to</p>
|
* @param sender <p>The command sender to display the config list to</p>
|
||||||
*/
|
*/
|
||||||
private void displayConfigValues(CommandSender sender) {
|
private void displayConfigValues(CommandSender sender) {
|
||||||
sender.sendMessage(Translator.getTranslatedMessage(TranslatableMessage.CONFIG_VALUES_HEADER));
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
stringBuilder.append(StringFormatter.getTranslatedInfoMessage(TranslatableMessage.CONFIG_VALUES_HEADER));
|
||||||
|
|
||||||
for (ConfigurationOption option : ConfigurationOption.values()) {
|
for (ConfigurationOption option : ConfigurationOption.values()) {
|
||||||
if (!bannedConfigOptions.contains(option)) {
|
if (!bannedConfigOptions.contains(option)) {
|
||||||
sender.sendMessage(getOptionDescription(option));
|
stringBuilder.append("\n").append(getOptionDescription(option));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
sender.sendMessage(stringBuilder.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ package net.knarcraft.stargatecommand.command;
|
|||||||
import net.TheDgtl.Stargate.network.RegistryAPI;
|
import net.TheDgtl.Stargate.network.RegistryAPI;
|
||||||
import net.TheDgtl.Stargate.network.portal.Portal;
|
import net.TheDgtl.Stargate.network.portal.Portal;
|
||||||
import net.TheDgtl.Stargate.network.portal.PortalFlag;
|
import net.TheDgtl.Stargate.network.portal.PortalFlag;
|
||||||
|
import net.knarcraft.stargatecommand.formatting.StringFormatter;
|
||||||
|
import net.knarcraft.stargatecommand.formatting.TranslatableMessage;
|
||||||
|
import net.knarcraft.stargatecommand.formatting.Translator;
|
||||||
import net.knarcraft.stargatecommand.property.StargateCommandCommand;
|
import net.knarcraft.stargatecommand.property.StargateCommandCommand;
|
||||||
import net.knarcraft.stargatecommand.util.PortalFinderHelper;
|
import net.knarcraft.stargatecommand.util.PortalFinderHelper;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
@@ -18,6 +21,8 @@ import java.util.ArrayList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import static net.knarcraft.stargatecommand.formatting.StringFormatter.getTranslatedErrorMessage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This tab-command represents the command for getting information about a seen portal
|
* This tab-command represents the command for getting information about a seen portal
|
||||||
*/
|
*/
|
||||||
@@ -38,36 +43,33 @@ public class TabCommandInfo implements TabExecutor {
|
|||||||
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s,
|
public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s,
|
||||||
@NotNull String[] args) {
|
@NotNull String[] args) {
|
||||||
if (!(commandSender instanceof Player player)) {
|
if (!(commandSender instanceof Player player)) {
|
||||||
commandSender.sendMessage("This command can only be used by a player");
|
commandSender.sendMessage(getTranslatedErrorMessage(TranslatableMessage.COMMAND_PLAYER_ONLY));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (!player.hasPermission(StargateCommandCommand.INFO.getPermissionNode())) {
|
if (!player.hasPermission(StargateCommandCommand.INFO.getPermissionNode())) {
|
||||||
player.sendMessage("Permission Denied");
|
player.sendMessage(getTranslatedErrorMessage(TranslatableMessage.PERMISSION_DENIED));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Portal portal = PortalFinderHelper.findPortalByRaytrace(registryAPI, player, 15);
|
Portal portal = PortalFinderHelper.findPortalByRaytrace(registryAPI, player, 15);
|
||||||
if (portal == null) {
|
if (portal == null) {
|
||||||
commandSender.sendMessage("You need to look directly at a portal to get information about it");
|
commandSender.sendMessage(getTranslatedErrorMessage(TranslatableMessage.NO_PORTAL_IN_SIGHT));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
|
||||||
stringBuilder.append("Information about the Stargate you are currently looking at:").append("\n");
|
|
||||||
stringBuilder.append("|- ").append("Name: ").append(portal.getName()).append("\n");
|
|
||||||
String destination = portal.getDestinationName();
|
|
||||||
if (destination != null && !destination.equalsIgnoreCase("null")) {
|
|
||||||
stringBuilder.append("|- ").append("Destination: ").append(portal.getDestinationName()).append("\n");
|
|
||||||
}
|
|
||||||
stringBuilder.append("|- ").append("Network: ").append(portal.getNetwork().getName()).append("\n");
|
|
||||||
Player owner = Bukkit.getPlayer(portal.getOwnerUUID());
|
Player owner = Bukkit.getPlayer(portal.getOwnerUUID());
|
||||||
if (owner != null) {
|
String name = portal.getName();
|
||||||
stringBuilder.append("|- ").append("Owner: ").append(owner.getName()).append("\n");
|
String destination = portal.getDestinationName() == null ? "" : portal.getDestinationName();
|
||||||
} else {
|
String network = portal.getNetwork().getName();
|
||||||
stringBuilder.append("|- ").append("Owner: ").append(portal.getOwnerUUID()).append("\n");
|
String ownerName = owner != null ? owner.getName() : portal.getOwnerUUID().toString();
|
||||||
}
|
|
||||||
Set<PortalFlag> portalFlags = PortalFlag.parseFlags(portal.getAllFlagsString());
|
Set<PortalFlag> portalFlags = PortalFlag.parseFlags(portal.getAllFlagsString());
|
||||||
stringBuilder.append("|- ").append("Flags: ").append(StringUtils.join(portalFlags, ", ")).append("\n");
|
String flags = StringUtils.join(portalFlags, ", ");
|
||||||
player.sendMessage(stringBuilder.toString());
|
|
||||||
|
String infoMessage = StringFormatter.replacePlaceholders(Translator.getTranslatedMessage(
|
||||||
|
TranslatableMessage.COMMAND_INFO_FORMAT), new String[]{"{portal}", "{destination}", "{network}",
|
||||||
|
"{owner}", "{flags}"}, new String[]{name, destination, network, ownerName, flags});
|
||||||
|
|
||||||
|
player.sendMessage(StringFormatter.formatInfoMessage(infoMessage));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
package net.knarcraft.stargatecommand.command;
|
package net.knarcraft.stargatecommand.command;
|
||||||
|
|
||||||
import net.TheDgtl.Stargate.network.RegistryAPI;
|
import net.TheDgtl.Stargate.network.RegistryAPI;
|
||||||
import net.knarcraft.stargatecommand.StargateCommand;
|
import net.knarcraft.stargatecommand.manager.IconManager;
|
||||||
|
import net.knarcraft.stargatecommand.property.Icon;
|
||||||
import net.knarcraft.stargatecommand.property.StargateCommandCommand;
|
import net.knarcraft.stargatecommand.property.StargateCommandCommand;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@@ -41,8 +42,8 @@ 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(item -> networkNames.add(item.getName().replace(" ",
|
||||||
StargateCommand.getSpaceReplacementCharacter())));
|
IconManager.getIconString(Icon.SPACE_REPLACEMENT))));
|
||||||
return filterMatching(networkNames, args[0]);
|
return filterMatching(networkNames, args[0]);
|
||||||
} else {
|
} else {
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
|
|||||||
@@ -110,4 +110,9 @@ public enum TranslatableMessage {
|
|||||||
*/
|
*/
|
||||||
COMMAND_VISUALIZER_FIXED_FORMAT,
|
COMMAND_VISUALIZER_FIXED_FORMAT,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The format used to display information about a Stargate
|
||||||
|
*/
|
||||||
|
COMMAND_INFO_FORMAT,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,3 +20,4 @@ en:
|
|||||||
COMMAND_VISUALIZER_FORMAT: "Symbol explanation: \n&6{icon_h}&r = hidden, &6{icon_nh}&r = not hidden\n&6{icon_a}&r = always open, &6{icon_na}&r = not always open\n&6{icon_r}&r = random destination, &6{icon_nr}&r = non-random destination\n&6{icon_arrow_right}&r = fixed portal going to the specified portal\n|\nAll portals in network &a{network}&r:"
|
COMMAND_VISUALIZER_FORMAT: "Symbol explanation: \n&6{icon_h}&r = hidden, &6{icon_nh}&r = not hidden\n&6{icon_a}&r = always open, &6{icon_na}&r = not always open\n&6{icon_r}&r = random destination, &6{icon_nr}&r = non-random destination\n&6{icon_arrow_right}&r = fixed portal going to the specified portal\n|\nAll portals in network &a{network}&r:"
|
||||||
COMMAND_VISUALIZER_PORTAL_FORMAT: "&6{icons} &a{portal}&r{fixed}"
|
COMMAND_VISUALIZER_PORTAL_FORMAT: "&6{icons} &a{portal}&r{fixed}"
|
||||||
COMMAND_VISUALIZER_FIXED_FORMAT: " {icon_arrow_right} &a{portal}"
|
COMMAND_VISUALIZER_FIXED_FORMAT: " {icon_arrow_right} &a{portal}"
|
||||||
|
COMMAND_INFO_FORMAT: "Stargate info:\n|- &6Name&r: &a{portal}&r\n|- &6Destination&r: &a{destination}&r\n|- &6Network&r: &a{network}&r\n|- &6Owner&r: &a{owner}&r\n|- &6Flags&r: &a{flags}&r"
|
||||||
Reference in New Issue
Block a user