package advancedsystemsmanager.flow.execution.commands; import advancedsystemsmanager.flow.Connection; import advancedsystemsmanager.flow.FlowComponent; import advancedsystemsmanager.flow.menus.Menu; import advancedsystemsmanager.flow.menus.MenuContainer; import advancedsystemsmanager.flow.menus.MenuRedstoneSidesNodes; import advancedsystemsmanager.flow.menus.MenuRedstoneStrengthNodes; import advancedsystemsmanager.reference.Names; import advancedsystemsmanager.registry.ConnectionSet; import advancedsystemsmanager.registry.SystemTypeRegistry; import advancedsystemsmanager.tileentities.manager.TileEntityManager; import java.util.ArrayList; import java.util.List; public class CommandRedstoneCondition extends CommandBase { public CommandRedstoneCondition() { super(REDSTONE_CONDITION, Names.REDSTONE_CONDITION, CommandType.COMMAND_CONTROL, ConnectionSet.STANDARD_CONDITION); } @Override public void getMenus(FlowComponent component, List<Menu> menus) { menus.add(new MenuContainer(component, SystemTypeRegistry.NODE)); menus.add(new MenuRedstoneSidesNodes(component)); menus.add(new MenuRedstoneStrengthNodes(component)); } @Override public List<Connection> getActiveChildren(FlowComponent command, int connectionId) { List<Connection> connections = new ArrayList<Connection>(); int connection = TileEntityManager.redstoneCondition.isTriggerPowered(command, true) ? 1 : 2; if (command.getConnection(connection) != null) connections.add(command.getConnection(connection)); return connections; } }