diff options
author | Blood-Asp <bloodasphendrik@gmail.com> | 2016-05-27 20:07:37 +0200 |
---|---|---|
committer | Blood-Asp <bloodasphendrik@gmail.com> | 2016-05-27 20:07:37 +0200 |
commit | 35a7a998080d3946800e238f8ac1a44fcd4d3af7 (patch) | |
tree | 57598aa0611181910384fab03676c3b964741f84 /src/main/java/gregtech/loaders/misc/OreProcessingConfiguration.java | |
parent | d4f00173e5da35147aa3f641ba21701f856feeeb (diff) | |
parent | 5169c509d68b778521906fe4c86a44e078e1794f (diff) | |
download | GT5-Unofficial-35a7a998080d3946800e238f8ac1a44fcd4d3af7.tar.gz GT5-Unofficial-35a7a998080d3946800e238f8ac1a44fcd4d3af7.tar.bz2 GT5-Unofficial-35a7a998080d3946800e238f8ac1a44fcd4d3af7.zip |
Merge pull request #515 from OneEyeMaker/OreProcessing
Added configuration file, that enables processing of ores
Diffstat (limited to 'src/main/java/gregtech/loaders/misc/OreProcessingConfiguration.java')
-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; + } + } + } +} + |