From 28278d254c8812d85b6b4ca0bc858bc0b004d478 Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Sun, 5 Dec 2021 22:01:20 +0800 Subject: mitigate BLS's pedantic screen update problem (#777) For now, we attempt to not send more than 30 updates per second to make it happy --- src/main/java/gregtech/api/util/GT_CLS_Compat.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/main/java/gregtech/api') diff --git a/src/main/java/gregtech/api/util/GT_CLS_Compat.java b/src/main/java/gregtech/api/util/GT_CLS_Compat.java index 738b04a3b3..9e381c6309 100644 --- a/src/main/java/gregtech/api/util/GT_CLS_Compat.java +++ b/src/main/java/gregtech/api/util/GT_CLS_Compat.java @@ -15,6 +15,8 @@ import java.util.Set; @SuppressWarnings("rawtypes, unchecked, deprecation") public class GT_CLS_Compat { + private static long lastUpdate = 0; + private static Class alexiilMinecraftDisplayer; private static Class alexiilProgressDisplayer; @@ -61,7 +63,11 @@ public class GT_CLS_Compat { String materialName = tEvent.mMaterial == null ? "" : tEvent.mMaterial.toString(); - displayProgress.invoke(null, materialName, ((float) size) / 100); + long now = System.currentTimeMillis(); + if (now - lastUpdate >= 1000 / 30) { // 30 fps + displayProgress.invoke(null, materialName, ((float) size) / 100); + lastUpdate = now; + } if (sizeStep == 0) { if (size % 5 == 0) -- cgit