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
|
package goodgenerator.util;
import codechicken.nei.PositionedStack;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import net.minecraftforge.fluids.FluidStack;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
public class MyRecipeAdder {
public static final MyRecipeAdder instance = new MyRecipeAdder();
public final liquidMentalFuelMapper NqGFuels = new liquidMentalFuelMapper(
new HashSet<>(50),
"gg.recipe.naquadah_reactor",
StatCollector.translateToLocal("tile.recipe.naquadah_reactor"),
null,
"goodgenerator:textures/gui/naquadah_reactor",
0,0,0,1,1,
StatCollector.translateToLocal("value.naquadah_reactor") + " ",
1,
" EU/t",
false,
true
);
public final NaqFuelRefineMapper FRF = new NaqFuelRefineMapper(
new HashSet<>(50),
"gg.recipe.naquadah_fuel_refine_factory",
StatCollector.translateToLocal("tile.naquadah_fuel_refine_factory"),
null,
"gregtech:textures/gui/basicmachines/FusionReactor",
6,0, 0, 1, 1,
StatCollector.translateToLocal("value.naquadah_fuel_refine_factory.0") + " ",
1,
StatCollector.translateToLocal("value.naquadah_fuel_refine_factory.1"),
true,
true
);
public final NeutronActivatorMapper NA = new NeutronActivatorMapper(
new HashSet<>(150),
"gg.recipe.neutron_activator",
StatCollector.translateToLocal("tile.neutron_activator"),
null,
"goodgenerator:textures/gui/neutron_activator",
6, 6, 0, 0, 0,
null, 0, null,
false,
false
);
public final ExtremeHeatExchangerMapper XHE = new ExtremeHeatExchangerMapper(
new HashSet<>(50),
"gg.recipe.extreme_heat_exchanger",
StatCollector.translateToLocal("tile.extreme_heat_exchanger"),
null,
"goodgenerator:textures/gui/extreme_heat_exchanger",
0, 0, 0, 0, 0,
null, 0, null,
false,
false
);
public static class liquidMentalFuelMapper extends GT_Recipe.GT_Recipe_Map_Fuel{
public liquidMentalFuelMapper(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName, String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems, int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier, String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed){
super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, aUsualInputCount, aUsualOutputCount, aMinimalInputItems, aMinimalInputFluids, aAmperage, aNEISpecialValuePre, aNEISpecialValueMultiplier, aNEISpecialValuePost, aShowVoltageAmperageInNEI, aNEIAllowed);
}
public void addFuel(FluidStack input, FluidStack output, int EUt, int ticks){
super.addRecipe(true, null, null, null, new FluidStack[]{input}, new FluidStack[]{output}, ticks, 0, EUt);
}
}
public void addLiquidMentalFuel(FluidStack input, FluidStack output, int EUt, int ticks){
NqGFuels.addFuel(input, output, EUt, ticks);
}
public static class NaqFuelRefineMapper extends GT_Recipe.GT_Recipe_Map{
public NaqFuelRefineMapper(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName, String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems, int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier, String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed){
super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, aUsualInputCount, aUsualOutputCount, aMinimalInputItems, aMinimalInputFluids, aAmperage, aNEISpecialValuePre, aNEISpecialValueMultiplier, aNEISpecialValuePost, aShowVoltageAmperageInNEI, aNEIAllowed);
}
public void addNaqFuelRefineRecipe(FluidStack[] input1, ItemStack[] input2, FluidStack output, int EUt, int ticks, int tier){
super.addRecipe(false, input2, null, null, input1, new FluidStack[]{output}, ticks, EUt, tier);
}
}
public void addNaquadahFuelRefineRecipe(FluidStack[] input1, ItemStack[] input2, FluidStack output, int EUt, int ticks, int tier){
FRF.addNaqFuelRefineRecipe(input1, input2, output, EUt, ticks, tier);
}
public static class NeutronActivatorMapper extends GT_Recipe.GT_Recipe_Map{
public NeutronActivatorMapper(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName, String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems, int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier, String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed){
super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, aUsualInputCount, aUsualOutputCount, aMinimalInputItems, aMinimalInputFluids, aAmperage, aNEISpecialValuePre, aNEISpecialValueMultiplier, aNEISpecialValuePost, aShowVoltageAmperageInNEI, aNEIAllowed);
}
public void addNARecipe(FluidStack[] input1, ItemStack[] input2, FluidStack[] output1, ItemStack[] output2, int ticks, int special) {
super.addRecipe(false, input2, output2, null, input1, output1, ticks, 0, special);
}
}
public void addNeutronActivatorRecipe(FluidStack[] input1, ItemStack[] input2, FluidStack[] output1, ItemStack[] output2, int ticks, int maxNKE, int minNKE) {
if (maxNKE <= 0) maxNKE = 1;
if (maxNKE >= 1100) maxNKE = 1100;
if (minNKE < 0) minNKE = 0;
if (minNKE >= maxNKE) minNKE = maxNKE - 1;
NA.addNARecipe(input1, input2, output1, output2, ticks, maxNKE * 10000 + minNKE);
}
public static class ExtremeHeatExchangerMapper extends GT_Recipe.GT_Recipe_Map {
public ExtremeHeatExchangerMapper(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName, String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems, int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier, String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed){
super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, aUsualInputCount, aUsualOutputCount, aMinimalInputItems, aMinimalInputFluids, aAmperage, aNEISpecialValuePre, aNEISpecialValueMultiplier, aNEISpecialValuePost, aShowVoltageAmperageInNEI, aNEIAllowed);
}
@Override
public GT_Recipe addRecipe(boolean aOptimize, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecial, int[] aOutputChances, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) {
return addRecipe(new ExtremeHeatExchangerRecipe(aFluidInputs, aFluidOutputs, aSpecialValue));
}
}
public static class ExtremeHeatExchangerRecipe extends GT_Recipe {
public ExtremeHeatExchangerRecipe(FluidStack[] input, FluidStack[] output, int special) {
super(false, null, null, null, null, input, output, 0, 0, special);
}
@Override
public ArrayList<PositionedStack> getInputPositionedStacks() {
ArrayList<PositionedStack> inputStacks = new ArrayList<>();
if (this.mFluidInputs != null && this.mFluidInputs.length == 2) {
inputStacks.add(new PositionedStack(GT_Utility.getFluidDisplayStack(this.mFluidInputs[0], true), 22, 3));
inputStacks.add(new PositionedStack(GT_Utility.getFluidDisplayStack(this.mFluidInputs[1], true), 22, 27));
}
if (this.mFluidOutputs != null && this.mFluidOutputs.length == 3) {
inputStacks.add(new PositionedStack(GT_Utility.getFluidDisplayStack(this.mFluidOutputs[0], true), 124, 3));
inputStacks.add(new PositionedStack(GT_Utility.getFluidDisplayStack(this.mFluidOutputs[1], true), 124, 21));
inputStacks.add(new PositionedStack(GT_Utility.getFluidDisplayStack(this.mFluidOutputs[2], true), 124, 44));
}
return inputStacks;
}
}
public void addExtremeHeatExchangerRecipe(FluidStack HotFluid,
|