aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/interfaces/tileentity
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2021-11-17 18:00:30 +0100
committerGitHub <noreply@github.com>2021-11-17 18:00:30 +0100
commit1dd66efceca26d9931010adb24932bba408ca630 (patch)
treeb2a778c8108323b32ead067a1714ca0e99cf438e /src/main/java/gregtech/api/interfaces/tileentity
parent9c933933f1d5e99fc618d2e6d5f07238ccb51ba3 (diff)
parentc696e261ab826d711a09622aacff841a01cfeb2a (diff)
downloadGT5-Unofficial-1dd66efceca26d9931010adb24932bba408ca630.tar.gz
GT5-Unofficial-1dd66efceca26d9931010adb24932bba408ca630.tar.bz2
GT5-Unofficial-1dd66efceca26d9931010adb24932bba408ca630.zip
Merge branch 'experimental' into lock-single-recipe
Diffstat (limited to 'src/main/java/gregtech/api/interfaces/tileentity')
-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());
+ }
}