diff options
author | OneEyeMaker <oneeyemaker@gmail.com> | 2016-05-18 07:41:36 +0300 |
---|---|---|
committer | OneEyeMaker <oneeyemaker@gmail.com> | 2016-05-18 07:41:36 +0300 |
commit | 5169c509d68b778521906fe4c86a44e078e1794f (patch) | |
tree | e21fad9151da884e672cdbe7941a32018fd8a595 /src/main/java/gregtech/loaders/misc | |
parent | 3f46725bbcf94ce0253119ecbc79ef266ef73725 (diff) | |
download | GT5-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.java | 58 |
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; + } + } + } +} + |