package com.lyndir.omicron.api;
public interface IContainerModule extends IModule {
@Override
default PublicModuleType<? extends IContainerModule> getType() {
return PublicModuleType.CONTAINER;
}
/**
* @return The type of resources this container is able to store.
*/
ResourceType getResourceType();
/**
* @return The total amount of resources this container is able to hold.
*/
int getCapacity();
/**
* @return The current stock of resources currently present in this container.
*/
int getStock();
default int getAvailable() {
return Math.max( 0, getCapacity() - getStock() );
}
@Override
IContainerModuleController getController();
}