aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2022-10-13 01:54:43 +0900
committerGitHub <noreply@github.com>2022-10-12 18:54:43 +0200
commite49715ce5235c0a9c898d9e53d400aa875d7ee68 (patch)
tree8ffbbd0824c08776e6d312b07decf8e05fe51023 /src/main/java/gregtech/api
parent54477583bf65da771428731b381a79ded400bd87 (diff)
downloadGT5-Unofficial-e49715ce5235c0a9c898d9e53d400aa875d7ee68.tar.gz
GT5-Unofficial-e49715ce5235c0a9c898d9e53d400aa875d7ee68.tar.bz2
GT5-Unofficial-e49715ce5235c0a9c898d9e53d400aa875d7ee68.zip
Guard against cover data setter (#1458)
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java
index 9df38b2725..9511488a3f 100644
--- a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java
@@ -414,8 +414,13 @@ public abstract class CoverableTileEntity extends BaseTileEntity implements ICov
@Override
public void receiveCoverData(byte aCoverSide, int aCoverID, int aCoverData) {
- if ((aCoverSide >= 0 && aCoverSide < 6)) setCoverIDAtSideNoUpdate(aCoverSide, aCoverID);
- setCoverDataAtSide(aCoverSide, aCoverData);
+ if ((aCoverSide >= 0 && aCoverSide < 6)) {
+ GT_CoverBehaviorBase<?> behaviorBase = getCoverBehaviorAtSideNew(aCoverSide);
+ if (behaviorBase == GregTech_API.sNoBehavior) return;
+
+ setCoverIDAtSideNoUpdate(aCoverSide, aCoverID);
+ setCoverDataAtSide(aCoverSide, aCoverData);
+ }
}
@Override
@@ -423,6 +428,8 @@ public abstract class CoverableTileEntity extends BaseTileEntity implements ICov
byte aCoverSide, int aCoverID, ISerializableObject aCoverData, EntityPlayerMP aPlayer) {
if ((aCoverSide >= 0 && aCoverSide < 6)) {
GT_CoverBehaviorBase<?> behaviorBase = getCoverBehaviorAtSideNew(aCoverSide);
+ if (behaviorBase == GregTech_API.sNoBehavior) return;
+
behaviorBase.preDataChanged(
aCoverSide,
getCoverIDAtSide(aCoverSide),