diff options
| author | Raven Szewczyk <git@eigenraven.me> | 2024-05-24 19:50:35 +0100 |
|---|---|---|
| committer | Raven Szewczyk <git@eigenraven.me> | 2024-05-24 19:50:35 +0100 |
| commit | 6d1b2216464d4dad449ac6fcfec476832224a55e (patch) | |
| tree | 526a0c15f7056313c80e6c0386e025e9b3f61781 /gtpp/src/main/java/gtPlusPlus/api/recipe | |
| parent | b5d35f40afa606ed1b07061dad82e0521a59c186 (diff) | |
| download | GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.gz GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.bz2 GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.zip | |
Merge addon sources
Diffstat (limited to 'gtpp/src/main/java/gtPlusPlus/api/recipe')
6 files changed, 0 insertions, 567 deletions
diff --git a/gtpp/src/main/java/gtPlusPlus/api/recipe/ChemicalPlantFrontend.java b/gtpp/src/main/java/gtPlusPlus/api/recipe/ChemicalPlantFrontend.java deleted file mode 100644 index beede78173..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/recipe/ChemicalPlantFrontend.java +++ /dev/null @@ -1,68 +0,0 @@ -package gtPlusPlus.api.recipe; - -import static net.minecraft.util.EnumChatFormatting.GRAY; - -import java.util.List; - -import javax.annotation.ParametersAreNonnullByDefault; - -import com.gtnewhorizons.modularui.api.math.Pos2d; - -import gregtech.api.recipe.BasicUIPropertiesBuilder; -import gregtech.api.recipe.NEIRecipePropertiesBuilder; -import gregtech.api.recipe.RecipeMapFrontend; -import gregtech.api.util.MethodsReturnNonnullByDefault; -import gregtech.common.gui.modularui.UIHelper; -import gregtech.nei.GT_NEI_DefaultHandler; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault -public class ChemicalPlantFrontend extends RecipeMapFrontend { - - public ChemicalPlantFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder, - NEIRecipePropertiesBuilder neiPropertiesBuilder) { - super(uiPropertiesBuilder, neiPropertiesBuilder); - } - - @Override - public List<Pos2d> getItemInputPositions(int itemInputCount) { - return UIHelper.getGridPositions(itemInputCount, 7, 6, itemInputCount, 1); - } - - @Override - public List<Pos2d> getItemOutputPositions(int itemOutputCount) { - return UIHelper.getGridPositions(itemOutputCount, 106, 6, 2); - } - - @Override - public List<Pos2d> getFluidInputPositions(int fluidInputCount) { - return UIHelper.getGridPositions(fluidInputCount, 7, 41, fluidInputCount, 1); - } - - @Override - public List<Pos2d> getFluidOutputPositions(int fluidOutputCount) { - return UIHelper.getGridPositions(fluidOutputCount, 142, 6, 1, fluidOutputCount); - } - - @Override - protected List<String> handleNEIItemInputTooltip(List<String> currentTip, - GT_NEI_DefaultHandler.FixedPositionedStack pStack) { - if (ItemUtils.isCatalyst(pStack.item)) { - currentTip.add(GRAY + "Does not always get consumed in the process"); - currentTip.add(GRAY + "Higher tier pipe casings allow this item to last longer"); - } else { - super.handleNEIItemInputTooltip(currentTip, pStack); - } - return currentTip; - } - - @Override - protected void drawNEIOverlayForInput(GT_NEI_DefaultHandler.FixedPositionedStack stack) { - if (ItemUtils.isCatalyst(stack.item)) { - drawNEIOverlayText("NC*", stack); - } else { - super.drawNEIOverlayForInput(stack); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeCategories.java b/gtpp/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeCategories.java deleted file mode 100644 index 310f6f540d..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeCategories.java +++ /dev/null @@ -1,17 +0,0 @@ -package gtPlusPlus.api.recipe; - -import static gregtech.api.recipe.RecipeCategory.createIcon; - -import gregtech.api.enums.Mods; -import gregtech.api.recipe.RecipeCategory; -import gregtech.api.recipe.RecipeCategoryHolder; - -public class GTPPRecipeCategories { - - @RecipeCategoryHolder - public static final RecipeCategory absNonAlloyRecipes = new RecipeCategory( - "gtpp.recipe.category.abs_non_alloy_recipes", - GTPPRecipeMaps.alloyBlastSmelterRecipes, - builder -> builder.setDisplayImage( - createIcon(Mods.GTPlusPlus.getResourcePath("textures", "gui", "picture", "abs_non_alloy_recipes.png")))); -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java b/gtpp/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java deleted file mode 100644 index d2171d1bdd..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java +++ /dev/null @@ -1,232 +0,0 @@ -package gtPlusPlus.api.recipe; - -import java.util.Arrays; -import java.util.Collections; - -import net.minecraft.util.StatCollector; - -import com.gtnewhorizons.modularui.common.widget.ProgressBar; - -import gregtech.api.gui.modularui.GT_UITextures; -import gregtech.api.recipe.RecipeMap; -import gregtech.api.recipe.RecipeMapBackend; -import gregtech.api.recipe.RecipeMapBuilder; -import gregtech.api.recipe.maps.FluidOnlyFrontend; -import gregtech.api.recipe.maps.FuelBackend; -import gregtech.api.recipe.maps.LargeNEIFrontend; -import gregtech.api.util.GT_Utility; -import gregtech.nei.formatter.FuelSpecialValueFormatter; -import gregtech.nei.formatter.HeatingCoilSpecialValueFormatter; -import gregtech.nei.formatter.SimpleSpecialValueFormatter; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.gui.GTPP_UITextures; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntityTreeFarm; - -public class GTPPRecipeMaps { - - public static final RecipeMap<RecipeMapBackend> cokeOvenRecipes = RecipeMapBuilder.of("gtpp.recipe.cokeoven") - .maxIO(2, 9, 1, 1) - .minInputs(1, 0) - .progressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN) - .build(); - public static final RecipeMap<RecipeMapBackend> multiblockMassFabricatorRecipes = RecipeMapBuilder - .of("gtpp.recipe.matterfab2") - .maxIO(2, 0, 1, 1) - .build(); - public static final RecipeMap<FuelBackend> rocketFuels = RecipeMapBuilder - .of("gtpp.recipe.rocketenginefuel", FuelBackend::new) - .maxIO(0, 0, 1, 0) - .neiSpecialInfoFormatter( - recipeInfo -> Collections.singletonList( - StatCollector.translateToLocalFormatted( - "GT5U.nei.fuel", - GT_Utility.formatNumbers(recipeInfo.recipe.mSpecialValue * 3000L)))) - .build(); - public static final RecipeMap<RecipeMapBackend> quantumForceTransformerRecipes = RecipeMapBuilder - .of("gtpp.recipe.quantumforcesmelter") - .maxIO(6, 6, 6, 6) - .minInputs(1, 0) - .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE) - .neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("GT5U.nei.tier")) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap<RecipeMapBackend> chemicalDehydratorRecipes = RecipeMapBuilder - .of("gtpp.recipe.chemicaldehydrator") - .maxIO(2, 9, 1, 1) - .progressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN) - .build(); - public static final RecipeMap<RecipeMapBackend> vacuumFurnaceRecipes = RecipeMapBuilder.of("gtpp.recipe.vacfurnace") - .maxIO(9, 9, 3, 3) - .minInputs(1, 0) - .neiSpecialInfoFormatter(HeatingCoilSpecialValueFormatter.INSTANCE) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap<RecipeMapBackend> alloyBlastSmelterRecipes = RecipeMapBuilder - .of("gtpp.recipe.alloyblastsmelter") - .maxIO(9, 9, 3, 3) - .minInputs(1, 0) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap<RecipeMapBackend> liquidFluorineThoriumReactorRecipes = RecipeMapBuilder - .of("gtpp.recipe.lftr") - .maxIO(0, 0, 6, 6) - .minInputs(0, 2) - .frontend(FluidOnlyFrontend::new) - .neiSpecialInfoFormatter(recipeInfo -> { - final long eut = recipeInfo.recipe.mSpecialValue; - final int duration = recipeInfo.recipe.mDuration; - return Arrays.asList( - StatCollector.translateToLocalFormatted("gtpp.nei.lftr.power", GT_Utility.formatNumbers(eut)), - StatCollector - .translateToLocalFormatted("gtpp.nei.lftr.dynamo", MathUtils.formatNumbers(duration * eut)), - StatCollector - .translateToLocalFormatted("gtpp.nei.lftr.total", MathUtils.formatNumbers(duration * eut * 4))); - }) - .build(); - public static final RecipeMap<RecipeMapBackend> nuclearSaltProcessingPlantRecipes = RecipeMapBuilder - .of("gtpp.recipe.nuclearsaltprocessingplant") - .maxIO(1, 6, 2, 3) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap<RecipeMapBackend> millingRecipes = RecipeMapBuilder.of("gtpp.recipe.oremill") - .maxIO(3, 1, 0, 0) - .minInputs(1, 0) - .frontend(MillingFrontend::new) - .build(); - public static final RecipeMap<RecipeMapBackend> fissionFuelProcessingRecipes = RecipeMapBuilder - .of("gtpp.recipe.fissionfuel") - .maxIO(0, 0, 6, 1) - .frontend(FluidOnlyFrontend::new) - .build(); - public static final RecipeMap<RecipeMapBackend> coldTrapRecipes = RecipeMapBuilder.of("gtpp.recipe.coldtrap") - .maxIO(2, 9, 1, 1) - .progressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN) - .build(); - public static final RecipeMap<RecipeMapBackend> reactorProcessingUnitRecipes = RecipeMapBuilder - .of("gtpp.recipe.reactorprocessingunit") - .maxIO(2, 9, 1, 1) - .progressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN) - .build(); - public static final RecipeMap<RecipeMapBackend> simpleWasherRecipes = RecipeMapBuilder - .of("gtpp.recipe.simplewasher") - .maxIO(1, 1, 1, 0) - .slotOverlays( - (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_CAULDRON : null) - .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE) - .build(); - public static final RecipeMap<RecipeMapBackend> molecularTransformerRecipes = RecipeMapBuilder - .of("gtpp.recipe.moleculartransformer") - .maxIO(1, 1, 0, 0) - .slotOverlays( - (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_MICROSCOPE - : null) - .neiHandlerInfo( - builder -> builder - .setDisplayStack(ItemUtils.getItemStackFromFQRN("AdvancedSolarPanel:BlockMolecularTransformer", 1))) - .build(); - public static final RecipeMap<RecipeMapBackend> chemicalPlantRecipes = RecipeMapBuilder - .of("gtpp.recipe.fluidchemicaleactor") - .maxIO(4, 6, 4, 3) - .slotOverlays((index, isFluid, isOutput, isSpecial) -> { - if (isFluid) { - if (isOutput) { - return GT_UITextures.OVERLAY_SLOT_VIAL_2; - } - return GT_UITextures.OVERLAY_SLOT_MOLECULAR_3; - } - if (isOutput) { - return GT_UITextures.OVERLAY_SLOT_VIAL_1; - } - return GT_UITextures.OVERLAY_SLOT_MOLECULAR_1; - }) - .progressBar(GTPP_UITextures.PROGRESSBAR_FLUID_REACTOR, ProgressBar.Direction.CIRCULAR_CW) - .progressBarPos(82, 24) - .neiSpecialInfoFormatter(recipeInfo -> { - int tier = recipeInfo.recipe.mSpecialValue + 1; - String materialName = StatCollector.translateToLocal("gtpp.nei.chemplant.tier." + tier); - return Collections - .singletonList(StatCollector.translateToLocalFormatted("GT5U.nei.tier", tier + " - " + materialName)); - }) - .frontend(ChemicalPlantFrontend::new) - .build(); - public static final RecipeMap<FuelBackend> rtgFuels = RecipeMapBuilder - .of("gtpp.recipe.RTGgenerators", FuelBackend::new) - .maxIO(1, 0, 0, 0) - .neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("gtpp.nei.rtg.days", 365)) - .build(); - public static final RecipeMap<RecipeMapBackend> thermalBoilerRecipes = RecipeMapBuilder - .of("gtpp.recipe.thermalgeneratorfuel") - .maxIO(0, 9, 2, 3) - .frontend(ThermalBoilerFrontend::new) - .build(); - public static final RecipeMap<RecipeMapBackend> solarTowerRecipes = RecipeMapBuilder.of("gtpp.recipe.solartower") - .maxIO(0, 0, 1, 1) - .neiSpecialInfoFormatter( - recipeInfo -> Arrays.asList( - StatCollector.translateToLocal("gtpp.nei.solar_tower.1"), - StatCollector.translateToLocal("gtpp.nei.solar_tower.2"), - StatCollector.translateToLocal("gtpp.nei.solar_tower.3"))) - .frontend(FluidOnlyFrontend::new) - .build(); - public static final RecipeMap<RecipeMapBackend> cyclotronRecipes = RecipeMapBuilder.of("gtpp.recipe.cyclotron") - .maxIO(9, 9, 1, 1) - .build(); - public static final RecipeMap<RecipeMapBackend> fishPondRecipes = RecipeMapBuilder.of("gtpp.recipe.fishpond") - .maxIO(1, 1, 0, 0) - .slotOverlays( - (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_CAULDRON : null) - .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE) - .build(); - public static final RecipeMap<RecipeMapBackend> spargeTowerFakeRecipes = RecipeMapBuilder - .of("gtpp.recipe.spargetower") - .maxIO(0, 0, 9, 9) - .disableRegisterNEI() - .build(); - public static final RecipeMap<RecipeMapBackend> advancedFreezerRecipes = RecipeMapBuilder - .of("gtpp.recipe.cryogenicfreezer") - .maxIO(1, 1, 2, 1) - .build(); - public static final RecipeMap<RecipeMapBackend> centrifugeNonCellRecipes = RecipeMapBuilder - .of("gtpp.recipe.multicentrifuge") - .maxIO(6, 6, 6, 6) - .progressBar(GT_UITextures.PROGRESSBAR_EXTRACT) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap<RecipeMapBackend> electrolyzerNonCellRecipes = RecipeMapBuilder - .of("gtpp.recipe.multielectro") - .maxIO(6, 6, 6, 6) - .progressBar(GT_UITextures.PROGRESSBAR_EXTRACT) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap<RecipeMapBackend> mixerNonCellRecipes = RecipeMapBuilder.of("gtpp.recipe.multimixer") - .maxIO(9, 9, 6, 6) - .progressBar(GT_UITextures.PROGRESSBAR_MIXER, ProgressBar.Direction.CIRCULAR_CW) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap<RecipeMapBackend> chemicalDehydratorNonCellRecipes = RecipeMapBuilder - .of("gtpp.recipe.multidehydrator") - .maxIO(6, 9, 3, 3) - .frontend(LargeNEIFrontend::new) - .build(); - public static final RecipeMap<FuelBackend> semiFluidFuels = RecipeMapBuilder - .of("gtpp.recipe.semifluidgeneratorfuels", FuelBackend::new) - .maxIO(0, 0, 1, 0) - .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE) - .build(); - public static final RecipeMap<RecipeMapBackend> flotationCellRecipes = RecipeMapBuilder - .of("gtpp.recipe.flotationcell") - .maxIO(6, 0, 1, 1) - .build(); - public static final RecipeMap<RecipeMapBackend> treeGrowthSimulatorFakeRecipes = RecipeMapBuilder - .of("gtpp.recipe.treefarm") - .maxIO( - GregtechMetaTileEntityTreeFarm.Mode.values().length, - GregtechMetaTileEntityTreeFarm.Mode.values().length, - 0, - 0) - .minInputs(1, 0) - .useSpecialSlot() - .frontend(TGSFrontend::new) - .build(); -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/recipe/MillingFrontend.java b/gtpp/src/main/java/gtPlusPlus/api/recipe/MillingFrontend.java deleted file mode 100644 index 26e2ab2ec9..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/recipe/MillingFrontend.java +++ /dev/null @@ -1,46 +0,0 @@ -package gtPlusPlus.api.recipe; - -import static net.minecraft.util.EnumChatFormatting.GRAY; - -import java.util.List; - -import javax.annotation.ParametersAreNonnullByDefault; - -import net.minecraft.util.StatCollector; - -import gregtech.api.recipe.BasicUIPropertiesBuilder; -import gregtech.api.recipe.NEIRecipePropertiesBuilder; -import gregtech.api.recipe.RecipeMapFrontend; -import gregtech.api.util.MethodsReturnNonnullByDefault; -import gregtech.nei.GT_NEI_DefaultHandler; -import gtPlusPlus.core.util.minecraft.ItemUtils; - -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault -public class MillingFrontend extends RecipeMapFrontend { - - public MillingFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder, - NEIRecipePropertiesBuilder neiPropertiesBuilder) { - super(uiPropertiesBuilder, neiPropertiesBuilder); - } - - @Override - protected List<String> handleNEIItemInputTooltip(List<String> currentTip, - GT_NEI_DefaultHandler.FixedPositionedStack pStack) { - if (ItemUtils.isMillingBall(pStack.item)) { - currentTip.add(GRAY + StatCollector.translateToLocal("gtpp.nei.milling.not_consumed")); - } else { - super.handleNEIItemInputTooltip(currentTip, pStack); - } - return currentTip; - } - - @Override - protected void drawNEIOverlayForInput(GT_NEI_DefaultHandler.FixedPositionedStack stack) { - if (ItemUtils.isMillingBall(stack.item)) { - drawNEIOverlayText("NC*", stack); - } else { - super.drawNEIOverlayForInput(stack); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/recipe/TGSFrontend.java b/gtpp/src/main/java/gtPlusPlus/api/recipe/TGSFrontend.java deleted file mode 100644 index e57ebaf5f9..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/recipe/TGSFrontend.java +++ /dev/null @@ -1,147 +0,0 @@ -package gtPlusPlus.api.recipe; - -import java.awt.Rectangle; -import java.util.Arrays; -import java.util.List; - -import javax.annotation.ParametersAreNonnullByDefault; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.StatCollector; - -import com.gtnewhorizons.modularui.api.math.Pos2d; - -import gregtech.api.recipe.BasicUIPropertiesBuilder; -import gregtech.api.recipe.NEIRecipePropertiesBuilder; -import gregtech.api.recipe.RecipeMapFrontend; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.MethodsReturnNonnullByDefault; -import gregtech.common.gui.modularui.UIHelper; -import gregtech.nei.GT_NEI_DefaultHandler; -import gregtech.nei.RecipeDisplayInfo; -import gregtech.nei.formatter.INEISpecialInfoFormatter; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntityTreeFarm; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntityTreeFarm.Mode; - -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault -public class TGSFrontend extends RecipeMapFrontend { - - private static final int SLOT_SIZE = 18; - private static final int CENTER_X = 90; - private static final int SPECIAL_X = CENTER_X - SLOT_SIZE / 2; - private static final int SPECIAL_Y = 9; - private static final int INPUTS_X = CENTER_X - SLOT_SIZE * 3; - private static final int INPUTS_Y = SPECIAL_Y + SLOT_SIZE + SLOT_SIZE / 2; - private static final int OUTPUTS_X = CENTER_X + SLOT_SIZE; - private static final int OUTPUTS_Y = INPUTS_Y; - - public TGSFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder, NEIRecipePropertiesBuilder neiPropertiesBuilder) { - super( - uiPropertiesBuilder - .addNEITransferRect( - new Rectangle(INPUTS_X + SLOT_SIZE * 2, INPUTS_Y + SLOT_SIZE / 2, SLOT_SIZE * 2, SLOT_SIZE)) - .progressBarPos(new Pos2d(CENTER_X - 10, INPUTS_Y + SLOT_SIZE / 2)), - neiPropertiesBuilder.neiSpecialInfoFormatter(new TGSSpecialValueFormatter())); - } - - @Override - protected void drawEnergyInfo(RecipeDisplayInfo recipeInfo) { - // Do not. - } - - @Override - public Pos2d getSpecialItemPosition() { - return new Pos2d(SPECIAL_X, SPECIAL_Y); - } - - @Override - public List<Pos2d> getItemInputPositions(int itemInputCount) { - return UIHelper.getGridPositions(Mode.values().length, INPUTS_X, INPUTS_Y, 2); - } - - @Override - public List<Pos2d> getItemOutputPositions(int itemOutputCount) { - return UIHelper.getGridPositions(Mode.values().length, OUTPUTS_X, OUTPUTS_Y, 2); - } - - private static final String[] tooltipInputs = { StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.saw"), - StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.cutter"), - StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.shears"), - StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.knife") }; - - private static final String[] tooltipOutputs = { StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.needsSaw"), - StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.needsCutter"), - StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.needsShears"), - StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.needsKnife") }; - private static final String tooltipSapling = StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.sapling"); - private static final String tooltipMultiplier = StatCollector.translateToLocal("gtpp.nei.tgs.tooltip.multiplier"); - - @Override - public List<String> handleNEIItemTooltip(ItemStack stack, List<String> currentTip, - GT_NEI_DefaultHandler.CachedDefaultRecipe neiCachedRecipe) { - - /* - * This gets a little complicated, because we want to assign tooltips to inputs/outputs based on which mode - * (saw, shears, etc.) they correspond to. But CachedDefaultRecipe does not retain this information for us. This - * is because some recipes don't output any items for some modes. For example, if a recipe only yields logs and - * leaves, then the outputs of GT_Recipe will be {log, null, leaves}. However, in CachedDefaultRecipe this gets - * condensed to just {log, leaves}, with null values omitted. So to figure out which item came from which mode, - * we need to step through both of these arrays simultaneously and match non-null inputs/outputs in GT_Recipe to - * inputs/outputs in CachedDefaultRecipe. - */ - - // The last input in neiCachedRecipe is always the special slot, this is the input sapling. - if (stack == neiCachedRecipe.mInputs.get(neiCachedRecipe.mInputs.size() - 1).item) { - currentTip.add(EnumChatFormatting.YELLOW + tooltipSapling); - super.handleNEIItemTooltip(stack, currentTip, neiCachedRecipe); - return currentTip; - } - - GT_Recipe.GT_Recipe_WithAlt recipe = (GT_Recipe.GT_Recipe_WithAlt) neiCachedRecipe.mRecipe; - - // Inputs - int slot = 0; - for (int mode = 0; mode < Mode.values().length; ++mode) { - if (mode < recipe.mOreDictAlt.length && recipe.mOreDictAlt[mode] != null) { - // There is a valid input in this mode. - if (slot < neiCachedRecipe.mInputs.size() && stack == neiCachedRecipe.mInputs.get(slot).item) { - int toolMultiplier = GregtechMetaTileEntityTreeFarm.getToolMultiplier(stack, Mode.values()[mode]); - currentTip.add(EnumChatFormatting.YELLOW + tooltipInputs[mode]); - if (toolMultiplier > 0) { - currentTip.add(EnumChatFormatting.YELLOW + tooltipMultiplier + " " + toolMultiplier + "x"); - } - return currentTip; - } - ++slot; - } - } - - // Outputs - slot = 0; - for (int mode = 0; mode < Mode.values().length; ++mode) { - if (mode < recipe.mOutputs.length && recipe.mOutputs[mode] != null) { - // There is a valid output in this mode. - if (slot < neiCachedRecipe.mOutputs.size() && stack == neiCachedRecipe.mOutputs.get(slot).item) { - currentTip.add(EnumChatFormatting.YELLOW + tooltipOutputs[mode]); - return currentTip; - } - ++slot; - } - } - - return currentTip; - } - - private static class TGSSpecialValueFormatter implements INEISpecialInfoFormatter { - - @Override - public List<String> format(RecipeDisplayInfo recipeInfo) { - return Arrays.asList( - StatCollector.translateToLocal("gtpp.nei.tgs.info-1"), - StatCollector.translateToLocal("gtpp.nei.tgs.info-2"), - StatCollector.translateToLocal("gtpp.nei.tgs.info-3")); - } - } -} diff --git a/gtpp/src/main/java/gtPlusPlus/api/recipe/ThermalBoilerFrontend.java b/gtpp/src/main/java/gtPlusPlus/api/recipe/ThermalBoilerFrontend.java deleted file mode 100644 index 93974b9f9a..0000000000 --- a/gtpp/src/main/java/gtPlusPlus/api/recipe/ThermalBoilerFrontend.java +++ /dev/null @@ -1,57 +0,0 @@ -package gtPlusPlus.api.recipe; - -import java.util.ArrayList; -import java.util.List; - -import javax.annotation.ParametersAreNonnullByDefault; - -import com.gtnewhorizons.modularui.api.math.Pos2d; - -import gregtech.api.recipe.BasicUIPropertiesBuilder; -import gregtech.api.recipe.NEIRecipePropertiesBuilder; -import gregtech.api.recipe.maps.LargeNEIFrontend; -import gregtech.api.util.MethodsReturnNonnullByDefault; -import gregtech.common.gui.modularui.UIHelper; -import gregtech.nei.RecipeDisplayInfo; -import gregtech.nei.formatter.INEISpecialInfoFormatter; - -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault -public class ThermalBoilerFrontend extends LargeNEIFrontend { - - private static final int tileSize = 18; - private static final int xOrigin = 16; - private static final int yOrigin = 8 + tileSize; // Aligned with second row of output items. - private static final int maxInputs = 3; - - public ThermalBoilerFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder, - NEIRecipePropertiesBuilder neiPropertiesBuilder) { - super( - uiPropertiesBuilder, - neiPropertiesBuilder.neiSpecialInfoFormatter(new ThermalBoilerSpecialValueFormatter())); - } - - @Override - public List<Pos2d> getFluidInputPositions(int fluidInputCount) { - return UIHelper - .getGridPositions(fluidInputCount, xOrigin + tileSize * (maxInputs - fluidInputCount), yOrigin, maxInputs); - } - - private static class ThermalBoilerSpecialValueFormatter implements INEISpecialInfoFormatter { - - @Override - public List<String> format(RecipeDisplayInfo recipeInfo) { - // TODO: Translation. - List<String> result = new ArrayList<>(); - result.add("Steam output shown"); - result.add("at maximum efficiency."); - - if (recipeInfo.recipe.mSpecialValue == -1) { - result.add("Without a Lava Filter,"); - result.add("only Obsidian is produced."); - } - - return result; - } - } -} |
