From 4e53f4462feae7b64d5f5f378c48bad7c10cee4f Mon Sep 17 00:00:00 2001 From: Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com> Date: Sun, 5 Feb 2023 19:01:37 +0000 Subject: Add TPM Multiblock (#1718) * Remove warning suppression * New helper default method * Initial work on TPM * Bump dep for structure lib and modular UI * Structure works + recipe map * Working * Tooltip and NEI work * Change controller texture * spotlessApply (#1719) * Fix wrong order * Add override * Spotless * Big opps lol * Comment * Spotless --------- Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- src/main/java/gregtech/api/util/GT_Recipe.java | 65 ++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) (limited to 'src/main/java/gregtech/api/util') diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java index 32d841dfa8..59fd3da31d 100644 --- a/src/main/java/gregtech/api/util/GT_Recipe.java +++ b/src/main/java/gregtech/api/util/GT_Recipe.java @@ -1,6 +1,7 @@ package gregtech.api.util; import static gregtech.api.enums.GT_Values.*; +import static gregtech.api.util.GT_Utility.formatNumbers; import static net.minecraft.util.EnumChatFormatting.GRAY; import java.awt.*; @@ -1728,6 +1729,70 @@ public class GT_Recipe implements Comparable { true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT) .setUsualFluidInputCount(9).setUsualFluidOutputCount(9) .setNEISpecialInfoFormatter(HeatingCoilSpecialValueFormatter.INSTANCE); + + public static final GT_Recipe_Map sTranscendentPlasmaMixerRecipes = new TranscendentPlasmaMixerRecipeMap( + new HashSet<>(20), + "gt.recipe.transcendentplasmamixerrecipes", + "Transcendent Plasma Mixer", + null, + RES_PATH_GUI + "basicmachines/PlasmaForge", + 1, + 0, + 0, + 0, + 1, + "", + 0, + "", + false, + true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT) + .setUsualFluidInputCount(18).setUsualFluidOutputCount(1); + + public static class TranscendentPlasmaMixerRecipeMap extends GT_Recipe_Map_LargeNEI { + + public TranscendentPlasmaMixerRecipeMap(Collection 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); + useModularUI(true); + setNEISpecialInfoFormatter((recipeInfo, applyPrefixAndSuffix) -> { + final GT_Recipe recipe = recipeInfo.recipe; + List result = new ArrayList<>(); + + result.add("Total: " + formatNumbers(1000L * (long) recipe.mEUt) + " EU"); + + result.add("Average: " + formatNumbers((1000L * (long) recipe.mEUt) / recipe.mDuration) + "EU/t"); + + result.add("Time: " + formatNumbers((double) recipe.mDuration / 20L) + "s"); + + return result; + }); + } + + @Override + public void drawNEIDescription(NEIRecipeInfo recipeInfo) { + drawNEISpecialInfo(recipeInfo); + drawNEIRecipeOwnerInfo(recipeInfo); + } + } + public static final GT_Recipe_Map sPrimitiveBlastRecipes = new GT_Recipe_Map( new HashSet<>(200), "gt.recipe.primitiveblastfurnace", -- cgit