From ad49276a25535ff110a3e37934f72dbea8eec258 Mon Sep 17 00:00:00 2001 From: HoleFish <48403212+HoleFish@users.noreply.github.com> Date: Mon, 11 Mar 2024 18:06:51 +0800 Subject: Add messages about the reasons for machine shutdown during processing (#2522) * ShutDownReason setup * implement * fix machine not turn on --- .../gui/modularui/widget/ShutDownReasonSyncer.java | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/main/java/gregtech/common/gui/modularui/widget/ShutDownReasonSyncer.java (limited to 'src/main/java/gregtech/common/gui') 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 { + + public ShutDownReasonSyncer(Supplier getter, Consumer 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; + }); + } +} -- cgit