From cc5a1189c04cfb7ccc0ae29d9e104c729ac8802b Mon Sep 17 00:00:00 2001 From: Matej Dipčár <492666@mail.muni.cz> Date: Wed, 21 Sep 2022 14:15:12 +0200 Subject: Unregister signal also when TE is destroyed --- .../redstone/GT_Cover_AdvancedRedstoneTransmitterBase.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 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 e5f615e329..0d95263fa3 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 @@ -36,14 +36,23 @@ public abstract class GT_Cover_AdvancedRedstoneTransmitterBase extends GT_Cover_ return createDataObject(); } + private static void unregisterSignal(byte aSide, TransmitterData aCoverVariable, ICoverable aTileEntity) { + long hash = GregTech_API.hashCoverCoords(aTileEntity, aSide); + GregTech_API.removeAdvancedRedstone(aCoverVariable.uuid, aCoverVariable.frequency, hash); + } + @Override public boolean onCoverRemovalImpl(byte aSide, int aCoverID, TransmitterData aCoverVariable, ICoverable aTileEntity, boolean aForced) { - long hash = GregTech_API.hashCoverCoords(aTileEntity, aSide); - GregTech_API.removeAdvancedRedstone(aCoverVariable.uuid, aCoverVariable.frequency, hash); + unregisterSignal(aSide, aCoverVariable, aTileEntity); return true; } + @Override + protected void onBaseTEDestroyedImpl(byte aSide, int aCoverID, TransmitterData aCoverVariable, ICoverable aTileEntity) { + unregisterSignal(aSide, aCoverVariable, aTileEntity); + } + @Override public String getDescriptionImpl(byte aSide, int aCoverID, TransmitterData aCoverVariable, ICoverable aTileEntity) { return GT_Utility.trans("081", "Frequency: ") + aCoverVariable.frequency + ", Transmission: " + (aCoverVariable.uuid == null ? "Public" : "Private"); -- cgit