diff options
author | GlodBlock <1356392126@qq.com> | 2022-01-22 11:44:22 +0800 |
---|---|---|
committer | GlodBlock <1356392126@qq.com> | 2022-01-22 11:44:22 +0800 |
commit | 1489795e9404fa59b68a84e5da90c242a69aeced (patch) | |
tree | cd0d7664559b9ba3760142e9204e0d6c143e113f /src/main/java/goodgenerator/util | |
parent | 462e7ec5427c748047349d80654356f35a4a160e (diff) | |
download | GT5-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.java | 2 | ||||
-rw-r--r-- | src/main/java/goodgenerator/util/MyRecipeAdder.java | 52 |
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); + } } |