aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java')
-rw-r--r--src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java
index caf3c1b15f..9df38b2725 100644
--- a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java
@@ -320,6 +320,14 @@ public abstract class CoverableTileEntity extends BaseTileEntity implements ICov
return false;
}
+ protected void onBaseTEDestroyed() {
+ for (byte side = 0; side < 6; ++side) {
+ GT_CoverBehaviorBase<?> behavior = getCoverBehaviorAtSideNew(side);
+ if (behavior != GregTech_API.sNoBehavior)
+ behavior.onBaseTEDestroyed(side, getCoverIDAtSide(side), mCoverData[side], this);
+ }
+ }
+
@Override
public void setOutputRedstoneSignal(byte aSide, byte aStrength) {
aStrength = (byte) Math.min(Math.max(0, aStrength), 15);
@@ -414,10 +422,19 @@ public abstract class CoverableTileEntity extends BaseTileEntity implements ICov
public void receiveCoverData(
byte aCoverSide, int aCoverID, ISerializableObject aCoverData, EntityPlayerMP aPlayer) {
if ((aCoverSide >= 0 && aCoverSide < 6)) {
+ GT_CoverBehaviorBase<?> behaviorBase = getCoverBehaviorAtSideNew(aCoverSide);
+ behaviorBase.preDataChanged(
+ aCoverSide,
+ getCoverIDAtSide(aCoverSide),
+ aCoverID,
+ getComplexCoverDataAtSide(aCoverSide),
+ aCoverData,
+ this);
+
setCoverIDAtSideNoUpdate(aCoverSide, aCoverID);
setCoverDataAtSide(aCoverSide, aCoverData);
if (isClientSide()) {
- getCoverBehaviorAtSideNew(aCoverSide).onDataChanged(aCoverSide, aCoverID, aCoverData, this);
+ behaviorBase.onDataChanged(aCoverSide, aCoverID, aCoverData, this);
}
}
}