From 2ad39ab8ff4227fa8e89e9f64e52b1c36d0fe9ab Mon Sep 17 00:00:00 2001 From: Ghzdude <44148655+ghzdude@users.noreply.github.com> Date: Tue, 8 Oct 2024 20:58:05 -0700 Subject: [PATCH] Add `writeCustomData()` overload (#2631) --- .../interfaces/ISyncedTileEntity.java | 23 +++++++++++++++++++ .../MetaTileEntityClipboard.java | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/gregtech/api/metatileentity/interfaces/ISyncedTileEntity.java b/src/main/java/gregtech/api/metatileentity/interfaces/ISyncedTileEntity.java index f08beb475b9..0222ffdbe47 100644 --- a/src/main/java/gregtech/api/metatileentity/interfaces/ISyncedTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/interfaces/ISyncedTileEntity.java @@ -11,6 +11,8 @@ */ public interface ISyncedTileEntity { + Consumer NO_OP = buf -> {}; + /** * Used to sync data from Server -> Client. * Called during initial loading of the chunk or when many blocks change at once. @@ -68,6 +70,27 @@ public interface ISyncedTileEntity { */ void writeCustomData(int discriminator, @NotNull Consumer<@NotNull PacketBuffer> dataWriter); + /** + * Used to send an empty anonymous Server -> Client packet. + *

+ * Data is received in {@link #receiveCustomData(int, PacketBuffer)}; + *

+ * Typically used to signal to the client that a rendering update is needed + * when sending a server-side state update. + *

+ * Should be called manually. + *

+ * This method is called Server-Side. + *

+ * Equivalent to {@link net.minecraft.tileentity.TileEntity#getUpdatePacket} + * + * @param discriminator the discriminator determining the packet sent. + * @see gregtech.api.capability.GregtechDataCodes + */ + default void writeCustomData(int discriminator) { + writeCustomData(discriminator, NO_OP); + } + /** * Used to receive an anonymous Server -> Client packet. * Called when receiving a packet for the location this TileEntity is currently in. diff --git a/src/main/java/gregtech/common/metatileentities/MetaTileEntityClipboard.java b/src/main/java/gregtech/common/metatileentities/MetaTileEntityClipboard.java index 36942d2d51c..a50a2978aae 100644 --- a/src/main/java/gregtech/common/metatileentities/MetaTileEntityClipboard.java +++ b/src/main/java/gregtech/common/metatileentities/MetaTileEntityClipboard.java @@ -190,7 +190,7 @@ public void createFakeGui() { this.guiContainerCache = fakeModularUIContainer; if (getWorld().isRemote) this.guiCache = new FakeModularGui(ui, fakeModularUIContainer); - this.writeCustomData(CREATE_FAKE_UI, buffer -> {}); + this.writeCustomData(CREATE_FAKE_UI); } catch (Exception e) { GTLog.logger.error(e); }