From e49715ce5235c0a9c898d9e53d400aa875d7ee68 Mon Sep 17 00:00:00 2001 From: miozune Date: Thu, 13 Oct 2022 01:54:43 +0900 Subject: Guard against cover data setter (#1458) --- .../java/gregtech/api/metatileentity/CoverableTileEntity.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src') 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), -- cgit