package org.halvors.electrometrics.common.base.tile;
import org.halvors.electrometrics.common.base.RedstoneControlType;
public interface ITileRedstoneControl {
/**
* Gets the RedstoneControl type from this block.
* @return this block's RedstoneControl type
*/
RedstoneControlType getControlType();
/**
* Sets this block's RedstoneControl type to a new value.
* @param redstoneControlType - RedstoneControl type to set
*/
void setControlType(RedstoneControlType redstoneControlType);
/**
* If the block is getting powered or not by redstone (indirectly).
* @return if the block is getting powered indirectly
*/
boolean isPowered();
/**
* Set the block to powered state.
*/
void setPowered(boolean isPowered);
/**
* If the block was getting powered or not by redstone, last tick.
* Used for PULSE mode.
*/
boolean wasPowered();
/**
* If the machine can be pulsed.
*/
boolean canPulse();
}