aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util/GT_Assemblyline_Server.java
blob: 15d11cda63392deff273d3810720cb2aaebf12fa (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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
package gregtech.api.util;

import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.enums.MaterialsBotania;
import java.io.File;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
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()) {
            try {
                s = entry.getValue().getString().replaceAll("%", "");

                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("blockores")
                                || (entry.getKey().contains("blockmetal")
                                        || entry.getKey().contains("blockgem")))
                        && s.contains("material")) internal4.put(entry.getKey(), s);
                else lServerNames.put(entry.getKey(), s);
            } catch (Exception ignored) {
            }
        }
        for (Map.Entry<String, String> entry : internal2.entrySet()) {
            try {
                if (entry.getKey().contains("name")) {
                    int i = Integer.parseInt(entry.getKey()
                            .substring(
                                    "gt.metaitem.01.".length(), entry.getKey().length() - ".name".length()));
                    i = i % 1000;
                    if (GregTech_API.sGeneratedMaterials[i] != null)
                        lServerNames.put(
                                entry.getKey(),
                                entry.getValue().replace("material", GregTech_API.sGeneratedMaterials[i].toString()));
                    else lServerNames.put(entry.getKey(), null);
                }
            } catch (Exception ignored) {
            }
        }
        for (Map.Entry<String, String> entry : internal3.entrySet()) {
            try {
                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());
            } catch (Exception ignored) {
            }
        }
        for (Map.Entry<String, String> entry : internal4.entrySet()) {
            try {
                if (entry.getKey().contains("blockores")) {
                    int i = Integer.parseInt(entry.getKey()
                            .substring("gt.blockores.".length(), entry.getKey().length() - ".name".length()));
                    i = i % 1000;
                    if (GregTech_API.sGeneratedMaterials[i] != null)
                        lServerNames.put(
                                entry.getKey(),
                                entry.getValue().replace("material", GregTech_API.sGeneratedMaterials[i].toString()));
                    else lServerNames.put(entry.getKey(), null);
                } else if (entry.getKey().contains("blockmetal")) {
                    Materials[] mMats = null;
                    String t = entry.getKey().substring("gt.blockmetal".length());
                    t = t.substring(0, 1);
                    int i = Integer.parseInt(t);
                    switch (i) {
                        case 1:
                            mMats = new Materials[] {
                                Materials.Adamantium,
                                Materials.Aluminium,
                                Materials.Americium,
                                Materials.AnnealedCopper,
                                Materials.Antimony,
                                Materials.Arsenic,
                                Materials.AstralSilver,
                                Materials.BatteryAlloy,
                                Materials.Beryllium,
                                Materials.Bismuth,
                                Materials.BismuthBronze,
                                Materials.BlackBronze,
                                Materials.BlackSteel,
                                Materials.BlueAlloy,
                                Materials.BlueSteel,
                                Materials.Brass
                            };
                            break;
                        case 2:
                            mMats = new Materials[] {
                                Materials.Bronze,
                                Materials.Caesium,
                                Materials.Cerium,
                                Materials.Chrome,
                                Materials.ChromiumDioxide,
                                Materials.Cobalt,
                                Materials.CobaltBrass,
                                Materials.Copper,
                                Materials.Cupronickel,
                                Materials.DamascusSteel,
                                Materials.DarkIron,
                                Materials.DeepIron,
                                Materials.Desh,
                                Materials.Duranium,
                                Materials.Dysprosium,
                                Materials.Electrum
                            };
                            break;
                        case 3:
                            mMats = new Materials[] {
                                Materials.ElectrumFlux,
                                Materials.Enderium,
                                Materials.Erbium,
                                Materials.Europium,
                                Materials.FierySteel,
                                Materials.Gadolinium,
                                Materials.Gallium,
                                Materials.Holmium,
                                Materials.HSLA,
                                Materials.Indium,
                                Materials.InfusedGold,
                                Materials.Invar,
                                Materials.Iridium,
                                Materials.IronMagnetic,
                                Materials.IronWood,
                                Materials.Kanthal
                            };
                            break;
                        case 4:
                            mMats = new Materials[] {
                                Materials.Knightmetal,
                                Materials.Lanthanum,
                                Materials.Lead,
                                Materials.Lutetium,
                                Materials.Magnalium,
                                Materials.Magnesium,
                                Materials.Manganese,
                                Materials.MeteoricIron,
                                Materials.MeteoricSteel,
                                Materials.Trinium,
                                Materials.Mithril,
                                Materials.Molybdenum,
                                Materials.Naquadah,
                                Materials.NaquadahAlloy,
                                Materials.NaquadahEnriched,
                                Materials.Naquadria
                            };
                            break;
                        case 5:
                            mMats = new Materials[] {
                                Materials.Neodymium,
                                Materials.NeodymiumMagnetic,
                                Materials.Neutronium,
                                Materials.Nichrome,
                                Materials.Nickel,
                                Materials.Niobium,
                                Materials.NiobiumNitride,
                                Materials.NiobiumTitanium,
                                Materials.Osmiridium,
                                Materials.Osmium,
                                Materials.Palladium,
                                Materials.PigIron,
                                Materials.Platinum,
                                Materials.Plutonium,
                                Materials.Plutonium241,
                                Materials.Praseodymium
                            };
                            break;
                        case 6:
                            mMats = new Materials[] {
                                Materials.Promethium,
                                Materials.RedAlloy,
                                Materials.RedSteel,
                                Materials.RoseGold,
                                Materials.Rubidium,
                                Materials.Samarium,
                                Materials.Scandium,
                                Materials.ShadowIron,
                                Materials.ShadowSteel,
                                Materials.Silicon,
                                Materials.Silver,
                                Materials.SolderingAlloy,
                                Materials.StainlessSteel,
                                Materials.Steel,
                                Materials.SteelMagnetic,
                                Materials.SterlingSilver
                            };
                            break;
                        case 7:
                            mMats = new Materials[] {
                                Materials.Sunnarium,
                                Materials.Tantalum,
                                Materials.Tellurium,
                                Materials.Terbium,
                                Materials.Thaumium,
                                Materials.Thorium,
                                Materials.Thulium,
                                Materials.Tin,
                                Materials.TinAlloy,
                                Materials.Titanium,
                                Materials.Tritanium,
                                Materials.Tungsten,
                                Materials.TungstenSteel,
                                Materials.Ultimet,
                                Materials.Uranium,
                                Materials.Uranium235
                            };
                            break;
                        case 8:
                            mMats = new Materials[] {
                                Materials.Vanadium,
                                Materials.VanadiumGallium,
                                Materials.WroughtIron,
                                Materials.Ytterbium,
                                Materials.Yttrium,
                                Materials.YttriumBariumCuprate,
                                Materials.Zinc,
                                Materials.TungstenCarbide,
                                Materials.VanadiumSteel,
                                Materials.HSSG,
                                Materials.HSSE,
                                Materials.HSSS,
                                Materials.Steeleaf,
                                Materials.Ichorium,
                                Materials.Firestone
                            };
                            break;
                    }
                    t = entry.getKey()
                            .substring(
                                    "gt.blockmetal1.".length(), entry.getKey().length() - ".name".length());
                    i = Integer.parseInt(t);
                    lServerNames.put(entry.getKey(), "Block of " + mMats[i].toString());
                    mMats = null;
                } else if (entry.getKey().contains("blockgem")) {
                    Materials[] mMats = null;
                    String t = entry.getKey().substring("gt.blockgem".length());
                    t = t.substring(0, 1);
                    int i = Integer.parseInt(t);
                    switch (i) {
                        case 1:
                            mMats = new Materials[] {
                                Materials.InfusedAir,
                                Materials.Amber,
                                Materials.Amethyst,
                                Materials.InfusedWater,
                                Materials.BlueTopaz,
                                Materials.CertusQuartz,
                                Materials.Dilithium,
                                Materials.EnderEye,
                                Materials.EnderPearl,
                                Materials.FoolsRuby,
                                Materials.Force,
                                Materials.Forcicium,
                                Materials.Forcillium,
                                Materials.GreenSapphire,
                                Materials.InfusedFire,
                                Materials.Jasper,
                                MaterialsBotania.ManaDiamond,
                                MaterialsBotania.BotaniaDragonstone
                            };
                            break;
                        case 2:
                            mMats = new Materials[] {
                                Materials.Lazurite,
                                Materials.Lignite,
                                Materials.Monazite,
                                Materials.Niter,
                                Materials.Olivine,
                                Materials.Opal,
                                Materials.InfusedOrder,
                                Materials.InfusedEntropy,
                                Materials.Phosphorus,
                                Materials.Quartzite,
                                Materials.GarnetRed,
                                Materials.Ruby,
                                Materials.Sapphire,
                                Materials.Sodalite,
                                Materials.Tanzanite,
                                Materials.InfusedEarth
                            };
                            break;
                        case 3:
                            mMats = new Materials[] {
                                Materials.Topaz,
                                Materials.Vinteum,
                                Materials.GarnetYellow,
                                Materials.NetherStar,
                                Materials.Charcoal,
                                Materials.Blaze
                            };
                            break;
                    }
                    t = entry.getKey()
                            .substring("gt.blockgem1.".length(), entry.getKey().length() - ".name".length());
                    i = Integer.parseInt(t);
                    lServerNames.put(entry.getKey(), "Block of " + mMats[i].toString());
                    mMats = null;
                }
            } catch (Exception ignored) {
            }
        }

        internal = null;
        internal2 = null;
        internal3 = null;
        internal4 = null;
    }
}