@@ -0,0 +1,1696 @@
+package com.github.to2mbn.jmccc.option;%0A%0Aimport java.io.File;%0Aimport java.util.Objects;%0A%0A/**%0A * Describes a minecraft directory.%0A * %0A * @author yushijinhun%0A */%0Apublic class MinecraftDirectory %7B%0A%0A    /**%0A     * The '.minecraft' dir.%0A     */%0A    protected File rootDir;%0A%0A    /**%0A     * Creates a MinecraftDirectory with the given root directory.%0A     * %0A     * @param rootDir the root directory of minecraft (eg. %3Ccode%3E%22.minecraft%22%3Ccode%3E)%0A     */%0A    public MinecraftDirectory(File rootDir) %7B%0A        Objects.requireNonNull(rootDir);%0A        this.rootDir = rootDir;%0A    %7D%0A%0A    /**%0A     * Gets the root of the minecraft directory.%0A     * %3Cp%3E%0A     * Usually it's '.minecraft'.%0A     * %0A     * @return the root of the minecraft directory%0A     */%0A    public File getRoot() %7B%0A        return rootDir;%0A    %7D%0A%0A    /**%0A     * Gets the versions directory.%0A     * %0A     * @return the versions directory%0A     */%0A    public File getVersions() %7B%0A        return new File(rootDir, %22versions%22);%0A    %7D%0A%0A    /**%0A     * Gets the libraries directory.%0A     * %0A     * @return the libraries directory%0A     */%0A    public File getLibraries() %7B%0A        return new File(rootDir, %22libraries%22);%0A    %7D%0A%0A    /**%0A     * Gets the saves directory.%0A     * %0A     * @return the saves directory%0A     */%0A    public File getSaves() %7B%0A        return new File(rootDir, %22saves%22);%0A    %7D%0A%0A    /**%0A     * Gets the natives directory.%0A     * %0A     * @return the natives directory%0A     */%0A    public File getNatives() %7B%0A        return new File(rootDir, %22natives%22);%0A    %7D%0A%0A    /**%0A     * Gets the assets directory.%0A     * %0A     * @return the assets directory%0A     */%0A    public File getAssets() %7B%0A        return new File(rootDir, %22assets%22);%0A    %7D%0A%0A%7D%0A

add MinecraftDirectory