equivalent-exchange-3/src/main/java/com/pahimar/ee3/reference/Files.java
2016-05-25 11:17:10 -04:00

62 lines
3.3 KiB
Java

package com.pahimar.ee3.reference;
import com.pahimar.ee3.blacklist.BlacklistRegistry;
import com.pahimar.ee3.exchange.EnergyValueRegistry;
import com.pahimar.ee3.knowledge.PlayerKnowledgeRegistry;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import java.io.File;
public class Files {
public static File globalDataDirectory;
public static File playerDataDirectory;
private static final String ENERGY_VALUES_JSON_FILENAME = "energy-values.json";
private static final String PRE_CALCULATION_ENERGY_VALUES_FILENAME = "pre-calculation-energy-values.json";
private static final String POST_CALCULATION_ENERGY_VALUES_FILENAME = "post-calculation-energy-values.json";
public static final String TEMPLATE_PLAYER_KNOWLEDGE_FILENAME = "template-player-knowledge.json";
public static final String KNOWLEDGE_BLACKLIST_FILENAME = "knowledge-blacklist.json";
public static final String EXCHANGE_BLACKLIST_FILENAME = "exchange-blacklist.json";
public static File abilitiesDataDirectory;
public static File abilitiesDataFile;
public static void init(FMLPreInitializationEvent event) {
globalDataDirectory = new File(event.getModConfigurationDirectory().getParentFile(), "data" + File.separator + Reference.LOWERCASE_MOD_ID);
Tests.globalTestDirectory = new File(globalDataDirectory, "tests");
Tests.globalTestDirectory.mkdirs();
Tests.VANILLA_TEST_SUITE.save();
EnergyValueRegistry.energyValuesDirectory = new File(globalDataDirectory, "energy-values");
EnergyValueRegistry.energyValuesDirectory.mkdirs();
EnergyValueRegistry.energyValuesFile = new File(EnergyValueRegistry.energyValuesDirectory, ENERGY_VALUES_JSON_FILENAME);
EnergyValueRegistry.preCalculationValuesFile = new File(EnergyValueRegistry.energyValuesDirectory, PRE_CALCULATION_ENERGY_VALUES_FILENAME);
EnergyValueRegistry.postCalculationValuesFile = new File(EnergyValueRegistry.energyValuesDirectory, POST_CALCULATION_ENERGY_VALUES_FILENAME);
File templatePlayerKnowledgeDirectory = new File(globalDataDirectory, "knowledge" + File.separator + "transmutation");
templatePlayerKnowledgeDirectory.mkdirs();
PlayerKnowledgeRegistry.templatePlayerKnowledgeFile = new File(templatePlayerKnowledgeDirectory, TEMPLATE_PLAYER_KNOWLEDGE_FILENAME);
BlacklistRegistry.knowledgeBlacklistFile = new File(globalDataDirectory, "blacklist" + File.separator + KNOWLEDGE_BLACKLIST_FILENAME);
BlacklistRegistry.exchangeBlacklistFile = new File(globalDataDirectory, "blacklist" + File.separator + EXCHANGE_BLACKLIST_FILENAME);
abilitiesDataDirectory = new File(globalDataDirectory, "abilities");
abilitiesDataDirectory.mkdirs();
abilitiesDataFile = new File(abilitiesDataDirectory, "abilities.json");
}
/**
* Updates the references to the instance specific EE3 data directories, creating them if they don't already exist
*/
public static void updateFileReferences() {
playerDataDirectory = new File(FMLCommonHandler.instance().getMinecraftServerInstance().getEntityWorld().getSaveHandler().getWorldDirectory(), "playerdata" + File.separator + Reference.LOWERCASE_MOD_ID);
playerDataDirectory.mkdirs();
}
}