From 9a2195ecd420e52e241440d091e59572210e3fb3 Mon Sep 17 00:00:00 2001 From: Matej Dipčár <492666@mail.muni.cz> Date: Wed, 21 Sep 2022 03:35:49 +0200 Subject: Call reset on server instead of client, and only when something actually changed --- .../redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src') 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 { @@ -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 -- cgit