private List<String> listFiles(String prefix, File[] files) { if (prefix == null) prefix = ""; List<String> result = new ArrayList<>(); for (File file : files) { StringBuilder build = new StringBuilder(); build.append("\u00a72"); ClipboardFormat format = ClipboardFormats.findByFile(file); boolean inRoot = file.getParentFile().getName().equals(prefix); build.append(inRoot ? file.getName() : file.getPath().split(Pattern.quote(prefix + File.separator))[1]) .append(": ").append(format == null ? "Unknown" : format.getName()); result.add(build.toString()); } return result; } }
@Command( aliases = {"formats", "listformats", "f"}, desc = "List available formats", max = 0 ) @CommandPermissions("worldedit.schematic.formats") public void formats(Actor actor) throws WorldEditException { actor.print("Available clipboard formats (Name: Lookup names)"); StringBuilder builder; boolean first = true; for (ClipboardFormat format : ClipboardFormats.getAll()) { builder = new StringBuilder(); builder.append(format.getName()).append(": "); for (String lookupName : format.getAliases()) { if (!first) { builder.append(", "); } builder.append(lookupName); first = false; } first = true; actor.print(builder.toString()); } }