diff options
author | Muramasa <haydenkilloh@gmail.com> | 2016-06-19 23:46:40 +0100 |
---|---|---|
committer | Muramasa <haydenkilloh@gmail.com> | 2016-06-19 23:46:40 +0100 |
commit | 8e25705a3d5f623214af06bd0645dfaaf3a72c15 (patch) | |
tree | b7ce6519251f2a66110ba0402ccd6b18e52c0437 /src/main/java/gregtech/loaders/misc/OreProcessingConfiguration.java | |
parent | 58ed5088e173c2c886935fb86ffa146035f82d01 (diff) | |
parent | dc2a48259afed8b86f99fa91dbf58520741e9f47 (diff) | |
download | GT5-Unofficial-8e25705a3d5f623214af06bd0645dfaaf3a72c15.tar.gz GT5-Unofficial-8e25705a3d5f623214af06bd0645dfaaf3a72c15.tar.bz2 GT5-Unofficial-8e25705a3d5f623214af06bd0645dfaaf3a72c15.zip |
Merge remote-tracking branch 'refs/remotes/Blood-Asp/experimental' into DieselGenerator
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; + } + } + } +} + |