2012-08-21 05:18:53 +02:00
|
|
|
package ee3.common.core.handlers;
|
2012-08-20 03:16:51 +02:00
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
import java.util.logging.Level;
|
|
|
|
import cpw.mods.fml.common.FMLLog;
|
2012-08-21 05:18:53 +02:00
|
|
|
import ee3.common.EquivalentExchange3;
|
2012-09-07 21:41:43 +02:00
|
|
|
import ee3.common.block.ModBlocks;
|
|
|
|
import ee3.common.item.ModItems;
|
2012-08-29 22:02:30 +02:00
|
|
|
import ee3.common.lib.BlockIds;
|
2012-09-07 21:41:43 +02:00
|
|
|
import ee3.common.lib.ConfigurationSettings;
|
2012-08-25 08:07:59 +02:00
|
|
|
import ee3.common.lib.ItemIds;
|
2012-09-07 21:41:43 +02:00
|
|
|
import ee3.common.lib.Reference;
|
2012-08-21 05:18:53 +02:00
|
|
|
import net.minecraftforge.common.Configuration;
|
2012-08-20 03:16:51 +02:00
|
|
|
import static net.minecraftforge.common.Configuration.*;
|
|
|
|
|
|
|
|
/**
|
2012-08-25 08:46:51 +02:00
|
|
|
* ConfigurationManager
|
|
|
|
*
|
|
|
|
* Loads in configuration data from disk
|
|
|
|
*
|
|
|
|
* @author pahimar
|
|
|
|
* @license Lesser GNU Public License v3 (http://www.gnu.org/licenses/lgpl.html)
|
|
|
|
*
|
|
|
|
*/
|
2012-08-21 05:18:53 +02:00
|
|
|
public class ConfigurationHandler {
|
2012-08-25 08:46:51 +02:00
|
|
|
|
|
|
|
private static final String CATEGORY_KEYBIND = "keybinds";
|
|
|
|
|
|
|
|
public static void init(File configFile) {
|
|
|
|
Configuration configuration = new Configuration(configFile);
|
|
|
|
|
|
|
|
try {
|
|
|
|
configuration.load();
|
|
|
|
|
|
|
|
/* General Configs */
|
2012-09-28 17:10:55 +02:00
|
|
|
ConfigurationSettings.ENABLE_SOUNDS = configuration
|
|
|
|
.get(CATEGORY_GENERAL, Reference.ENABLE_SOUNDS, ConfigurationSettings.ENABLE_SOUNDS_DEFAULT)
|
|
|
|
.getBoolean(ConfigurationSettings.ENABLE_SOUNDS_DEFAULT);
|
|
|
|
ConfigurationSettings.ENABLE_PARTICLE_FX = configuration
|
|
|
|
.get(CATEGORY_GENERAL, Reference.ENABLE_PARTICLE_FX, ConfigurationSettings.ENABLE_PARTICLE_FX_DEFAULT)
|
|
|
|
.getBoolean(ConfigurationSettings.ENABLE_PARTICLE_FX_DEFAULT);
|
|
|
|
ConfigurationSettings.MINIUM_STONE_TRANSMUTE_COST = configuration
|
|
|
|
.get(CATEGORY_GENERAL, ConfigurationSettings.MINIUM_STONE_TRANSMUTE_COST_CONFIGNAME, ConfigurationSettings.MINIUM_STONE_TRANSMUTE_COST_DEFAULT)
|
|
|
|
.getInt(ConfigurationSettings.MINIUM_STONE_TRANSMUTE_COST_DEFAULT);
|
|
|
|
ConfigurationSettings.MINIUM_STONE_MAX_DURABILITY = configuration
|
|
|
|
.get(CATEGORY_GENERAL, ConfigurationSettings.MINIUM_STONE_MAX_DURABILITY_CONFIGNAME, ConfigurationSettings.MINIUM_STONE_MAX_DURABILITY_DEFAULT)
|
|
|
|
.getInt(ConfigurationSettings.MINIUM_STONE_MAX_DURABILITY_DEFAULT);
|
2012-08-25 08:46:51 +02:00
|
|
|
|
|
|
|
/* Block Configs */
|
2012-09-28 17:10:55 +02:00
|
|
|
ConfigurationSettings.AUTO_RESOLVE_BLOCK_IDS = configuration
|
|
|
|
.get(CATEGORY_BLOCK, Reference.AUTO_RESOLVE_BLOCK_IDS, ConfigurationSettings.AUTO_RESOLVE_BLOCK_IDS_DEFAULT)
|
|
|
|
.getBoolean(ConfigurationSettings.AUTO_RESOLVE_BLOCK_IDS_DEFAULT);
|
|
|
|
BlockIds.CALCINATOR = configuration
|
|
|
|
.getBlock(ModBlocks.CALCINATOR_NAME, BlockIds.CALCINATOR_DEFAULT)
|
|
|
|
.getInt(BlockIds.CALCINATOR_DEFAULT);
|
|
|
|
BlockIds.RED_WATER_STILL = configuration
|
|
|
|
.getBlock(ModBlocks.RED_WATER_STILL_NAME, BlockIds.RED_WATER_STILL_DEFAULT)
|
|
|
|
.getInt(BlockIds.RED_WATER_STILL_DEFAULT);
|
2012-08-25 08:46:51 +02:00
|
|
|
|
|
|
|
/* Item Configs */
|
2012-09-28 17:10:55 +02:00
|
|
|
ItemIds.MINIUM_SHARD = configuration
|
|
|
|
.getItem(ModItems.MINIUM_SHARD_NAME, ItemIds.MINIUM_SHARD_DEFAULT)
|
|
|
|
.getInt(ItemIds.MINIUM_SHARD_DEFAULT);
|
|
|
|
ItemIds.MINIUM_STONE = configuration
|
|
|
|
.getItem(ModItems.MINIUM_STONE_NAME, ItemIds.MINIUM_STONE_DEFAULT)
|
|
|
|
.getInt(ItemIds.MINIUM_STONE_DEFAULT);
|
|
|
|
ItemIds.PHILOSOPHER_STONE = configuration
|
|
|
|
.getItem(ModItems.PHILOSOPHER_STONE_NAME, ItemIds.PHILOSOPHER_STONE_DEFAULT)
|
|
|
|
.getInt(ItemIds.PHILOSOPHER_STONE_DEFAULT);
|
2012-08-25 08:46:51 +02:00
|
|
|
|
|
|
|
/* KeyBinding Configs */
|
2012-09-28 17:10:55 +02:00
|
|
|
configuration.addCustomCategoryComment(CATEGORY_KEYBIND, "");
|
|
|
|
EquivalentExchange3.proxy.setKeyBinding(Reference.KEYBINDING_EXTRA, configuration
|
|
|
|
.get(CATEGORY_KEYBIND, Reference.KEYBINDING_EXTRA, Reference.KEYBINDING_EXTRA_DEFAULT)
|
|
|
|
.getInt(Reference.KEYBINDING_EXTRA_DEFAULT));
|
|
|
|
EquivalentExchange3.proxy.setKeyBinding(Reference.KEYBINDING_CHARGE, configuration
|
|
|
|
.get(CATEGORY_KEYBIND, Reference.KEYBINDING_CHARGE, Reference.KEYBINDING_CHARGE_DEFAULT)
|
|
|
|
.getInt(Reference.KEYBINDING_CHARGE_DEFAULT));
|
|
|
|
EquivalentExchange3.proxy.setKeyBinding(Reference.KEYBINDING_TOGGLE, configuration
|
|
|
|
.get(CATEGORY_KEYBIND, Reference.KEYBINDING_TOGGLE, Reference.KEYBINDING_TOGGLE_DEFAULT)
|
|
|
|
.getInt(Reference.KEYBINDING_TOGGLE_DEFAULT));
|
|
|
|
EquivalentExchange3.proxy.setKeyBinding(Reference.KEYBINDING_RELEASE, configuration
|
|
|
|
.get(CATEGORY_KEYBIND, Reference.KEYBINDING_RELEASE, Reference.KEYBINDING_RELEASE_DEFAULT)
|
|
|
|
.getInt(Reference.KEYBINDING_RELEASE_DEFAULT));
|
2012-08-25 08:46:51 +02:00
|
|
|
}
|
|
|
|
catch (Exception e) {
|
2012-09-07 21:41:43 +02:00
|
|
|
FMLLog.log(Level.SEVERE, e, Reference.MOD_NAME + " has had a problem loading its configuration");
|
2012-08-25 08:46:51 +02:00
|
|
|
}
|
|
|
|
finally {
|
|
|
|
configuration.save();
|
|
|
|
}
|
|
|
|
}
|
2012-08-20 03:16:51 +02:00
|
|
|
}
|