package cofh.api.tileentity; /** * Implement this interface on Tile Entities which allow for reconfiguration of their sides. * * Coordination with the containing block is required. * * @author King Lemming * */ public interface IReconfigurableSides { /** * Decrement the config for a given side. * * @param side * The side to decrement. * @return True if config was changed, false otherwise. */ boolean decrSide(int side); /** * Increment the config for a given side. * * @param side * The side to decrement. * @return True if config was changed, false otherwise. */ boolean incrSide(int side); /** * Set the config for a given side. * * @param side * The side to set. * @param config * The config value to use. * @return True of config was set, false otherwise. */ boolean setSide(int side, int config); /** * Reset configs on all sides to their base values. * * @return True if reset was successful, false otherwise. */ boolean resetSides(); /** * Returns the number of possible config settings for a given side. */ int getNumConfig(int side); }