package org.pepsoft.minecraft.mapexplorer; import java.io.File; import java.text.Collator; import java.util.Arrays; /** * Created by pepijn on 13-3-16. */ public class DirectoryNode extends FileSystemNode { public DirectoryNode(File dir) { super(dir); } @Override public boolean isLeaf() { return false; } @Override protected Node[] loadChildren() { File[] contents = file.listFiles(File::isDirectory); if (contents != null) { Node[] children = new Node[contents.length]; for (int i = 0; i < contents.length; i++) { File levelDatFile = new File(contents[i], "level.dat"); if (levelDatFile.isFile()) { children[i] = new MapRootNode(contents[i]); } else { children[i] = new DirectoryNode(contents[i]); } } Arrays.sort(children, (node1, node2) -> COLLATOR.compare(node1.getName(), node2.getName())); return children; } else { return new Node[0]; } } protected static final Collator COLLATOR = Collator.getInstance(); }