diff options
author | NotAPenguin <michiel.vandeginste@gmail.com> | 2024-09-22 19:47:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-22 17:47:29 +0000 |
commit | e14fd93609659e983caa3353c1de4c8e2f034f01 (patch) | |
tree | 6bede7106f4666b8f8cdfbb6301b516974de78d5 /src/main/java | |
parent | e35cabae267e6f215689fcd668393e4acc79e638 (diff) | |
download | GT5-Unofficial-e14fd93609659e983caa3353c1de4c8e2f034f01.tar.gz GT5-Unofficial-e14fd93609659e983caa3353c1de4c8e2f034f01.tar.bz2 GT5-Unofficial-e14fd93609659e983caa3353c1de4c8e2f034f01.zip |
Waterline tweaks (#3256)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java')
7 files changed, 86 insertions, 41 deletions
diff --git a/src/main/java/gregtech/api/gui/modularui/GTUITextures.java b/src/main/java/gregtech/api/gui/modularui/GTUITextures.java index b8e652dde1..67fc603f3e 100644 --- a/src/main/java/gregtech/api/gui/modularui/GTUITextures.java +++ b/src/main/java/gregtech/api/gui/modularui/GTUITextures.java @@ -214,6 +214,8 @@ public class GTUITextures { public static final UITexture PROGRESSBAR_OZONATION = UITexture.fullImage(GregTech.ID, "gui/progressbar/ozonation"); public static final UITexture PROGRESSBAR_PLASMA_HEATER = UITexture .fullImage(GregTech.ID, "gui/progressbar/water_plasma_heater"); + public static final UITexture PROGRESSBAR_UV_TREATMENT = UITexture + .fullImage(GregTech.ID, "gui/progressbar/uvtreatment"); public static FallbackableUITexture fallbackableProgressbar(String name, UITexture fallback) { return new FallbackableUITexture(UITexture.fullImage(GregTech.ID, "gui/progressbar/" + name), fallback); diff --git a/src/main/java/gregtech/api/recipe/RecipeMaps.java b/src/main/java/gregtech/api/recipe/RecipeMaps.java index 34d66fd3f0..47060d088b 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMaps.java +++ b/src/main/java/gregtech/api/recipe/RecipeMaps.java @@ -1149,6 +1149,7 @@ public final class RecipeMaps { recipe -> recipe.getMetadataOrDefault(PurificationPlantBaseChanceKey.INSTANCE, 0.0f)) .thenComparing(GTRecipe::compareTo)) .frontend(PurificationUnitOzonationFrontend::new) + .neiHandlerInfo(builder -> builder.setMaxRecipesPerPage(1)) .disableOptimize() .build(); public static final RecipeMap<RecipeMapBackend> purificationFlocculationRecipes = RecipeMapBuilder @@ -1184,7 +1185,7 @@ public final class RecipeMaps { .build(); public static final RecipeMap<RecipeMapBackend> purificationUVTreatmentRecipes = RecipeMapBuilder .of("gt.recipe.purificationplantuvtreatment") - .maxIO(9, 0, 1, 1) + .maxIO(0, 0, 1, 1) .minInputs(0, 1) .progressBar(GTUITextures.PROGRESSBAR_ARROW) .frontend(PurificationUnitLaserFrontend::new) diff --git a/src/main/java/gregtech/api/recipe/maps/PurificationUnitFlocculatorFrontend.java b/src/main/java/gregtech/api/recipe/maps/PurificationUnitFlocculatorFrontend.java index d0373d4310..36ba1637a4 100644 --- a/src/main/java/gregtech/api/recipe/maps/PurificationUnitFlocculatorFrontend.java +++ b/src/main/java/gregtech/api/recipe/maps/PurificationUnitFlocculatorFrontend.java @@ -78,21 +78,23 @@ public class PurificationUnitFlocculatorFrontend extends PurificationUnitRecipeM @Override public void drawNEIOverlays(GTNEIDefaultHandler.CachedDefaultRecipe neiCachedRecipe) { super.drawNEIOverlays(neiCachedRecipe); + // Just to make sure these are only added once, otherwise these keep getting added every display tick + if (neiCachedRecipe.mInputs.size() == 1) { + // Display flocculation chemical + neiCachedRecipe.mInputs.add( + new PositionedStack( + GTUtility.getFluidDisplayStack(Materials.PolyAluminiumChloride.getFluid(100000L), true), + 5, + -1, + false)); - // Display flocculation chemical - neiCachedRecipe.mInputs.add( - new PositionedStack( - GTUtility.getFluidDisplayStack(Materials.PolyAluminiumChloride.getFluid(100000L), true), - 5, - -1, - false)); - - // Display waste output - neiCachedRecipe.mOutputs.add( - new PositionedStack( - GTUtility.getFluidDisplayStack(Materials.FlocculationWasteLiquid.getFluid(100000L), true), - 147, - 48, - false)); + // Display waste output + neiCachedRecipe.mOutputs.add( + new PositionedStack( + GTUtility.getFluidDisplayStack(Materials.FlocculationWasteLiquid.getFluid(100000L), true), + 147, + 48, + false)); + } } } diff --git a/src/main/java/gregtech/api/recipe/maps/PurificationUnitLaserFrontend.java b/src/main/java/gregtech/api/recipe/maps/PurificationUnitLaserFrontend.java index 9c90acd8ad..d198cec7fe 100644 --- a/src/main/java/gregtech/api/recipe/maps/PurificationUnitLaserFrontend.java +++ b/src/main/java/gregtech/api/recipe/maps/PurificationUnitLaserFrontend.java @@ -4,33 +4,64 @@ import java.util.List; import net.minecraft.item.ItemStack; +import org.jetbrains.annotations.NotNull; + +import com.google.common.collect.ImmutableList; +import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture; import com.gtnewhorizons.modularui.api.math.Pos2d; +import com.gtnewhorizons.modularui.api.math.Size; import codechicken.nei.PositionedStack; +import gregtech.api.gui.modularui.GTUITextures; import gregtech.api.recipe.BasicUIPropertiesBuilder; import gregtech.api.recipe.NEIRecipePropertiesBuilder; -import gregtech.api.recipe.RecipeMapFrontend; -import gregtech.common.gui.modularui.UIHelper; import gregtech.common.tileentities.machines.multi.purification.MTEPurificationUnitUVTreatment; import gregtech.nei.GTNEIDefaultHandler; -public class PurificationUnitLaserFrontend extends RecipeMapFrontend { +public class PurificationUnitLaserFrontend extends PurificationUnitRecipeMapFrontend { public PurificationUnitLaserFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder, NEIRecipePropertiesBuilder neiPropertiesBuilder) { - super(uiPropertiesBuilder, neiPropertiesBuilder); + super( + 120, + uiPropertiesBuilder.logoPos(new Pos2d(147, 102)) + .progressBarTexture(new FallbackableUITexture(GTUITextures.PROGRESSBAR_UV_TREATMENT)), + neiPropertiesBuilder.recipeBackgroundSize(new Size(170, 120))); + } + + @Override + public @NotNull List<Pos2d> getFluidInputPositions(int fluidInputCount) { + return ImmutableList.of(new Pos2d(10, 89)); + } + + @Override + public @NotNull List<Pos2d> getFluidOutputPositions(int fluidOutputCount) { + return ImmutableList.of(new Pos2d(147, 89)); } @Override public void drawNEIOverlays(GTNEIDefaultHandler.CachedDefaultRecipe neiCachedRecipe) { final int numLenses = MTEPurificationUnitUVTreatment.LENS_ITEMS.size(); - List<Pos2d> positions = UIHelper.getGridPositions(numLenses, 12, -4, 3, 3); - // Put in lens items - for (int i = 0; i < numLenses; ++i) { - Pos2d position = positions.get(i); - ItemStack lens = MTEPurificationUnitUVTreatment.LENS_ITEMS.get(i); - neiCachedRecipe.mInputs.add(new PositionedStack(lens, position.x, position.y, false)); + List<Pos2d> positions = ImmutableList.of( + new Pos2d(62, -6), + new Pos2d(40, -1), + new Pos2d(32, 20), + new Pos2d(52, 27), + new Pos2d(75, 29), + new Pos2d(98, 27), + new Pos2d(118, 20), + new Pos2d(110, -1), + new Pos2d(88, -6)); + + if (neiCachedRecipe.mInputs.size() < numLenses) { + // Put in lens items + for (int i = 0; i < numLenses; ++i) { + Pos2d position = positions.get(i); + ItemStack lens = MTEPurificationUnitUVTreatment.LENS_ITEMS.get(i); + neiCachedRecipe.mInputs.add(new PositionedStack(lens, position.x, position.y, false)); + } } + super.drawNEIOverlays(neiCachedRecipe); } } diff --git a/src/main/java/gregtech/api/recipe/maps/PurificationUnitPhAdjustmentFrontend.java b/src/main/java/gregtech/api/recipe/maps/PurificationUnitPhAdjustmentFrontend.java index e78d2a395a..51cf4dbd54 100644 --- a/src/main/java/gregtech/api/recipe/maps/PurificationUnitPhAdjustmentFrontend.java +++ b/src/main/java/gregtech/api/recipe/maps/PurificationUnitPhAdjustmentFrontend.java @@ -67,12 +67,14 @@ public class PurificationUnitPhAdjustmentFrontend extends PurificationUnitRecipe @Override public void drawNEIOverlays(GTNEIDefaultHandler.CachedDefaultRecipe neiCachedRecipe) { - neiCachedRecipe.mInputs.add(new PositionedStack(Materials.SodiumHydroxide.getDust(64), 3, 1, false)); - neiCachedRecipe.mInputs.add( - new PositionedStack( - GTUtility.getFluidDisplayStack(Materials.HydrochloricAcid.getFluid(1000L), true), - 147, - 1, - false)); + if (neiCachedRecipe.mInputs.size() == 1) { + neiCachedRecipe.mInputs.add(new PositionedStack(Materials.SodiumHydroxide.getDust(64), 3, 1, false)); + neiCachedRecipe.mInputs.add( + new PositionedStack( + GTUtility.getFluidDisplayStack(Materials.HydrochloricAcid.getFluid(1000L), true), + 147, + 1, + false)); + } } } diff --git a/src/main/java/gregtech/api/recipe/maps/PurificationUnitPlasmaHeaterFrontend.java b/src/main/java/gregtech/api/recipe/maps/PurificationUnitPlasmaHeaterFrontend.java index a7f35c86a5..5299a17fa5 100644 --- a/src/main/java/gregtech/api/recipe/maps/PurificationUnitPlasmaHeaterFrontend.java +++ b/src/main/java/gregtech/api/recipe/maps/PurificationUnitPlasmaHeaterFrontend.java @@ -47,13 +47,19 @@ public class PurificationUnitPlasmaHeaterFrontend extends PurificationUnitRecipe @Override public void drawNEIOverlays(GTNEIDefaultHandler.CachedDefaultRecipe neiCachedRecipe) { - neiCachedRecipe.mInputs.add( - new PositionedStack(GTUtility.getFluidDisplayStack(Materials.Helium.getPlasma(10L), true), 26, 53, false)); - neiCachedRecipe.mInputs.add( - new PositionedStack( - GTUtility.getFluidDisplayStack(Materials.SuperCoolant.getFluid(100L), true), - 107, - 52, - false)); + if (neiCachedRecipe.mInputs.size() == 1) { + neiCachedRecipe.mInputs.add( + new PositionedStack( + GTUtility.getFluidDisplayStack(Materials.Helium.getPlasma(10L), true), + 26, + 53, + false)); + neiCachedRecipe.mInputs.add( + new PositionedStack( + GTUtility.getFluidDisplayStack(Materials.SuperCoolant.getFluid(100L), true), + 107, + 52, + false)); + } } } diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitUVTreatment.java b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitUVTreatment.java index 1ab8122d17..464beb7cc8 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitUVTreatment.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitUVTreatment.java @@ -255,6 +255,7 @@ public class MTEPurificationUnitUVTreatment extends MTEPurificationUnitBase<MTEP .addInfo("Removing a lens too early will fail the recipe.") .addInfo("Find the order of lenses in the recipe in NEI,") .addInfo("or use a portable scanner to view the currently requested lens.") + .addInfo("The recipe always starts at the Orundum Lens") .addSeparator() .addInfo( EnumChatFormatting.AQUA + "" |