From 9a83f70b0bf9097ab43d4f6221cfa09af47c0652 Mon Sep 17 00:00:00 2001 From: Daniel Mendes <70096037+Steelux8@users.noreply.github.com> Date: Sat, 10 Feb 2024 07:12:44 +0000 Subject: Fix MuTE Casings Not Forming Correctly (#2489) Fixed packet sending - Changed blockMetadata to mteID on methods in MultiTileEntity.hava that are not being used yet (Blue said this is how they're supposed to be); - Send graphic packets for tickable and non-tickable MuTEs; - Encode and decode relevant IDs to ensure MuTE casings form correctly on world load and auto-building. --- .../gregtech/api/multitileentity/base/MultiTileEntity.java | 5 +++-- .../api/multitileentity/base/NonTickableMultiTileEntity.java | 5 ++++- .../api/multitileentity/base/TickableMultiTileEntity.java | 1 + src/main/java/gregtech/api/net/data/MultiTileEntityData.java | 10 ++++++++-- 4 files changed, 16 insertions(+), 5 deletions(-) (limited to 'src/main/java/gregtech/api') diff --git a/src/main/java/gregtech/api/multitileentity/base/MultiTileEntity.java b/src/main/java/gregtech/api/multitileentity/base/MultiTileEntity.java index 84ec63c26a..7c56d40296 100644 --- a/src/main/java/gregtech/api/multitileentity/base/MultiTileEntity.java +++ b/src/main/java/gregtech/api/multitileentity/base/MultiTileEntity.java @@ -1343,18 +1343,19 @@ public abstract class MultiTileEntity extends CoverableTileEntity public void getFullPacketData(GT_Packet_MultiTileEntity packet) { packet.addData(new CoordinateData(getCoords())); packet.addData(new CommonData(mStrongRedstone, color, (byte) 0)); - packet.addData(new MultiTileEntityData(mteRegistry, blockMetadata)); + packet.addData(new MultiTileEntityData(mteRegistry, mteID)); } @Override public void getGraphicPacketData(GT_Packet_MultiTileEntity packet) { packet.addData(new CoordinateData(getCoords())); + packet.addData(new MultiTileEntityData(mteRegistry, mteID)); } @Override public void getTimedPacketData(GT_Packet_MultiTileEntity packet) { packet.addData(new CoordinateData(getCoords())); - packet.addData(new MultiTileEntityData(mteRegistry, blockMetadata)); + packet.addData(new MultiTileEntityData(mteRegistry, mteID)); } @Override diff --git a/src/main/java/gregtech/api/multitileentity/base/NonTickableMultiTileEntity.java b/src/main/java/gregtech/api/multitileentity/base/NonTickableMultiTileEntity.java index 0ad4d9004e..2837a88180 100644 --- a/src/main/java/gregtech/api/multitileentity/base/NonTickableMultiTileEntity.java +++ b/src/main/java/gregtech/api/multitileentity/base/NonTickableMultiTileEntity.java @@ -20,7 +20,10 @@ public abstract class NonTickableMultiTileEntity extends MultiTileEntity { @Override public void issueClientUpdate() { - if (worldObj != null && !worldObj.isRemote) sendClientData(null); + if (worldObj != null && !worldObj.isRemote) { + sendClientData(null); + sendGraphicPacket(); + } } @Override diff --git a/src/main/java/gregtech/api/multitileentity/base/TickableMultiTileEntity.java b/src/main/java/gregtech/api/multitileentity/base/TickableMultiTileEntity.java index 9dcfce6d43..b25504dc6a 100644 --- a/src/main/java/gregtech/api/multitileentity/base/TickableMultiTileEntity.java +++ b/src/main/java/gregtech/api/multitileentity/base/TickableMultiTileEntity.java @@ -163,6 +163,7 @@ public abstract class TickableMultiTileEntity extends MultiTileEntity implements @Override public void issueClientUpdate() { sendClientData = true; + sendGraphicPacket(); } @Override diff --git a/src/main/java/gregtech/api/net/data/MultiTileEntityData.java b/src/main/java/gregtech/api/net/data/MultiTileEntityData.java index 3b0b896b0f..2bdbf4acc9 100644 --- a/src/main/java/gregtech/api/net/data/MultiTileEntityData.java +++ b/src/main/java/gregtech/api/net/data/MultiTileEntityData.java @@ -26,10 +26,16 @@ public class MultiTileEntityData extends PacketData { } @Override - public void encode(@Nonnull ByteBuf out) {} + public void encode(@Nonnull ByteBuf out) { + out.writeInt(registryId); + out.writeInt(metaId); + } @Override - public void decode(@Nonnull ByteArrayDataInput in) {} + public void decode(@Nonnull ByteArrayDataInput in) { + registryId = in.readInt(); + metaId = in.readInt(); + } @Override public void process(MultiTileEntityProcess processData) { -- cgit