From 820ebd76016b69a0346588bcdc90a53f251e5b4c Mon Sep 17 00:00:00 2001 From: iamblackornot Date: Thu, 12 Oct 2023 14:38:45 +0300 Subject: average per tick counter for cable voltage and amperage (#2321) * - a workaround fix to https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/14431 - code clean-up of unused variables related to the issue - portable scanner infodata is cleaned too since some of the data is related to mentioned before "ghost" variables * - PR review changes * "Current Amperage" -> "Amperage" * - updated gradle build script * - sync fork * added AveragePerTickCounter class, which helps getting [current tick] value and [average] value for Amperage and Voltage of energy cable blocks updated cable scanner info to show these values * - lowercase the first letter of new methods to follow the guidelines - added one comment to explain code segment's logic --------- Co-authored-by: iamblackornot --- .../implementations/GT_MetaPipeEntity_Cable.java | 39 +++++++++++++++------- 1 file changed, 27 insertions(+), 12 deletions(-) (limited to 'src/main/java/gregtech/api/metatileentity') diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java index 1185dbcc37..db4ead0932 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java @@ -190,11 +190,12 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile if (isCoverOnSide(baseEntity, livingEntity)) return; if ((baseEntity.mConnections & IConnectable.HAS_HARDENEDFOAM) == 1) return; - final long amperage = powerPath.getAmps(); + final long amperage = powerPath.getAmperage(); + final long voltage = powerPath.getVoltage(); if (amperage == 0L) return; - GT_Utility.applyElectricityDamage(livingEntity, mVoltage, amperage); + GT_Utility.applyElectricityDamage(livingEntity, voltage, amperage); } @Override @@ -475,12 +476,18 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile public String[] getInfoData() { final BaseMetaPipeEntity base = (BaseMetaPipeEntity) getBaseMetaTileEntity(); final PowerNodePath path = (PowerNodePath) base.getNodePath(); - long amps = 0; - long volts = 0; - if (path != null) { - amps = path.getAmps(); - volts = path.getVoltage(this); - } + + if (path == null) + return new String[] { EnumChatFormatting.RED + "Failed to get Power Node info" + EnumChatFormatting.RESET }; + + final long currAmp = path.getAmperage(); + final long currVoltage = path.getVoltage(); + + final double avgAmp = path.getAvgAmperage(); + final double avgVoltage = path.getAvgVoltage(); + + final long maxVoltageOut = (mVoltage - mCableLossPerMeter) * mAmperage; + return new String[] { "Heat: " + EnumChatFormatting.RED + GT_Utility.formatNumbers(mOverheat) @@ -490,19 +497,27 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile + GT_Utility.formatNumbers(mMaxOverheat) + EnumChatFormatting.RESET, "Amperage: " + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(amps) + + GT_Utility.formatNumbers(currAmp) + EnumChatFormatting.RESET + " / " + EnumChatFormatting.YELLOW + GT_Utility.formatNumbers(mAmperage) + EnumChatFormatting.RESET + " A", - "Max Output: " + EnumChatFormatting.GREEN - + GT_Utility.formatNumbers(volts) + "Voltage Out: " + EnumChatFormatting.GREEN + + GT_Utility.formatNumbers(currVoltage) + EnumChatFormatting.RESET + " / " + EnumChatFormatting.YELLOW - + GT_Utility.formatNumbers(mVoltage) + + GT_Utility.formatNumbers(maxVoltageOut) + + EnumChatFormatting.RESET + + " EU/t", + "Avg Amperage (20t): " + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(avgAmp) + + EnumChatFormatting.RESET + + " A", + "Avg Output (20t): " + EnumChatFormatting.YELLOW + + GT_Utility.formatNumbers(avgVoltage) + EnumChatFormatting.RESET + " EU/t" }; } -- cgit