aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders/misc
diff options
context:
space:
mode:
authorOneEyeMaker <oneeyemaker@gmail.com>2016-05-18 07:41:36 +0300
committerOneEyeMaker <oneeyemaker@gmail.com>2016-05-18 07:41:36 +0300
commit5169c509d68b778521906fe4c86a44e078e1794f (patch)
treee21fad9151da884e672cdbe7941a32018fd8a595 /src/main/java/gregtech/loaders/misc
parent3f46725bbcf94ce0253119ecbc79ef266ef73725 (diff)
downloadGT5-Unofficial-5169c509d68b778521906fe4c86a44e078e1794f.tar.gz
GT5-Unofficial-5169c509d68b778521906fe4c86a44e078e1794f.tar.bz2
GT5-Unofficial-5169c509d68b778521906fe4c86a44e078e1794f.zip
Added configuration file to enabling processing of ores
Diffstat (limited to 'src/main/java/gregtech/loaders/misc')
-rw-r--r--src/main/java/gregtech/loaders/misc/OreProcessingConfiguration.java58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/main/java/gregtech/loaders/misc/OreProcessingConfiguration.java b/src/main/java/gregtech/loaders/misc/OreProcessingConfiguration.java
new file mode 100644
index 0000000000..cafde84836
--- /dev/null
+++ b/src/main/java/gregtech/loaders/misc/OreProcessingConfiguration.java
@@ -0,0 +1,58 @@
+package gregtech.loaders.misc;
+
+import java.io.File;
+import java.util.HashMap;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.Materials;
+import net.minecraftforge.common.config.Configuration;
+import net.minecraftforge.common.config.Property;
+
+public class OreProcessingConfiguration
+ implements Runnable
+{
+ private final Configuration mConfiguration;
+ private final HashMap<String, Boolean> mEnabledMaterials;
+ public OreProcessingConfiguration(File aModConfigurationDirectory)
+ {
+ this.mEnabledMaterials = new HashMap<String, Boolean>();
+ this.mConfiguration =
+ new Configuration(new File(new File(aModConfigurationDirectory, "GregTech"), "OreProcessing.cfg"));
+ this.mConfiguration.load();
+ this.loadConfiguration();
+ if (this.mConfiguration.hasChanged())
+ {
+ this.mConfiguration.save();
+ }
+ }
+ private void loadConfiguration()
+ {
+ for (Materials tMaterial : GregTech_API.sGeneratedMaterials)
+ {
+ if (tMaterial != null && tMaterial != Materials._NULL)
+ {
+ String tMaterialName = tMaterial.name();
+ boolean tDefaultValue = (tMaterial.mTypes & 8) != 0;
+ Property tProperty =
+ this.mConfiguration.get("processores", tMaterialName + "_" + tDefaultValue, tDefaultValue);
+ this.mEnabledMaterials.put(tMaterialName, tProperty.getBoolean(tDefaultValue));
+ }
+ }
+ }
+ @Override
+ public void run()
+ {
+ for (String tMaterialName : this.mEnabledMaterials.keySet())
+ {
+ if (this.mEnabledMaterials.get(tMaterialName))
+ {
+ Materials.valueOf(tMaterialName).mTypes |= 8;
+ }
+ else if ((Materials.valueOf(tMaterialName).mTypes & 8) != 0)
+ {
+ Materials.valueOf(tMaterialName).mTypes ^= 8;
+ }
+ }
+ }
+}
+