aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/goodgenerator/util
diff options
context:
space:
mode:
authorGlodBlock <1356392126@qq.com>2022-01-22 11:44:22 +0800
committerGlodBlock <1356392126@qq.com>2022-01-22 11:44:22 +0800
commit1489795e9404fa59b68a84e5da90c242a69aeced (patch)
treecd0d7664559b9ba3760142e9204e0d6c143e113f /src/main/java/goodgenerator/util
parent462e7ec5427c748047349d80654356f35a4a160e (diff)
downloadGT5-Unofficial-1489795e9404fa59b68a84e5da90c242a69aeced.tar.gz
GT5-Unofficial-1489795e9404fa59b68a84e5da90c242a69aeced.tar.bz2
GT5-Unofficial-1489795e9404fa59b68a84e5da90c242a69aeced.zip
gui and structure stuff of XHE
Diffstat (limited to 'src/main/java/goodgenerator/util')
-rw-r--r--src/main/java/goodgenerator/util/ItemRefer.java2
-rw-r--r--src/main/java/goodgenerator/util/MyRecipeAdder.java52
2 files changed, 54 insertions, 0 deletions
diff --git a/src/main/java/goodgenerator/util/ItemRefer.java b/src/main/java/goodgenerator/util/ItemRefer.java
index f666fea41d..8db9de3479 100644
--- a/src/main/java/goodgenerator/util/ItemRefer.java
+++ b/src/main/java/goodgenerator/util/ItemRefer.java
@@ -1,5 +1,6 @@
package goodgenerator.util;
+import goodgenerator.blocks.tileEntity.ExtremeHeatExchanger;
import gregtech.api.util.GT_Utility;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
@@ -105,6 +106,7 @@ public final class ItemRefer {
public static ItemRefer Combustion_Generator_EV = getItemStack(Generator_Diesel[0]);
public static ItemRefer Combustion_Generator_IV = getItemStack(Generator_Diesel[1]);
public static ItemRefer SC_Fluid_Turbine = getItemStack(SCTurbine);
+ public static ItemRefer Extreme_Heat_Exchanger = getItemStack(XHE);
private Item mItem = null;
private Block mBlock = null;
diff --git a/src/main/java/goodgenerator/util/MyRecipeAdder.java b/src/main/java/goodgenerator/util/MyRecipeAdder.java
index 056d220275..59bce6220c 100644
--- a/src/main/java/goodgenerator/util/MyRecipeAdder.java
+++ b/src/main/java/goodgenerator/util/MyRecipeAdder.java
@@ -1,10 +1,13 @@
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;
@@ -52,6 +55,18 @@ public class MyRecipeAdder {
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);
@@ -97,4 +112,41 @@ public class MyRecipeAdder {
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, FluidStack ColdFluid, FluidStack WorkFluid, FluidStack HeatedWorkFluid, FluidStack OverHeatedWorkFluid, int Threshold) {
+ XHE.addRecipe(false, null, null, null, null, new FluidStack[]{HotFluid, WorkFluid}, new FluidStack[]{HeatedWorkFluid, OverHeatedWorkFluid, ColdFluid}, 0, 0, Threshold);
+ }
}