blob: 1c1d4f44a60c30a67a94d933425b536e0c7c30a5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
package gregtech.loaders.misc;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.config.Property;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
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 (Map.Entry<String, Boolean> aEntry : this.mEnabledMaterials.entrySet()) {
if (this.mEnabledMaterials.get(aEntry.getKey())) {
Materials.valueOf(aEntry.getKey()).mTypes |= 8;
} else if ((Materials.valueOf(aEntry.getKey()).mTypes & 8) != 0) {
Materials.valueOf(aEntry.getKey()).mTypes ^= 8;
}
}
}
}
|