package advancedsystemsmanager.api;
import advancedsystemsmanager.flow.FlowComponent;
import advancedsystemsmanager.flow.elements.RadioButtonList;
import advancedsystemsmanager.flow.menus.MenuContainer;
import advancedsystemsmanager.tileentities.manager.TileEntityManager;
import net.minecraft.tileentity.TileEntity;
import java.util.List;
import java.util.Set;
public interface ISystemType<Type>
{
public boolean isInstance(TileEntityManager manager, TileEntity tileEntity);
public Type getType(TileEntity tileEntity);
public boolean isGroup();
public boolean containsGroup(Set<ISystemType> types);
public String getName();
void addErrors(List<String> errors, MenuContainer container);
boolean isVisible(FlowComponent parent);
void initRadioButtons(RadioButtonList radioButtonsMulti);
int getDefaultRadioButton();
}