aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/gui
diff options
context:
space:
mode:
authorHoleFish <48403212+HoleFish@users.noreply.github.com>2024-03-11 18:06:51 +0800
committerGitHub <noreply@github.com>2024-03-11 11:06:51 +0100
commitad49276a25535ff110a3e37934f72dbea8eec258 (patch)
tree57620a84a6928bc9d01516835cf0a6ec1f30d915 /src/main/java/gregtech/common/gui
parent34c34137ba1c888feff65b1695992d609f33a7f1 (diff)
downloadGT5-Unofficial-ad49276a25535ff110a3e37934f72dbea8eec258.tar.gz
GT5-Unofficial-ad49276a25535ff110a3e37934f72dbea8eec258.tar.bz2
GT5-Unofficial-ad49276a25535ff110a3e37934f72dbea8eec258.zip
Add messages about the reasons for machine shutdown during processing (#2522)
* ShutDownReason setup * implement * fix machine not turn on
Diffstat (limited to 'src/main/java/gregtech/common/gui')
-rw-r--r--src/main/java/gregtech/common/gui/modularui/widget/ShutDownReasonSyncer.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main/java/gregtech/common/gui/modularui/widget/ShutDownReasonSyncer.java b/src/main/java/gregtech/common/gui/modularui/widget/ShutDownReasonSyncer.java
new file mode 100644
index 0000000000..21c19e524c
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/modularui/widget/ShutDownReasonSyncer.java
@@ -0,0 +1,26 @@
+package gregtech.common.gui.modularui.widget;
+
+import java.util.function.Consumer;
+import java.util.function.Supplier;
+
+import com.gtnewhorizons.modularui.common.internal.network.NetworkUtils;
+import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget;
+
+import gregtech.api.util.shutdown.ShutDownReason;
+import gregtech.api.util.shutdown.ShutDownReasonRegistry;
+
+public class ShutDownReasonSyncer extends FakeSyncWidget<ShutDownReason> {
+
+ public ShutDownReasonSyncer(Supplier<ShutDownReason> getter, Consumer<ShutDownReason> setter) {
+ super(getter, setter, (buffer, result) -> {
+ NetworkUtils.writeStringSafe(buffer, result.getID());
+ result.encode(buffer);
+ }, buffer -> {
+ String id = NetworkUtils.readStringSafe(buffer);
+ ShutDownReason result = ShutDownReasonRegistry.getSampleFromRegistry(id)
+ .newInstance();
+ result.decode(buffer);
+ return result;
+ });
+ }
+}