/** Copyright (c) 2011-2015, SpaceToad and the BuildCraft Team http://www.mod-buildcraft.com * * The BuildCraft API is distributed under the terms of the MIT License. Please check the contents of the license, which * should be located as "LICENSE.API" in the BuildCraft source code distribution. */ package buildcraft.api.statements; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public interface IStatement { /** Every statement needs a unique tag, it should be in the format of "<modid>:<name>. * * @return the unique id */ String getUniqueTag(); /** Return the maximum number of parameter this statement can have, 0 if none. */ int maxParameters(); /** Return the minimum number of parameter this statement can have, 0 if none. */ int minParameters(); /** Return the statement description in the UI */ String getDescription(); /** Create parameters for the statement. */ IStatementParameter createParameter(int index); /** This returns the statement after a left rotation. Used in particular in blueprints orientation. */ IStatement rotateLeft(); /** This should return the icon for this statement, suitable for rending directly into a GUI. This should refer to a * texture on the map block texture map. */ @SideOnly(Side.CLIENT) TextureAtlasSprite getGuiSprite(); }