aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/goodgenerator/crossmod/nei/IMCForNEI.java1
-rw-r--r--src/main/java/goodgenerator/loader/RecipeLoader_02.java11
-rw-r--r--src/main/java/goodgenerator/util/MyRecipeAdder.java64
-rw-r--r--src/main/resources/assets/goodgenerator/lang/en_US.lang3
-rw-r--r--src/main/resources/assets/goodgenerator/textures/gui/precise_assembler.pngbin0 -> 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
new file mode 100644
index 0000000000..3644fdf977
--- /dev/null
+++ b/src/main/resources/assets/goodgenerator/textures/gui/precise_assembler.png
Binary files differ