From 67b918b04895e133ee20efb30b90c09605f059fb Mon Sep 17 00:00:00 2001 From: Jesse Boyd Date: Tue, 13 Dec 2016 14:57:54 +1100 Subject: [PATCH] Fix relative path --- .../sk89q/worldedit/command/SchematicCommands.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java b/core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java index 48173dc9..f429da8d 100644 --- a/core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java +++ b/core/src/main/java/com/sk89q/worldedit/command/SchematicCommands.java @@ -344,6 +344,7 @@ public class SchematicCommands { } private List listFiles(String prefix, File[] files) { + File dir = worldEdit.getWorkingDirectoryFile(prefix); if (prefix == null) prefix = ""; List result = new ArrayList(); for (File file : files) { @@ -352,8 +353,14 @@ public class SchematicCommands { build.append("\u00a72"); ClipboardFormat format = ClipboardFormat.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.name()); + if (inRoot) { + build.append(file.getName()); + } else { + String relative = dir.toURI().relativize(file.toURI()).getPath(); + String[] split = file.getPath().split(Pattern.quote(prefix + File.separator)); + build.append(relative); + } + build.append(": ").append(format == null ? "Unknown" : format.name()); result.add(build.toString()); } return result;