aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/goodgenerator/util/MaterialFix.java
blob: d3a0548aca7db2837a8c089b6cb8a92d6c9c5752 (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
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);
    }
}