From 009e774a3aa3563eacc8c22ea96ca4999c0b67f1 Mon Sep 17 00:00:00 2001 From: Maxim Date: Sun, 9 Apr 2023 13:14:03 +0200 Subject: Implement new tooltips (#595) * Display tank content in tooltip * Display locked recipe of flotation cell --------- Co-authored-by: boubou19 --- .../production/GregtechMTE_FrothFlotationCell.java | 11 ++++++++ .../storage/GT_MetaTileEntity_TieredTank.java | 33 ++++++++++++++++++++++ 2 files changed, 44 insertions(+) (limited to 'src/main/java') diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java index ea3024bb5f..6209e24fc5 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java @@ -9,10 +9,12 @@ import static gregtech.api.enums.GT_HatchElement.Maintenance; import static gregtech.api.enums.GT_HatchElement.OutputHatch; import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import java.util.List; import java.util.Objects; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.Constants; import net.minecraftforge.fluids.FluidStack; @@ -286,6 +288,15 @@ public class GregtechMTE_FrothFlotationCell extends GregtechMeta_MultiBlockBase< } } + @Override + public void addAdditionalTooltipInformation(ItemStack stack, List tooltip) { + if (stack.hasTagCompound() && stack.getTagCompound().hasKey("lockedMaterialName")) { + tooltip.add( + StatCollector.translateToLocal("tooltip.flotationCell.lockedTo") + " " + + StatCollector.translateToLocal(stack.getTagCompound().getString("lockedMaterialName"))); + } + } + @Override public String[] getExtraInfoData() { return new String[] { "Locked material: " + lockedMaterialName }; diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java index 792adb3132..03efe3d7af 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java @@ -1,8 +1,14 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.storage; +import java.util.List; + import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraftforge.fluids.FluidStack; +import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Textures; import gregtech.api.gui.modularui.GT_UIInfos; @@ -11,6 +17,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank; import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; @@ -56,6 +64,31 @@ public class GT_MetaTileEntity_TieredTank extends GT_MetaTileEntity_BasicTank { new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_POTIONBREWER) }; } + @Override + public void addAdditionalTooltipInformation(ItemStack stack, List tooltip) { + if (stack.hasTagCompound() && stack.stackTagCompound.hasKey("mFluid")) { + final FluidStack tContents = FluidStack + .loadFluidStackFromNBT(stack.stackTagCompound.getCompoundTag("mFluid")); + if (tContents != null && tContents.amount > 0) { + tooltip.add( + GT_LanguageManager.addStringLocalization( + "TileEntity_TANK_INFO", + "Contains Fluid: ", + !GregTech_API.sPostloadFinished) + EnumChatFormatting.YELLOW + + tContents.getLocalizedName() + + EnumChatFormatting.GRAY); + tooltip.add( + GT_LanguageManager.addStringLocalization( + "TileEntity_TANK_AMOUNT", + "Fluid Amount: ", + !GregTech_API.sPostloadFinished) + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(tContents.amount) + + " L" + + EnumChatFormatting.GRAY); + } + } + } + @Override public boolean isSimpleMachine() { return true; -- cgit