aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util/GT_Assemblyline_Server.java
blob: 712699b760fc3a348d794f51e5a033ab5e08130f (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package gregtech.api.util;

import java.io.File;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;

import com.google.common.collect.ImmutableMap;

import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import gregtech.api.GregTech_API;
import net.minecraftforge.common.config.ConfigCategory;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.config.Property;

public class GT_Assemblyline_Server {
	
	
	public static LinkedHashMap<String,String> lServerNames = new LinkedHashMap<String,String>();
	private static LinkedHashMap<String,String> internal2= new LinkedHashMap<String,String>(),internal3 = new LinkedHashMap<String,String>(),internal4= new LinkedHashMap<String,String>();
	private static HashMap<String, Property> internal = new HashMap<String, Property>();
	
	public static void fillMap(FMLPreInitializationEvent aEvent) {
		
		String s = new String(aEvent.getModConfigurationDirectory().getAbsolutePath());
		s = s.substring(0, aEvent.getModConfigurationDirectory().getAbsolutePath().length()-6);
		s = s + "GregTech.lang";
		File f = new File(s);
		s = "";
		Configuration conf = new Configuration(f);
		
		ConfigCategory cat = conf.getCategory("languagefile");
		internal.putAll(cat.getValues());
		for (Map.Entry<String, Property> entry : internal.entrySet())
		{
				s=entry.getValue().getString().replaceAll("%", "");
			/*if (s.contains("material")&&!entry.getKey().contains("metaitem"))
				lServerNames.put(entry.getKey(), entry.getKey());
			else */
			if (entry.getKey().contains("metaitem")&&s.contains("material"))
				internal2.put(entry.getKey(), s);
			else if (entry.getKey().contains("blockmachines")&&s.contains("material"))
				internal3.put(entry.getKey(), s);
			else if (entry.getKey().contains("blockmetal")&&s.contains("material"))
				internal4.put(entry.getKey(), s);
			else
				lServerNames.put(entry.getKey(), s);
		}
		for (Map.Entry<String, String> entry : internal2.entrySet()) {
			if (entry.getKey().contains("name")) {
				int i = Integer.parseInt(entry.getKey().substring("gt.metaitem.01.".length(), entry.getKey().length()-".name".length()));
				i=i%1000;
				lServerNames.put(entry.getKey(), entry.getValue().replace("material",GregTech_API.sGeneratedMaterials[i].toString()));
			}
		}
		for (Map.Entry<String, String> entry : internal3.entrySet()) {
			if (entry.getKey().contains("cable"))
				lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.cable.".length(), entry.getKey().length()-".01.name".length())));	
			else if (entry.getKey().contains("gt_frame_"))
				lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.gt_frame_".length(), entry.getKey().length()-".name".length())));	
			else if(entry.getKey().contains("gt_pipe_")) {
					if(
					!entry.getKey().contains("_huge")	&&
					!entry.getKey().contains("_large")	&&
					!entry.getKey().contains("_nonuple")&&
					!entry.getKey().contains("_quadruple")&&
					!entry.getKey().contains("_small")&&
					!entry.getKey().contains("_tiny")
					)
						lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.gt_pipe_".length(), entry.getKey().length()-".name".length())));	
					else if (entry.getKey().contains("_huge")||entry.getKey().contains("_tiny"))
						lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.gt_pipe_".length(), entry.getKey().length()-"_tiny.name".length())));	
					else if (entry.getKey().contains("_large")||entry.getKey().contains("_small"))
						lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.gt_pipe_".length(), entry.getKey().length()-"_large.name".length())));
					else if (entry.getKey().contains("_nonuple"))
						lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.gt_pipe_".length(), entry.getKey().length()-"_nonuple.name".length())));
					else if (entry.getKey().contains("_quadruple"))
						lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.gt_pipe_".length(), entry.getKey().length()-"_quadruple.name".length())));
			}
			else if (entry.getKey().contains("wire"))
				lServerNames.put(entry.getKey(), entry.getValue().replace("material", entry.getKey().substring("gt.blockmachines.wire.".length(), entry.getKey().length()-".01.name".length())));	
			else
				lServerNames.put(entry.getKey(), entry.getValue());
		}
		for (Map.Entry<String, String> entry : internal4.entrySet()) {
			if (entry.getValue().contains("blockores")) {
				int i = Integer.parseInt(entry.getKey().substring("gt.blockores.".length(), entry.getKey().length()-".name".length()));
				i=i%1000;
				lServerNames.put(entry.getKey(), entry.getValue().replace("material",GregTech_API.sGeneratedMaterials[i].toString()));
			}
		}
		
		internal = null;
		internal2 = null;
		internal3 = null;
		internal4 = null;
	}
		
}