package pneumaticCraft.api.tileentity; import net.minecraftforge.common.util.ForgeDirection; /** * Deprecated: Use ISidedPneumaticMachine in favor of this one. In Minecraft 1.8+ that ISidedPneumaticMachine will be renamed to IPneumaticMachine, and therefore will be sided by default. */ @Deprecated public interface IPneumaticMachine{ /** * In your TileEntity class which is implementing this interface you should keep a reference of an IAirHandler. * You can retrieve one by calling {@link AirHandlerSupplier#getAirHandler(net.minecraft.tileentity.TileEntity, float, float, float, float)}. * Do this when your TileEntity is initialized, i.e. xCoord,yCoord,zCoord and worldObj have a value. * In this method you need to return this reference. * * IMPORTANT: You need to forward the {@link net.minecraft.tileentity.TileEntity#updateEntity()}, * {@link net.minecraft.tileentity.TileEntity#writeToNBT(net.minecraft.nbt.NBTTagCompound)} , * {@link net.minecraft.tileentity.TileEntity#readFromNBT(net.minecraft.nbt.NBTTagCompound)} and * {@link net.minecraft.tileentity.TileEntity#validate()} (with the implementing TileEntity as additional parameter) * to the IAirHandler. * Apart from that you'll need to forward {@link net.minecraft.block.Block#onNeighborChange(net.minecraft.world.IBlockAccess, int, int, int, int, int, int)} * from the implementing block to the IAirHandler. * @return */ public IAirHandler getAirHandler(); /** * Returns true if the pneumatic logic is connected to the given side. * @param side * @return */ public boolean isConnectedTo(ForgeDirection side); }