From 856f1bebbfdd19dc4d360d507119c8fedef7c3a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Tue, 16 May 2017 22:19:36 +0200 Subject: [PATCH] Changed the NEI GUI of the Distillation Tower to show up to 12 outputs. Also added a currently unused GUI for 9x9 recipes. --- misc/vector/recipe.distillation_tower.svg | 1259 +++++++++++++++++ misc/vector/recipe.nine_x_nine.svg | 189 +++ misc/vector/recipe.twelve_x_twelve.svg | 186 +++ .../java/gregtech/api/util/GT_Recipe.java | 57 +- .../gui/basicmachines/DistillationTower.png | Bin 0 -> 2788 bytes .../textures/gui/basicmachines/NineXNine.png | Bin 0 -> 2631 bytes 6 files changed, 1690 insertions(+), 1 deletion(-) create mode 100644 misc/vector/recipe.distillation_tower.svg create mode 100644 misc/vector/recipe.nine_x_nine.svg create mode 100644 misc/vector/recipe.twelve_x_twelve.svg create mode 100644 src/main/resources/assets/gregtech/textures/gui/basicmachines/DistillationTower.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/basicmachines/NineXNine.png diff --git a/misc/vector/recipe.distillation_tower.svg b/misc/vector/recipe.distillation_tower.svg new file mode 100644 index 00000000..013bf2ee --- /dev/null +++ b/misc/vector/recipe.distillation_tower.svg @@ -0,0 +1,1259 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/misc/vector/recipe.nine_x_nine.svg b/misc/vector/recipe.nine_x_nine.svg new file mode 100644 index 00000000..e26c941f --- /dev/null +++ b/misc/vector/recipe.nine_x_nine.svg @@ -0,0 +1,189 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/misc/vector/recipe.twelve_x_twelve.svg b/misc/vector/recipe.twelve_x_twelve.svg new file mode 100644 index 00000000..83bfafa3 --- /dev/null +++ b/misc/vector/recipe.twelve_x_twelve.svg @@ -0,0 +1,186 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java index 23d5c121..84ad487e 100644 --- a/src/main/java/gregtech/api/util/GT_Recipe.java +++ b/src/main/java/gregtech/api/util/GT_Recipe.java @@ -552,7 +552,7 @@ public class GT_Recipe implements Comparable { public static final GT_Recipe_Map sVacuumRecipes = new GT_Recipe_Map(new HashSet(100), "gt.recipe.vacuumfreezer", "Vacuum Freezer", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 1, 0, 1, E, 1, E, true, true); public static final GT_Recipe_Map sChemicalRecipes = new GT_Recipe_Map(new HashSet(100), "gt.recipe.chemicalreactor", "Chemical Reactor", null, RES_PATH_GUI + "basicmachines/ChemicalReactor", 2, 2, 1, 0, 1, E, 1, E, true, true); public static final GT_Recipe_Map sMultiblockChemicalRecipes = new GT_Recipe_Map_LargeChemicalReactor(); - public static final GT_Recipe_Map sDistillationRecipes = new GT_Recipe_Map(new HashSet(50), "gt.recipe.distillationtower", "Distillation Tower", null, RES_PATH_GUI + "basicmachines/Default", 2, 4, 0, 0, 1, E, 1, E, true, true); + public static final GT_Recipe_Map sDistillationRecipes = new GT_Recipe_Map_DistillationTower(); public static final GT_Recipe_Map sCrakingRecipes = new GT_Recipe_Map(new HashSet(50), "gt.recipe.craker", "Oil Cracker", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 1, 1, E, 1, E, true, true); public static final GT_Recipe_Map sPyrolyseRecipes = new GT_Recipe_Map(new HashSet(50), "gt.recipe.pyro", "Pyrolyse Oven", null, RES_PATH_GUI + "basicmachines/Default", 2, 1, 1, 0, 1, E, 1, E, true, true); public static final GT_Recipe_Map sWiremillRecipes = new GT_Recipe_Map(new HashSet(50), "gt.recipe.wiremill", "Wiremill", null, RES_PATH_GUI + "basicmachines/Wiremill", 1, 1, 1, 0, 1, E, 1, E, true, true); @@ -1568,4 +1568,59 @@ public class GT_Recipe implements Comparable { } } + + public static class GT_Recipe_Map_DistillationTower extends GT_Recipe_Map { + private static final int FLUID_OUTPUT_COUNT = 11; + private static final int ROW_SIZE = 3; + + public GT_Recipe_Map_DistillationTower() { + super(new HashSet(50), "gt.recipe.distillationtower", "Distillation Tower", null, RES_PATH_GUI + "basicmachines/DistillationTower", 2, 4, 0, 0, 1, E, 1, E, true, true); + } + + @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 GT_Recipe_DistillationTower(aOptimize, aInputs, aOutputs, aSpecial, aOutputChances, aFluidInputs, aFluidOutputs, aDuration, aEUt, aSpecialValue)); + } + + @Override + public GT_Recipe addRecipe(boolean aOptimize, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecial, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) { + return addRecipe(aOptimize, aInputs, aOutputs, aSpecial, null, aFluidInputs, aFluidOutputs, aDuration, aEUt, aSpecialValue); + } + + private static class GT_Recipe_DistillationTower extends GT_Recipe{ + + protected GT_Recipe_DistillationTower(boolean aOptimize, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, int[] aChances, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) { + super(aOptimize, aInputs, aOutputs, aSpecialItems, aChances, aFluidInputs, aFluidOutputs, aDuration, aEUt, aSpecialValue); + } + + @Override + public ArrayList getInputPositionedStacks() { + ArrayList inputStacks = new ArrayList(1); + + if (this.mFluidInputs.length > 0 && this.mFluidInputs[0] != null) { + inputStacks.add(new FixedPositionedStack(GT_Utility.getFluidDisplayStack(this.mFluidInputs[0], true), 48, 52)); + } + return inputStacks; + } + + @Override + public ArrayList getOutputPositionedStacks() { + int fluidLimit = Math.min(mFluidOutputs.length, FLUID_OUTPUT_COUNT); + ArrayList outputStacks = new ArrayList(1 + fluidLimit); + + if (this.mOutputs.length > 0 && this.mOutputs[0] != null) { + outputStacks.add(new FixedPositionedStack(this.getOutput(0), 102, 52)); + } + + for (int i = 0; i < fluidLimit; i++) { + int x = 102 + ((i + 1) % ROW_SIZE) * 18; + int y = 52 - ((i + 1) / ROW_SIZE) * 18; + outputStacks.add(new FixedPositionedStack(GT_Utility.getFluidDisplayStack(this.mFluidOutputs[i], true), x, y)); + } + + return outputStacks; + } + + } + } } diff --git a/src/main/resources/assets/gregtech/textures/gui/basicmachines/DistillationTower.png b/src/main/resources/assets/gregtech/textures/gui/basicmachines/DistillationTower.png new file mode 100644 index 0000000000000000000000000000000000000000..0fb00229d7ae8bf35197bfa2d8b69acea4366705 GIT binary patch literal 2788 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