aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java
diff options
context:
space:
mode:
authorJohann Bernhardt <johann.bernhardt@tum.de>2021-11-24 11:02:48 +0100
committerJohann Bernhardt <johann.bernhardt@tum.de>2021-11-24 11:02:48 +0100
commit68ae7b8b23a672e2d16d57f84424e02f41db85e6 (patch)
tree7372767acad1380550af443d434637adccca6ff2 /src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java
parent4253f35d24f6973143dbbaab438acd5dd07bc9c9 (diff)
parente6a9dd1221c2f822383000f7dbf4481e1f768b84 (diff)
downloadGT5-Unofficial-68ae7b8b23a672e2d16d57f84424e02f41db85e6.tar.gz
GT5-Unofficial-68ae7b8b23a672e2d16d57f84424e02f41db85e6.tar.bz2
GT5-Unofficial-68ae7b8b23a672e2d16d57f84424e02f41db85e6.zip
Merge remote-tracking branch 'origin/experimental' into unify-build-script
# Conflicts: # .gitignore # build.gradle # build.properties
Diffstat (limited to 'src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java')
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java
index 560d47c595..ebfae9d90e 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java
@@ -1,6 +1,9 @@
package gregtech.api.interfaces.tileentity;
import gregtech.api.util.GT_CoverBehavior;
+import gregtech.api.util.GT_CoverBehaviorBase;
+import gregtech.api.util.ISerializableObject;
+import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
public interface ICoverable extends IRedstoneTileEntity, IHasInventory, IBasicEnergyContainer {
@@ -10,20 +13,36 @@ public interface ICoverable extends IRedstoneTileEntity, IHasInventory, IBasicEn
boolean dropCover(byte aSide, byte aDroppedSide, boolean aForced);
+ @Deprecated
void setCoverDataAtSide(byte aSide, int aData);
+ default void setCoverDataAtSide(byte aSide, ISerializableObject aData) {
+ if (aData instanceof ISerializableObject.LegacyCoverData)
+ setCoverDataAtSide(aSide, ((ISerializableObject.LegacyCoverData) aData).get());
+ }
+
void setCoverIDAtSide(byte aSide, int aID);
void setCoverItemAtSide(byte aSide, ItemStack aCover);
+ @Deprecated
int getCoverDataAtSide(byte aSide);
+ default ISerializableObject getComplexCoverDataAtSide(byte aSide) {
+ return new ISerializableObject.LegacyCoverData(getCoverDataAtSide(aSide));
+ }
+
int getCoverIDAtSide(byte aSide);
ItemStack getCoverItemAtSide(byte aSide);
+ @Deprecated
GT_CoverBehavior getCoverBehaviorAtSide(byte aSide);
+ default GT_CoverBehaviorBase<?> getCoverBehaviorAtSideNew(byte aSide) {
+ return getCoverBehaviorAtSide(aSide);
+ }
+
/**
* For use by the regular MetaTileEntities. Returns the Cover Manipulated input Redstone.
* Don't use this if you are a Cover Behavior. Only for MetaTileEntities.
@@ -46,4 +65,13 @@ public interface ICoverable extends IRedstoneTileEntity, IHasInventory, IBasicEn
* Receiving a packet with cover data.
*/
void receiveCoverData(byte coverSide, int coverID, int coverData);
+
+ /**
+ * Receiving a packet with cover data.
+ * @param aPlayer the player who made the change
+ */
+ default void receiveCoverData(byte aCoverSide, int aCoverID, ISerializableObject aCoverData, EntityPlayerMP aPlayer) {
+ if (aCoverData instanceof ISerializableObject.LegacyCoverData)
+ receiveCoverData(aCoverSide, aCoverID, ((ISerializableObject.LegacyCoverData) aCoverData).get());
+ }
}