diff options
-rw-r--r-- | src/main/java/goodgenerator/crossmod/nei/IMCForNEI.java | 1 | ||||
-rw-r--r-- | src/main/java/goodgenerator/loader/RecipeLoader_02.java | 11 | ||||
-rw-r--r-- | src/main/java/goodgenerator/util/MyRecipeAdder.java | 64 | ||||
-rw-r--r-- | src/main/resources/assets/goodgenerator/lang/en_US.lang | 3 | ||||
-rw-r--r-- | src/main/resources/assets/goodgenerator/textures/gui/precise_assembler.png | bin | 0 -> 2314 bytes |
5 files changed, 79 insertions, 0 deletions
diff --git a/src/main/java/goodgenerator/crossmod/nei/IMCForNEI.java b/src/main/java/goodgenerator/crossmod/nei/IMCForNEI.java index f7d63039ba..d2b7b1dcac 100644 --- a/src/main/java/goodgenerator/crossmod/nei/IMCForNEI.java +++ b/src/main/java/goodgenerator/crossmod/nei/IMCForNEI.java @@ -7,6 +7,7 @@ public class IMCForNEI { public static void IMCSender() { setNBTAndSend("goodgenerator.crossmod.nei.NeutronActivatorHandler", "gregtech:gt.blockmachines:32013"); setNBTAndSend("goodgenerator.crossmod.nei.ExtremeHeatExchangerHandler", "gregtech:gt.blockmachines:32017"); + setNBTAndSend("gg.recipe.precise_assembler", "gregtech:gt.blockmachines:32018"); } private static void setNBTAndSend(String aName, String aBlock) { diff --git a/src/main/java/goodgenerator/loader/RecipeLoader_02.java b/src/main/java/goodgenerator/loader/RecipeLoader_02.java index c0fe7d309f..ecabcf6ab9 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader_02.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader_02.java @@ -1018,6 +1018,17 @@ public class RecipeLoader_02 { 100, 30 ); + + MyRecipeAdder.instance.addPreciseAssemblerRecipe( + new ItemStack[] { + Materials.Glowstone.getDust(1) + }, + new FluidStack[]{ + Materials.Glowstone.getMolten(1) + }, + Materials.Iron.getDust(1), + 12, 112, 1 + ); } public static void InitLoadRecipe() { diff --git a/src/main/java/goodgenerator/util/MyRecipeAdder.java b/src/main/java/goodgenerator/util/MyRecipeAdder.java index 231a93a27b..27a36842b1 100644 --- a/src/main/java/goodgenerator/util/MyRecipeAdder.java +++ b/src/main/java/goodgenerator/util/MyRecipeAdder.java @@ -69,6 +69,20 @@ public class MyRecipeAdder { false ); + public final PreciseAssemblerMapper PA = new PreciseAssemblerMapper( + new HashSet<>(120), + "gg.recipe.precise_assembler", + StatCollector.translateToLocal("tile.precise_assembler"), + null, + "goodgenerator:textures/gui/precise_assembler", + 4, 1, 1, 0, 1, + StatCollector.translateToLocal("value.precise_assembler.0"), + 1, + StatCollector.translateToLocal("value.precise_assembler.1"), + true, + true + ); + 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); @@ -213,4 +227,54 @@ public class MyRecipeAdder { 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); } + + public static class PreciseAssemblerMapper extends GT_Recipe.GT_Recipe_Map { + public PreciseAssemblerMapper(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) { + PreciseAssemblerRecipe tRecipe = new PreciseAssemblerRecipe(aInputs, aFluidInputs, aOutputs[0], aEUt, aDuration, aSpecialValue); + return addRecipe(tRecipe); + } + } + + public static class PreciseAssemblerRecipe extends GT_Recipe { + public PreciseAssemblerRecipe(ItemStack[] input1, FluidStack[] input2, ItemStack output, int EUt, int ticks, int tier) { + super(false, input1, new ItemStack[]{output}, null, null, input2, null, ticks, EUt, tier); + } + + @Override + public ArrayList<PositionedStack> getInputPositionedStacks() { + ArrayList<PositionedStack> inputStacks = new ArrayList<>(); + if (this.mFluidInputs != null) { + int index = 0; + for (FluidStack inFluid : mFluidInputs) { + inputStacks.add(new PositionedStack(GT_Utility.getFluidDisplayStack(inFluid, true), 4 + index * 18, 38)); + index ++; + } + } + if (this.mInputs != null) { + int index = 0; + for (ItemStack inItem : mInputs) { + inputStacks.add(new PositionedStack(inItem, 4 + index * 18, 3)); + index ++; + } + } + return inputStacks; + } + + @Override + public ArrayList<PositionedStack> getOutputPositionedStacks() { + ArrayList<PositionedStack> outputStacks = new ArrayList<>(); + if (this.mOutputs != null && this.mOutputs.length > 0) + outputStacks.add(new PositionedStack(this.mOutputs[0], 111, 20)); + return outputStacks; + } + } + + public void addPreciseAssemblerRecipe(ItemStack[] aItemInputs, FluidStack[] aFluidInputs, ItemStack aOutput, int aEUt, int aDuration, int aTier) { + PA.addRecipe(false, aItemInputs, new ItemStack[]{aOutput}, null, null, aFluidInputs, null, aDuration, aEUt, aTier); + } } diff --git a/src/main/resources/assets/goodgenerator/lang/en_US.lang b/src/main/resources/assets/goodgenerator/lang/en_US.lang index cd02303e94..0280b84f56 100644 --- a/src/main/resources/assets/goodgenerator/lang/en_US.lang +++ b/src/main/resources/assets/goodgenerator/lang/en_US.lang @@ -236,6 +236,7 @@ tile.recipe.naquadah_reactor=Large Naquadah Reactor tile.naquadah_fuel_refine_factory=Naquadah Fuel Refine Factory tile.neutron_activator=Neutron Activator tile.extreme_heat_exchanger=Extreme Heat Exchanger +tile.precise_assembler=Precise Assembler value.naquadah_reactor=Basic Output Voltage: value.naquadah_fuel_refine_factory.0=Need Tier value.naquadah_fuel_refine_factory.1= Coil @@ -247,6 +248,8 @@ value.extreme_heat_exchanger.1=Max Distilled Water Input: value.extreme_heat_exchanger.2=Max Heated Fluid Output: value.extreme_heat_exchanger.3=Max Overheated Fluid Output: value.extreme_heat_exchanger.4=Threshold: +value.precise_assembler.0=Need MK- +value.precise_assembler.1= Casing #TecTech Structure Info FuelRefineFactory.hint.0=8x Field Restriction Glasses diff --git a/src/main/resources/assets/goodgenerator/textures/gui/precise_assembler.png b/src/main/resources/assets/goodgenerator/textures/gui/precise_assembler.png Binary files differnew file mode 100644 index 0000000000..3644fdf977 --- /dev/null +++ b/src/main/resources/assets/goodgenerator/textures/gui/precise_assembler.png |