Skip to content

Commit b755c75

Browse files
authored
Added Cable Recipes and 4x recipes (#1405)
1 parent ccc9e3b commit b755c75

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

src/main/java/gregtech/loaders/oreprocessing/WireRecipeHandler.java

+43
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,20 @@ public static void register() {
4040
wirePrefix.addProcessingHandler(IngotMaterial.class, WireRecipeHandler::generateWireRecipe);
4141
wirePrefix.addProcessingHandler(Material.class, WireRecipeHandler::generateWireCombiningRecipe);
4242
}
43+
44+
for (OrePrefix cablePrefix : CABLE_DOUBLING_ORDER) {
45+
cablePrefix.addProcessingHandler(Material.class, WireRecipeHandler::generateCableCombiningRecipe);
46+
}
4347
}
4448

4549
private static final OrePrefix[] WIRE_DOUBLING_ORDER = new OrePrefix[]{
4650
OrePrefix.wireGtSingle, OrePrefix.wireGtDouble, OrePrefix.wireGtQuadruple, OrePrefix.wireGtOctal, OrePrefix.wireGtHex
4751
};
4852

53+
private static final OrePrefix[] CABLE_DOUBLING_ORDER = new OrePrefix[]{
54+
OrePrefix.cableGtSingle, OrePrefix.cableGtDouble, OrePrefix.cableGtQuadruple, OrePrefix.cableGtOctal, OrePrefix.cableGtHex
55+
};
56+
4957
public static void processWireSingle(OrePrefix wirePrefix, IngotMaterial material) {
5058
RecipeMaps.EXTRUDER_RECIPES.recipeBuilder()
5159
.input(OrePrefix.ingot, material)
@@ -135,6 +143,41 @@ public static void generateWireCombiningRecipe(OrePrefix wirePrefix, Material ma
135143
OreDictUnifier.get(WIRE_DOUBLING_ORDER[wireIndex - 1], material, 2),
136144
new UnificationEntry(wirePrefix, material));
137145
}
146+
147+
if (wireIndex < 3) {
148+
ModHandler.addShapelessRecipe(String.format("%s_wire_%s_quadrupling", material, wirePrefix),
149+
OreDictUnifier.get(WIRE_DOUBLING_ORDER[wireIndex + 2], material),
150+
new UnificationEntry(wirePrefix, material),
151+
new UnificationEntry(wirePrefix, material),
152+
new UnificationEntry(wirePrefix, material),
153+
new UnificationEntry(wirePrefix, material));
154+
}
155+
}
156+
157+
public static void generateCableCombiningRecipe(OrePrefix cablePrefix, Material material) {
158+
int cableIndex = ArrayUtils.indexOf(CABLE_DOUBLING_ORDER, cablePrefix);
159+
160+
if (cableIndex < CABLE_DOUBLING_ORDER.length - 1) {
161+
ModHandler.addShapelessRecipe(String.format("%s_cable_%s_doubling", material, cablePrefix),
162+
OreDictUnifier.get(CABLE_DOUBLING_ORDER[cableIndex + 1], material),
163+
new UnificationEntry(cablePrefix, material),
164+
new UnificationEntry(cablePrefix, material));
165+
}
166+
167+
if (cableIndex > 0) {
168+
ModHandler.addShapelessRecipe(String.format("%s_cable_%s_splitting", material, cablePrefix),
169+
OreDictUnifier.get(CABLE_DOUBLING_ORDER[cableIndex - 1], material, 2),
170+
new UnificationEntry(cablePrefix, material));
171+
}
172+
173+
if (cableIndex < 3) {
174+
ModHandler.addShapelessRecipe(String.format("%s_cable_%s_quadrupling", material, cablePrefix),
175+
OreDictUnifier.get(CABLE_DOUBLING_ORDER[cableIndex + 2], material),
176+
new UnificationEntry(cablePrefix, material),
177+
new UnificationEntry(cablePrefix, material),
178+
new UnificationEntry(cablePrefix, material),
179+
new UnificationEntry(cablePrefix, material));
180+
}
138181
}
139182

140183
private static int getMaterialAmount(int cableTier, int insulationTier) {

0 commit comments

Comments
 (0)