diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java index 7e5232c59b..ade9e2fb80 100644 --- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java +++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java @@ -26,6 +26,7 @@ import net.minecraft.world.World; import net.minecraftforge.fluids.Fluid; import javax.annotation.Nonnull; +import java.util.Objects; import java.util.UUID; public class GT_Cover_AdvancedRedstoneTransmitterBase extends GT_CoverBehaviorBase<GT_Cover_AdvancedRedstoneTransmitterBase.TransmitterData> { @@ -180,12 +181,21 @@ public class GT_Cover_AdvancedRedstoneTransmitterBase extends GT_CoverBehaviorBa @Nonnull @Override public ISerializableObject readFromPacket(ByteArrayDataInput aBuf, EntityPlayerMP aPlayer) { + int oldFrequency = frequency; + UUID oldUuid = uuid; + boolean oldInvert = invert; + frequency = aBuf.readInt(); if (aBuf.readBoolean()) { uuid = new UUID(aBuf.readLong(), aBuf.readLong()); } invert = aBuf.readBoolean(); + if (oldFrequency != frequency || !Objects.equals(oldUuid, uuid) || oldInvert != invert) { + GregTech_API.resetAdvancedRedstoneFrequency(uuid, frequency); + GregTech_API.resetAdvancedRedstoneFrequency(oldUuid, oldFrequency); + } + return this; } } @@ -284,7 +294,6 @@ public class GT_Cover_AdvancedRedstoneTransmitterBase extends GT_CoverBehaviorBa privateButton.setChecked(coverVariable.uuid != null); invertButton.setChecked(coverVariable.invert); resetTextBox(frequencyBox); - GregTech_API.resetAdvancedRedstoneFrequency(coverVariable.uuid, coverVariable.frequency); } @Override |