aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders/oreprocessing/ProcessingCircuit.java
blob: c5e0e9ce0dbbf35de5b142a8b7fdfe6cee65891a (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
package gregtech.loaders.oreprocessing;

import static gregtech.api.enums.Mods.GregTech;

import net.minecraft.item.ItemStack;

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;

public class ProcessingCircuit implements gregtech.api.interfaces.IOreRecipeRegistrator {

    public ProcessingCircuit() {
        OrePrefixes.circuit.add(this);
    }

    @Override
    public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
        ItemStack aStack) {
        if (gregtech.api.util.GT_OreDictUnificator.isBlacklisted(aStack) && aModName.equals(GregTech.ID)) return;
        switch (aMaterial.mName) {
            case "Good", "Data", "Elite", "Master", "Ultimate", "Superconductor", "Infinite", "Bio" -> {
                if (!GT_OreDictUnificator.isBlacklisted(aStack) && !aModName.equals(GregTech.ID))
                    GT_ModHandler.removeRecipeByOutputDelayed(aStack);
            }
            case "Primitive", "Advanced" -> GT_ModHandler.removeRecipeByOutputDelayed(aStack);
            case "Basic" -> {
                GT_ModHandler.removeRecipeByOutputDelayed(aStack);
                GT_ModHandler.addCraftingRecipe(
                    aStack,
                    GT_ModHandler.RecipeBits.BUFFERED,
                    new Object[] { "RIR", "VBV", "CCC", 'R', ItemList.Circuit_Parts_Resistor.get(1), 'C',
                        GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.RedAlloy, 1), 'V',
                        ItemList.Circuit_Parts_Vacuum_Tube.get(1), 'B', ItemList.Circuit_Board_Coated_Basic.get(1), 'I',
                        ItemList.IC2_Item_Casing_Steel.get(1) });
                GT_ModHandler.addShapelessCraftingRecipe(
                    GT_ModHandler.getIC2Item("electronicCircuit", 1L),
                    new Object[] { ItemList.Circuit_Integrated.getWildcard(1L) });
            }
        }
    }
}