aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java7
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java5
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java17
3 files changed, 28 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java
index cccc594c76..444c824a9b 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java
@@ -189,4 +189,11 @@ public interface IGregTechTileEntity extends ITexturedTileEntity, IGearEnergyTil
getMetaTileEntity().onRandomDisplayTick(this);
}
}
+
+ /**
+ * gets the time statistics used for CPU timing
+ */
+ default int[] getTimeStatistics() {
+ return null;
+ }
}
diff --git a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
index 72ca9f9124..882a94599e 100644
--- a/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java
@@ -2441,4 +2441,9 @@ public class BaseMetaTileEntity extends CommonMetaTileEntity
public IConstructable getConstructable() {
return getMetaTileEntity() instanceof IConstructable ? (IConstructable) getMetaTileEntity() : null;
}
+
+ @Override
+ public int[] getTimeStatistics() {
+ return mTimeStatistics;
+ }
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
index 8d57eb9e13..f80cec6dfe 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
@@ -1691,7 +1691,11 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
}
currentTip.add(
GT_Waila.getMachineProgressString(isActive, tag.getInteger("maxProgress"), tag.getInteger("progress")));
-
+ // Show ns on the tooltip
+ if (GT_Mod.gregtechproxy.wailaAverageNS) {
+ int tAverageTime = tag.getInteger("averageNS");
+ currentTip.add("Average CPU load of ~" + GT_Utility.formatNumbers(tAverageTime) + " ns");
+ }
super.getWailaBody(itemStack, currentTip, accessor, config);
}
@@ -1715,6 +1719,17 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
tag.setLong("energyTier", getInputVoltageTier());
}
}
+
+ int tAverageTime = 0;
+ for (int tTime : this.getBaseMetaTileEntity()
+ .getTimeStatistics()) {
+ tAverageTime += tTime;
+ }
+
+ tag.setInteger(
+ "averageNS",
+ tAverageTime / this.getBaseMetaTileEntity()
+ .getTimeStatistics().length);
}
@Override