package net.minecraftforkage.instsetup;
import java.io.File;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* Contains random global information that lots of things need during the instance setup process.
*/
public final class InstanceEnvironmentData {
/**
* The main Minecraft directory.
* For clients, this is the .minecraft directory.
* For servers, this is usually the current directory.
*/
public static File getMinecraftDir() {assert minecraftDir != null; return minecraftDir;}
/**
* The mods directory.
*/
public static File getModsDir() {assert modsDir != null; return modsDir;}
/**
* The config directory.
*/
public static File getConfigDir() {assert configDir != null; return configDir;}
/**
* A temporary directory available for use during instance setup.
*/
public static File getSetupTempDir() {assert setupTempDir != null; return setupTempDir;}
/**
* An unstructured "blackboard" for any mods that want to add their own data to this, for any reason.
* This map is accessible to setup plugins; it is not used directly by Minecraft Forkage.
* Keys are recommended (but not required) to be strings starting with your mod ID, to avoid conflicts.
*/
public static final Map<Object, Object> customData = new HashMap<Object, Object>();
static File configDir;
static File modsDir;
static File minecraftDir;
static File setupTempDir;
// TODO: remove (replace with a JSON list file)
public static Set<String> extraModContainers = new HashSet<>();
private InstanceEnvironmentData() {}
}