62 lines
1.6 KiB
Java
62 lines
1.6 KiB
Java
package dev.zontreck.otemod.implementation.vault;
|
|
|
|
import dev.zontreck.libzontreck.profiles.Profile;
|
|
import dev.zontreck.otemod.configs.OTEServerConfig;
|
|
import dev.zontreck.otemod.database.OTEDatastore;
|
|
|
|
import java.io.File;
|
|
import java.io.IOException;
|
|
import java.nio.file.Files;
|
|
import java.nio.file.Path;
|
|
import java.util.List;
|
|
|
|
public class StarterProvider extends OTEDatastore
|
|
{
|
|
public enum VaultAccessStrategy
|
|
{
|
|
OPEN,
|
|
CREATE,
|
|
DENY
|
|
}
|
|
|
|
public static final Path FILE_TREE_PATH = of("starter");
|
|
|
|
public static VaultAccessStrategy check()
|
|
{
|
|
if(!FILE_TREE_PATH.toFile().exists())
|
|
{
|
|
try {
|
|
Files.createDirectory(FILE_TREE_PATH);
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
Path starterVaultPath = FILE_TREE_PATH.resolve("starter.nbt");
|
|
File vaultFile = starterVaultPath.toFile();
|
|
|
|
if(vaultFile.exists())
|
|
{
|
|
return VaultAccessStrategy.OPEN;
|
|
}else {
|
|
return VaultAccessStrategy.CREATE;
|
|
}
|
|
|
|
}
|
|
|
|
public static Starter getStarter() throws NoMoreVaultException
|
|
{
|
|
VaultAccessStrategy strat = check();
|
|
if(strat == VaultAccessStrategy.CREATE || strat == VaultAccessStrategy.OPEN)
|
|
{
|
|
Path userVault = FILE_TREE_PATH.resolve("starter.nbt");
|
|
Starter v = new Starter(userVault.toFile());
|
|
return v;
|
|
}else return null;
|
|
}
|
|
|
|
public static boolean exists()
|
|
{
|
|
Path v = FILE_TREE_PATH.resolve("starter.nbt");
|
|
return v.toFile().exists();
|
|
}
|
|
}
|