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