From 7224ac4299098c70efae9dbd04c50a97e3f5f583 Mon Sep 17 00:00:00 2001 From: Blood Asp Date: Thu, 23 Apr 2015 18:14:22 +0200 Subject: Initial Commit --- .../api/interfaces/tileentity/ICoverable.java | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 main/java/gregtech/api/interfaces/tileentity/ICoverable.java (limited to 'main/java/gregtech/api/interfaces/tileentity/ICoverable.java') diff --git a/main/java/gregtech/api/interfaces/tileentity/ICoverable.java b/main/java/gregtech/api/interfaces/tileentity/ICoverable.java new file mode 100644 index 0000000000..546b8d81c6 --- /dev/null +++ b/main/java/gregtech/api/interfaces/tileentity/ICoverable.java @@ -0,0 +1,35 @@ +package gregtech.api.interfaces.tileentity; + +import gregtech.api.util.GT_CoverBehavior; +import net.minecraft.item.ItemStack; + +public interface ICoverable extends IRedstoneTileEntity, IHasInventory, IBasicEnergyContainer { + public boolean canPlaceCoverIDAtSide (byte aSide, int aID); + public boolean canPlaceCoverItemAtSide (byte aSide, ItemStack aCover); + public boolean dropCover (byte aSide, byte aDroppedSide, boolean aForced); + public void setCoverDataAtSide (byte aSide, int aData); + public void setCoverIDAtSide (byte aSide, int aID); + public void setCoverItemAtSide (byte aSide, ItemStack aCover); + public int getCoverDataAtSide (byte aSide); + public int getCoverIDAtSide (byte aSide); + public ItemStack getCoverItemAtSide (byte aSide); + public GT_CoverBehavior getCoverBehaviorAtSide (byte 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. + */ + public byte getInternalInputRedstoneSignal(byte aSide); + + /** + * For use by the regular MetaTileEntities. This makes it not conflict with Cover based Redstone Signals. + * Don't use this if you are a Cover Behavior. Only for MetaTileEntities. + */ + public void setInternalOutputRedstoneSignal(byte aSide, byte aStrength); + + /** + * Causes a general Cover Texture update. + * Sends 6 Integers to Client + causes @issueTextureUpdate() + */ + public void issueCoverUpdate(byte aSide); +} \ No newline at end of file -- cgit