aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech')
-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
-rw-r--r--src/main/java/gregtech/common/GT_Proxy.java2
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_PreLoad.java1
5 files changed, 31 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
diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java
index 12a034d5a6..43e75d005b 100644
--- a/src/main/java/gregtech/common/GT_Proxy.java
+++ b/src/main/java/gregtech/common/GT_Proxy.java
@@ -719,6 +719,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
*/
public Map<String, Integer> mCircuitsOrder = new HashMap<>();
+ public boolean wailaAverageNS = false;
+
public static final int GUI_ID_COVER_SIDE_BASE = 10; // Takes GUI ID 10 - 15
public static Map<String, Integer> oreDictBurnTimes = new HashMap<>();
diff --git a/src/main/java/gregtech/loaders/preload/GT_PreLoad.java b/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
index c69a8aec80..e8a0dede09 100644
--- a/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
+++ b/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
@@ -856,6 +856,7 @@ public class GT_PreLoad {
GT_Mod.gregtechproxy.mWailaTransformerVoltageTier = GregTech_API.sClientDataFile
.get("waila", "WailaTransformerVoltageTier", true);
+ GT_Mod.gregtechproxy.wailaAverageNS = GregTech_API.sClientDataFile.get("waila", "WailaAverageNS", false);
final String[] Circuits = GregTech_API.sClientDataFile.get("interface", "CircuitsOrder");
GT_Mod.gregtechproxy.mCircuitsOrder.clear();