package crazypants.enderio.machine.capbank.network; import java.util.Collection; import crazypants.enderio.machine.RedstoneControlMode; import crazypants.enderio.machine.capbank.TileCapBank; import crazypants.enderio.power.IPowerStorage; public interface ICapBankNetwork extends IPowerStorage { //------ Network int getId(); void addMember(TileCapBank cap); Collection<TileCapBank> getMembers(); void destroyNetwork(); NetworkState getState(); void onUpdateEntity(TileCapBank tileCapBank); //------ Energy @Override long getEnergyStoredL(); @Override void addEnergy(int energy); int receiveEnergy(int maxReceive, boolean simulate); @Override long getMaxEnergyStoredL(); int getMaxIO(); @Override int getMaxOutput(); void setMaxOutput(int max); @Override int getMaxInput(); void setMaxInput(int max); float getAverageChangePerTick(); float getAverageInputPerTick(); float getAverageOutputPerTick(); void removeReceptors(Collection<EnergyReceptor> receptors); void addReceptors(Collection<EnergyReceptor> receptors); //------ Inventory InventoryImpl getInventory(); //------ Redstone void setOutputControlMode(RedstoneControlMode outputControlMode); RedstoneControlMode getOutputControlMode(); void setInputControlMode(RedstoneControlMode inputControlMode); RedstoneControlMode getInputControlMode(); void updateRedstoneSignal(TileCapBank tileCapBank, boolean recievingSignal); boolean isOutputEnabled(); boolean isInputEnabled(); //------- rendering info caching void invalidateDisplayInfoCache(); }