aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/goodgenerator/api/recipe/GoodGeneratorRecipeMaps.java
blob: 85e4ebca1dc7732386626d013b8737beffdd5517 (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
package goodgenerator.api.recipe;

import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;

import net.minecraft.util.StatCollector;

import goodgenerator.client.GUI.GG_UITextures;
import gregtech.api.enums.GT_Values;
import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.recipe.RecipeMap;
import gregtech.api.recipe.RecipeMapBackend;
import gregtech.api.recipe.RecipeMapBuilder;
import gregtech.api.util.GT_Utility;
import gregtech.nei.formatter.SimpleSpecialValueFormatter;

public class GoodGeneratorRecipeMaps {

    public static final RecipeMap<RecipeMapBackend> naquadahReactorFuels = RecipeMapBuilder
        .of("gg.recipe.naquadah_reactor")
        .maxIO(0, 0, 1, 1)
        .minInputs(0, 1)
        .neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("value.naquadah_reactor"))
        .neiRecipeComparator(Comparator.comparing(recipe -> recipe.mSpecialValue))
        .dontUseProgressBar()
        .addSpecialTexture(59, 20, 58, 42, GG_UITextures.PICTURE_NAQUADAH_REACTOR)
        .build();
    public static final RecipeMap<RecipeMapBackend> naquadahFuelRefineFactoryRecipes = RecipeMapBuilder
        .of("gg.recipe.naquadah_fuel_refine_factory")
        .maxIO(6, 0, 2, 1)
        .minInputs(0, 1)
        .neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("value.naquadah_fuel_refine_factory"))
        .build();
    public static final RecipeMap<?> neutronActivatorRecipes = RecipeMapBuilder.of("gg.recipe.neutron_activator")
        .maxIO(9, 9, 1, 1)
        .dontUseProgressBar()
        .addSpecialTexture(73, 22, 31, 21, GG_UITextures.PICTURE_NEUTRON_ACTIVATOR)
        .neiSpecialInfoFormatter(recipeInfo -> {
            int minNKE = recipeInfo.recipe.mSpecialValue % 10000;
            int maxNKE = recipeInfo.recipe.mSpecialValue / 10000;
            return Arrays.asList(
                StatCollector.translateToLocal("value.neutron_activator.0"),
                GT_Utility.formatNumbers(minNKE) + StatCollector.translateToLocal("value.neutron_activator.2"),
                StatCollector.translateToLocal("value.neutron_activator.1"),
                GT_Utility.formatNumbers(maxNKE) + StatCollector.translateToLocal("value.neutron_activator.2"));
        })
        .build();
    public static final RecipeMap<ExtremeHeatExchangerBackend> extremeHeatExchangerFuels = RecipeMapBuilder
        .of("gg.recipe.extreme_heat_exchanger", ExtremeHeatExchangerBackend::new)
        .maxIO(0, 0, 2, 3)
        .dontUseProgressBar()
        .addSpecialTexture(47, 13, 78, 59, GG_UITextures.PICTURE_EXTREME_HEAT_EXCHANGER)
        .frontend(ExtremeHeatExchangerFrontend::new)
        .build();
    public static final RecipeMap<RecipeMapBackend> preciseAssemblerRecipes = RecipeMapBuilder
        .of("gg.recipe.precise_assembler")
        .maxIO(4, 1, 4, 0)
        .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE)
        .progressBarPos(85, 30)
        .neiTransferRect(80, 30, 35, 18)
        .neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("value.precise_assembler"))
        .frontend(PreciseAssemblerFrontend::new)
        .build();
    public static final RecipeMap<RecipeMapBackend> componentAssemblyLineRecipes = RecipeMapBuilder
        .of("gg.recipe.componentassemblyline")
        .maxIO(12, 1, 12, 0)
        .neiTransferRect(70, 15, 18, 54)
        .neiSpecialInfoFormatter(
            recipeInfo -> Collections.singletonList(
                StatCollector.translateToLocalFormatted(
                    "value.component_assembly_line",
                    GT_Values.VN[recipeInfo.recipe.mSpecialValue])))
        .dontUseProgressBar()
        .addSpecialTexture(70, 11, 72, 40, GG_UITextures.PICTURE_COMPONENT_ASSLINE)
        .frontend(ComponentAssemblyLineFrontend::new)
        .build();
}