This repository has been archived on 2024-07-25. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Thresholds/src/main/java/dev/zontreck/otemod/implementation/vault/StarterProvider.java
2024-01-15 22:34:05 -07:00

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();
}
}