aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders/misc
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/loaders/misc')
-rw-r--r--src/main/java/gregtech/loaders/misc/GT_Achievements.java6
-rw-r--r--src/main/java/gregtech/loaders/misc/OreProcessingConfiguration.java58
2 files changed, 61 insertions, 3 deletions
diff --git a/src/main/java/gregtech/loaders/misc/GT_Achievements.java b/src/main/java/gregtech/loaders/misc/GT_Achievements.java
index 5cde8a4290..87e18a98f1 100644
--- a/src/main/java/gregtech/loaders/misc/GT_Achievements.java
+++ b/src/main/java/gregtech/loaders/misc/GT_Achievements.java
@@ -172,9 +172,9 @@ public class GT_Achievements {
registerAchievement("higherefficency", 14, 10, ItemList.Generator_Plasma_IV.get(1, new Object[]{}), "fusion", false);
registerAchievement("advancing", 12, 8, ItemList.FusionComputer_ZPMV.get(1, new Object[]{}), "fusion", false);
registerAchievement("tothelimit", 12, 10, ItemList.Generator_Plasma_LuV.get(1, new Object[]{}), "advancing", false);
- registerAchievement("denseaspossible", 10, 10, ItemList.FusionComputer_UV.get(1, new Object[]{}), "tothelimit", false);
- registerAchievement("fullefficiency", 10, 12, ItemList.Generator_Plasma_ZPMV.get(1, new Object[]{}), "denseaspossible", false);
- registerAchievement("whatnow", 8, 10, ItemList.ZPM2.get(1, new Object[]{}), "denseaspossible", false);
+ registerAchievement("fullefficiency", 10, 10, ItemList.Generator_Plasma_ZPMV.get(1, new Object[]{}), "tothelimit", false);
+ registerAchievement("denseaspossible", 8, 10, ItemList.FusionComputer_UV.get(1, new Object[]{}), "fullefficiency", false);
+ registerAchievement("whatnow", 6, 10, ItemList.ZPM2.get(1, new Object[]{}), "denseaspossible", false);
if(Loader.isModLoaded("NotEnoughItems") && GT_Mod.gregtechproxy.mHideUnusedOres){
for (int i = 1; i < GregTech_API.sGeneratedMaterials.length; i++) {
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;
+ }
+ }
+ }
+}
+