aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/goodgenerator/util/MaterialFix.java
blob: 795686f676168fbebd9ad9dcc77671b889863c28 (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
package goodgenerator.util;

import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;

public class MaterialFix {
    public static void MaterialFluidExtractionFix(Werkstoff material) {
        if (material.hasItemType(OrePrefixes.ingot)) {
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.ingot), null, material.getMolten(144), 0, 32, 8);
            GT_Values.RA.addFluidSolidifierRecipe(
                    ItemList.Shape_Mold_Ingot.get(0), material.getMolten(144), material.get(OrePrefixes.ingot), 32, 48);
        }
        if (material.hasItemType(OrePrefixes.plate)) {
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.plate), null, material.getMolten(144), 0, 32, 8);
            GT_Values.RA.addFluidSolidifierRecipe(
                    ItemList.Shape_Mold_Plate.get(0), material.getMolten(144), material.get(OrePrefixes.plate), 32, 48);
        }
        if (material.hasItemType(OrePrefixes.gearGtSmall))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.gearGtSmall), null, material.getMolten(144), 0, 32, 8);
        if (material.hasItemType(OrePrefixes.stickLong))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.stickLong), null, material.getMolten(144), 0, 32, 8);
        if (material.hasItemType(OrePrefixes.spring))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.spring), null, material.getMolten(144), 0, 32, 8);
        if (material.hasItemType(OrePrefixes.stick))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.stick), null, material.getMolten(72), 0, 16, 8);
        if (material.hasItemType(OrePrefixes.itemCasing))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.itemCasing), null, material.getMolten(72), 0, 16, 8);
        if (material.hasItemType(OrePrefixes.wireGt01))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.wireGt01), null, material.getMolten(72), 0, 16, 8);
        if (material.hasItemType(OrePrefixes.cableGt01))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.cableGt01),
                    GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Ash, 2),
                    material.getMolten(72),
                    10000,
                    16,
                    8);
        if (material.hasItemType(OrePrefixes.foil))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.foil), null, material.getMolten(36), 0, 8, 8);
        if (material.hasItemType(OrePrefixes.springSmall))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.springSmall), null, material.getMolten(36), 0, 8, 8);
        if (material.hasItemType(OrePrefixes.ring))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.ring), null, material.getMolten(36), 0, 8, 8);
        if (material.hasItemType(OrePrefixes.bolt))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.bolt), null, material.getMolten(18), 0, 4, 8);
        if (material.hasItemType(OrePrefixes.wireFine))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.wireFine), null, material.getMolten(18), 0, 4, 8);
        if (material.hasItemType(OrePrefixes.round))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.round), null, material.getMolten(16), 0, 4, 8);
        if (material.hasItemType(OrePrefixes.screw))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.screw), null, material.getMolten(16), 0, 4, 8);
        if (material.hasItemType(OrePrefixes.nugget))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.nugget), null, material.getMolten(16), 0, 4, 8);
        if (material.hasItemType(OrePrefixes.rotor))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.rotor), null, material.getMolten(612), 0, 136, 8);
        if (material.hasItemType(OrePrefixes.gearGt))
            GT_Values.RA.addFluidExtractionRecipe(
                    material.get(OrePrefixes.gearGt), null, material.getMolten(576), 0, 128, 8);
    }

    public static void addRecipeForMultiItems() {
        for (Werkstoff tMaterial : Werkstoff.werkstoffHashSet) {
            if (tMaterial == null) continue;
            if (tMaterial.hasItemType(OrePrefixes.plateDouble) && tMaterial.hasItemType(OrePrefixes.ingotDouble)) {
                GT_Values.RA.addBenderRecipe(
                        tMaterial.get(OrePrefixes.plate, 2),
                        GT_Utility.getIntegratedCircuit(2),
                        tMaterial.get(OrePrefixes.plateDouble, 1),
                        (int) Math.max(tMaterial.getStats().getMass() * 2, 1L),
                        60);
                GT_Values.RA.addBenderRecipe(
                        tMaterial.get(OrePrefixes.ingotDouble, 1),
                        GT_Utility.getIntegratedCircuit(1),
                        tMaterial.get(OrePrefixes.plateDouble, 1),
                        (int) Math.max(tMaterial.getStats().getMass(), 1L),
                        60);
                GT_ModHandler.addCraftingRecipe(
                        tMaterial.get(OrePrefixes.plateDouble, 1),
                        new Object[] {"P", "P", "h", 'P', tMaterial.get(OrePrefixes.plate, 1)});
                GT_ModHandler.addCraftingRecipe(
                        tMaterial.get(OrePrefixes.ingotDouble, 1),
                        new Object[] {"P", "P", "h", 'P', tMaterial.get(OrePrefixes.ingot, 1)});
            }
            if (tMaterial.hasItemType(OrePrefixes.plateTriple) && tMaterial.hasItemType(OrePrefixes.ingotTriple)) {
                GT_Values.RA.addBenderRecipe(
                        tMaterial.get(OrePrefixes.plate, 3),
                        GT_Utility.getIntegratedCircuit(3),
                        tMaterial.get(OrePrefixes.plateTriple, 1),
                        (int) Math.max(tMaterial.getStats().getMass() * 3, 1L),
                        60);
                GT_Values.RA.addBenderRecipe(
                        tMaterial.get(OrePrefixes.ingot, 3),
                        GT_Utility.getIntegratedCircuit(3),
                        tMaterial.get(OrePrefixes.plateTriple, 1),
                        (int) Math.max(tMaterial.getStats().getMass() * 3, 1L),
                        60);
                GT_Values.RA.addBenderRecipe(
                        tMaterial.get(OrePrefixes.ingotTriple, 1),
                        GT_Utility.getIntegratedCircuit(1),
                        tMaterial.get(OrePrefixes.plateTriple, 1),
                        (int) Math.max(tMaterial.getStats().getMass(), 1L),
                        60);
                GT_ModHandler.addCraftingRecipe(tMaterial.get(OrePrefixes.plateTriple, 1), new Object[] {
                    "B",
                    "P",
                    "h",
                    'P',
                    tMaterial.get(OrePrefixes.plate, 1),
                    'B',
                    tMaterial.get(OrePrefixes.plateDouble, 1)
                });
                GT_ModHandler.addCraftingRecipe(tMaterial.get(OrePrefixes.ingotTriple, 1), new Object[] {
                    "B",
                    "P",
                    "h",
                    'P',
                    tMaterial.get(OrePrefixes.ingot, 1),
                    'B',
                    tMaterial.get(OrePrefixes.ingotDouble, 1)
                });
            }
            if (tMaterial.hasItemType(OrePrefixes.plateDense)) {
                GT_Values.RA.addBenderRecipe(
                        tMaterial.get(OrePrefixes.plate, 9),
                        GT_Utility.getIntegratedCircuit(9),
                        tMaterial.get(OrePrefixes.plateDense, 1),
                        (int) Math.max(tMaterial.getStats().getMass() * 9, 1L),
                        60);
                GT_Values.RA.addBenderRecipe(
                        tMaterial.get(OrePrefixes.ingot, 9),
                        GT_Utility.getIntegratedCircuit(9),
                        tMaterial.get(OrePrefixes.plateDense, 1),
                        (int) Math.max(tMaterial.getStats().getMass() * 9, 1L),
                        60);
                if (tMaterial.hasItemType(OrePrefixes.plateTriple) && tMaterial.hasItemType(OrePrefixes.ingotTriple)) {
                    GT_Values.RA.addBenderRecipe(
                            tMaterial.get(OrePrefixes.plateTriple, 3),
                            GT_Utility.getIntegratedCircuit(3),
                            tMaterial.get(OrePrefixes.plateDense, 1),
                            (int) Math.max(tMaterial.getStats().getMass() * 3, 1L),
                            60);
                    GT_Values.RA.addBenderRecipe(
                            tMaterial.get(OrePrefixes.ingotTriple, 3),
                            GT_Utility.getIntegratedCircuit(3),
                            tMaterial.get(OrePrefixes.plateDense, 1),
                            (int) Math.max(tMaterial.getStats().getMass() * 3, 1L),
                            60);
                }
            }
            if (tMaterial.hasItemType(OrePrefixes.stick)) {
                if (tMaterial.hasItemType(OrePrefixes.cellMolten)) {
                    GT_Values.RA.addFluidSolidifierRecipe(
                            ItemList.Shape_Mold_Rod.get(0),
                            tMaterial.getMolten(72),
                            tMaterial.get(OrePrefixes.stick, 1),
                            (int) Math.max(tMaterial.getStats().getMass() >> 1, 1L),
                            480);
                }
            }
            if (tMaterial.hasItemType(OrePrefixes.stickLong)) {
                if (tMaterial.hasItemType(OrePrefixes.cellMolten)) {
                    GT_Values.RA.addFluidSolidifierRecipe(
                            ItemList.Shape_Mold_Rod_Long.get(0),
                            tMaterial.getMolten(144),
                            tMaterial.get(OrePrefixes.stickLong, 1),
                            (int) Math.max(tMaterial.getStats().getMass(), 1L),
                            480);
                }
                if (tMaterial.hasItemType(OrePrefixes.stick)) {
                    GT_ModHandler.addCraftingRecipe(
                            tMaterial.get(OrePrefixes.stickLong, 1),
                            new Object[] {"PhP", 'P', tMaterial.get(OrePrefixes.stick, 1)});
                    GT_Values.RA.addForgeHammerRecipe(
                            tMaterial.get(OrePrefixes.stick, 2),
                            tMaterial.get(OrePrefixes.stickLong, 1),
                            (int) Math.max(tMaterial.getStats().getMass(), 1L),
                            16);
                }
            }
            if (tMaterial.hasItemType(OrePrefixes.spring)) {
                GT_ModHandler.addCraftingRecipe(
                        tMaterial.get(OrePrefixes.spring, 1),
                        new Object[] {" s ", "fPx", " P ", 'P', tMaterial.get(OrePrefixes.stickLong, 1)});
                GT_Values.RA.addBenderRecipe(
                        tMaterial.get(OrePrefixes.stickLong, 1),
                        GT_Utility.getIntegratedCircuit(1),
                        tMaterial.get(OrePrefixes.spring, 1),
                        (int) Math.max(tMaterial.getStats().getMass() * 2, 1L),
                        16);
            }
            if (tMaterial.hasItemType(OrePrefixes.springSmall)) {
                GT_ModHandler.addCraftingRecipe(
                        tMaterial.get(OrePrefixes.springSmall, 1),
                        new Object[] {" s ", "fPx", 'P', tMaterial.get(OrePrefixes.stick, 1)});
                GT_Values.RA.addBenderRecipe(
                        tMaterial.get(OrePrefixes.stick, 1),
                        GT_Utility.getIntegratedCircuit(1),
                        tMaterial.get(OrePrefixes.springSmall, 2),
                        (int) Math.max(tMaterial.getStats().getMass(), 1L),
                        16);
            }
        }
        Materials tUHV = Materials.Longasssuperconductornameforuhvwire;
        GT_Values.RA.addForgeHammerRecipe(
                GT_OreDictUnificator.get(OrePrefixes.stick, tUHV, 2),
                GT_OreDictUnificator.get(OrePrefixes.stickLong, tUHV, 1),
                (int) Math.max(tUHV.getMass(), 1L),
                16);
    }
}