aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/covers
diff options
context:
space:
mode:
authorGlease <4586901+Glease@users.noreply.github.com>2022-12-14 14:48:34 +0800
committerGitHub <noreply@github.com>2022-12-14 07:48:34 +0100
commit2417dbcf73b6b8ebccb40baf850986981efb9788 (patch)
tree45aa9f0910e9c7b9701eea5ac293923ed9612a28 /src/main/java/gregtech/common/covers
parent8a515c7a9f83ca0fe29098d50bc7cab30e137d35 (diff)
downloadGT5-Unofficial-2417dbcf73b6b8ebccb40baf850986981efb9788.tar.gz
GT5-Unofficial-2417dbcf73b6b8ebccb40baf850986981efb9788.tar.bz2
GT5-Unofficial-2417dbcf73b6b8ebccb40baf850986981efb9788.zip
make covers actually insensitive to redstone if it doesn't need it (#1546)
* make covers actually insensitive to redstone if it doesn't need it Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> * fix machine controller redstone sensitivity Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
Diffstat (limited to 'src/main/java/gregtech/common/covers')
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java10
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverInternal.java15
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java11
-rw-r--r--src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneReceiverInternal.java6
4 files changed, 40 insertions, 2 deletions
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java b/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java
index ee0a740d68..e90751e390 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java
@@ -67,6 +67,16 @@ public class GT_Cover_ControlsWork extends GT_CoverBehavior {
return aCoverVariable;
}
+ @Override
+ protected boolean isRedstoneSensitiveImpl(
+ byte aSide,
+ int aCoverID,
+ ISerializableObject.LegacyCoverData aCoverVariable,
+ ICoverable aTileEntity,
+ long aTimer) {
+ return aCoverVariable.get() != 2; // always off, so no redstone needed either
+ }
+
/**
* Make sure there is only one GT_Cover_ControlsWork on the aTileEntity
* @return true if the cover is the first (side) one
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverInternal.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverInternal.java
index 32bbd17d7f..1e0a5f0593 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverInternal.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverInternal.java
@@ -4,6 +4,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.interfaces.tileentity.IMachineProgress;
+import gregtech.api.util.ISerializableObject;
public class GT_Cover_RedstoneReceiverInternal extends GT_Cover_RedstoneWirelessBase {
@@ -32,11 +33,21 @@ public class GT_Cover_RedstoneReceiverInternal extends GT_Cover_RedstoneWireless
}
@Override
+ protected boolean isRedstoneSensitiveImpl(
+ byte aSide,
+ int aCoverID,
+ ISerializableObject.LegacyCoverData aCoverVariable,
+ ICoverable aTileEntity,
+ long aTimer) {
+ return true;
+ }
+
+ @Override
public byte getRedstoneInput(
byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity) {
- return GregTech_API.sWirelessRedstone.get(Integer.valueOf(aCoverVariable)) == null
+ return GregTech_API.sWirelessRedstone.get(aCoverVariable) == null
? 0
- : ((Byte) GregTech_API.sWirelessRedstone.get(Integer.valueOf(aCoverVariable))).byteValue();
+ : GregTech_API.sWirelessRedstone.get(aCoverVariable);
}
@Override
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java
index 1c6623baa7..a8af72530e 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java
@@ -3,6 +3,7 @@ package gregtech.common.covers;
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.ICoverable;
+import gregtech.api.util.ISerializableObject;
public class GT_Cover_RedstoneTransmitterExternal extends GT_Cover_RedstoneWirelessBase {
@@ -26,6 +27,16 @@ public class GT_Cover_RedstoneTransmitterExternal extends GT_Cover_RedstoneWirel
}
@Override
+ protected boolean isRedstoneSensitiveImpl(
+ byte aSide,
+ int aCoverID,
+ ISerializableObject.LegacyCoverData aCoverVariable,
+ ICoverable aTileEntity,
+ long aTimer) {
+ return true;
+ }
+
+ @Override
public boolean letsRedstoneGoIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity) {
return true;
}
diff --git a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneReceiverInternal.java b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneReceiverInternal.java
index c3537350a6..61dbb7859c 100644
--- a/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneReceiverInternal.java
+++ b/src/main/java/gregtech/common/covers/redstone/GT_Cover_AdvancedRedstoneReceiverInternal.java
@@ -37,4 +37,10 @@ public class GT_Cover_AdvancedRedstoneReceiverInternal extends GT_Cover_Advanced
byte aSide, byte aInputRedstone, int aCoverID, ReceiverData aCoverVariable, ICoverable aTileEntity) {
return getSignalAt(aCoverVariable.getUuid(), aCoverVariable.getFrequency(), aCoverVariable.getGateMode());
}
+
+ @Override
+ protected boolean isRedstoneSensitiveImpl(
+ byte aSide, int aCoverID, ReceiverData aCoverVariable, ICoverable aTileEntity, long aTimer) {
+ return true;
+ }
}