aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/interfaces/tileentity
diff options
context:
space:
mode:
authorSphyix <masifede2@gmail.com>2021-11-21 12:59:39 +0100
committerSphyix <masifede2@gmail.com>2021-11-21 12:59:39 +0100
commit2901426a3fbaee614e245bc3d7f68dce9b1fd4a6 (patch)
tree5b7717983e0f53f94c1c67cb6d2186f452bb7e69 /src/main/java/gregtech/api/interfaces/tileentity
parent8b9f24202072698748cad0b5f6d0b6c9f9ce2a42 (diff)
parentabeecd2da02c7d38cb1c5b6e2fd5517c6f8a994b (diff)
downloadGT5-Unofficial-2901426a3fbaee614e245bc3d7f68dce9b1fd4a6.tar.gz
GT5-Unofficial-2901426a3fbaee614e245bc3d7f68dce9b1fd4a6.tar.bz2
GT5-Unofficial-2901426a3fbaee614e245bc3d7f68dce9b1fd4a6.zip
Merge branch 'experimental' of https://github.com/Sphyix/GT5-Unofficial into experimental
Diffstat (limited to 'src/main/java/gregtech/api/interfaces/tileentity')
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java28
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IHasInventory.java2
2 files changed, 30 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());
+ }
}
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IHasInventory.java b/src/main/java/gregtech/api/interfaces/tileentity/IHasInventory.java
index 437d896800..74ad58c407 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IHasInventory.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IHasInventory.java
@@ -5,6 +5,8 @@ import net.minecraft.item.ItemStack;
public interface IHasInventory extends ISidedInventory, IHasWorldObjectAndCoords {
+ default void markInventoryBeenModified() {}
+
/**
* if the Inventory of this TileEntity got modified this tick
*/