From 5169c509d68b778521906fe4c86a44e078e1794f Mon Sep 17 00:00:00 2001 From: OneEyeMaker Date: Wed, 18 May 2016 07:41:36 +0300 Subject: Added configuration file to enabling processing of ores --- .../loaders/misc/OreProcessingConfiguration.java | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/main/java/gregtech/loaders/misc/OreProcessingConfiguration.java (limited to 'src/main/java/gregtech/loaders/misc') 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 mEnabledMaterials; + public OreProcessingConfiguration(File aModConfigurationDirectory) + { + this.mEnabledMaterials = new HashMap(); + 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; + } + } + } +} + -- cgit