From 53bd7a53abd0638968f3c73a88861a412572f5ac Mon Sep 17 00:00:00 2001 From: GDCloud <93287602+GDCloudstrike@users.noreply.github.com> Date: Wed, 28 Aug 2024 11:26:48 +0200 Subject: Fix Transcendent Plasma Mixer scanner info (#2967) * fix scanner info * reset duration and consumption to zero when recipe isnt running --------- Co-authored-by: Martin Robertz --- .../GT_MetaTileEntity_TranscendentPlasmaMixer.java | 34 +++++++++++++++++----- 1 file changed, 27 insertions(+), 7 deletions(-) (limited to 'src/main/java/gregtech/common/tileentities') diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_TranscendentPlasmaMixer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_TranscendentPlasmaMixer.java index feb270e002..749a94df57 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_TranscendentPlasmaMixer.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_TranscendentPlasmaMixer.java @@ -12,6 +12,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FUSION1_GLOW; import static gregtech.api.enums.Textures.BlockIcons.casingTexturePages; import static gregtech.api.metatileentity.BaseTileEntity.TOOLTIP_DELAY; import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import static gregtech.api.util.GT_Utility.formatNumbers; import static gregtech.common.misc.WirelessNetworkManager.addEUToGlobalEnergyMap; import static gregtech.common.misc.WirelessNetworkManager.getUserEU; import static gregtech.common.misc.WirelessNetworkManager.processInitialSettings; @@ -21,6 +22,7 @@ import static gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_Plas import static net.minecraft.util.EnumChatFormatting.GOLD; import static net.minecraft.util.EnumChatFormatting.GRAY; import static net.minecraft.util.StatCollector.translateToLocal; +import static util.Util.toStandardForm; import java.math.BigInteger; import java.util.ArrayList; @@ -32,6 +34,8 @@ import javax.annotation.Nonnull; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; import org.jetbrains.annotations.NotNull; @@ -160,7 +164,7 @@ public class GT_MetaTileEntity_TranscendentPlasmaMixer } int multiplier = 1; - long mWirelessEUt = 0; + BigInteger finalConsumption = BigInteger.ZERO; @Override public RecipeMap getRecipeMap() { @@ -179,6 +183,7 @@ public class GT_MetaTileEntity_TranscendentPlasmaMixer BigInteger availableEU = getUserEU(ownerUUID); recipeEU = BigInteger.valueOf(10L * recipe.mEUt * recipe.mDuration); if (availableEU.compareTo(recipeEU) < 0) { + finalConsumption = BigInteger.ZERO; return CheckRecipeResultRegistry.insufficientStartupPower(recipeEU); } maxParallel = availableEU.divide(recipeEU) @@ -190,7 +195,7 @@ public class GT_MetaTileEntity_TranscendentPlasmaMixer @NotNull @Override protected CheckRecipeResult onRecipeStart(@Nonnull GT_Recipe recipe) { - BigInteger finalConsumption = recipeEU.multiply(BigInteger.valueOf(-calculatedParallels)); + finalConsumption = recipeEU.multiply(BigInteger.valueOf(-calculatedParallels)); // This will void the inputs if wireless energy has dropped // below the required amount between validateRecipe and here. if (!addEUToGlobalEnergyMap(ownerUUID, finalConsumption)) { @@ -217,11 +222,6 @@ public class GT_MetaTileEntity_TranscendentPlasmaMixer logic.setAmperageOC(false); } - @Override - protected long getActualEnergyUsage() { - return mWirelessEUt; - } - private static final int HORIZONTAL_OFFSET = 2; private static final int VERTICAL_OFFSET = 3; private static final int DEPTH_OFFSET = 0; @@ -357,6 +357,26 @@ public class GT_MetaTileEntity_TranscendentPlasmaMixer super.loadNBTData(aNBT); } + @Override + public String[] getInfoData() { + return new String[] { + StatCollector.translateToLocal("GT5U.multiblock.Progress") + ": " + + EnumChatFormatting.GREEN + + formatNumbers(mProgresstime / 20) + + EnumChatFormatting.RESET + + " s / " + + EnumChatFormatting.YELLOW + + formatNumbers(mMaxProgresstime / 20) + + EnumChatFormatting.RESET + + " s", + StatCollector.translateToLocal("GT5U.multiblock.usage") + ": " + + EnumChatFormatting.RED + + (mMaxProgresstime == 0 ? "0" + : toStandardForm(finalConsumption.divide(BigInteger.valueOf(-mMaxProgresstime)))) + + EnumChatFormatting.RESET + + " EU/t" }; + } + @Override public boolean supportsVoidProtection() { return true; -- cgit