| /** 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(); |
| } |