| package buildcraft.api.gates; |
| |
| import cpw.mods.fml.relauncher.Side; |
| import cpw.mods.fml.relauncher.SideOnly; |
| import net.minecraft.client.renderer.texture.IconRegister; |
| import net.minecraft.tileentity.TileEntity; |
| import net.minecraft.util.Icon; |
| import net.minecraftforge.common.ForgeDirection; |
| |
| public interface ITrigger { |
| |
| /** |
| * Return your ID from the old API here, this is only used to convert old |
| * saves to the new format. |
| */ |
| int getLegacyId(); |
| |
| String getUniqueTag(); |
| |
| @SideOnly(Side.CLIENT) |
| Icon getIcon(); |
| |
| @SideOnly(Side.CLIENT) |
| void registerIcons(IconRegister iconRegister); |
| |
| /** |
| * Return true if this trigger can accept parameters |
| */ |
| boolean hasParameter(); |
| |
| /** |
| * Return true if this trigger requires a parameter |
| */ |
| boolean requiresParameter(); |
| |
| /** |
| * Return the trigger description in the UI |
| */ |
| String getDescription(); |
| |
| /** |
| * Return true if the tile given in parameter activates the trigger, given |
| * the parameters. |
| */ |
| boolean isTriggerActive(ForgeDirection side, TileEntity tile, ITriggerParameter parameter); |
| |
| /** |
| * Create parameters for the trigger. As for now, there is only one kind of |
| * trigger parameter available so this subprogram is final. |
| */ |
| ITriggerParameter createParameter(); |
| } |