mmb.engine.craft.RecipeGroup Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of multimachinebuilder Show documentation
Show all versions of multimachinebuilder Show documentation
Dependency for the MultiMachineBuilder, a voxel game about building an industrial empire in a finite world.
THIS RELEASE IS NOT PLAYABLE. To play the game, donwload from >ITCH.IO LINK HERE< or >GH releases link here<
/**
*
*/
package mmb.engine.craft;
import java.util.Set;
import javax.swing.ListCellRenderer;
import mmb.NN;
import mmb.beans.Titled;
import mmb.engine.item.ItemEntry;
import mmb.menu.world.craft.RecipeView;
import monniasza.collects.Identifiable;
/**
* Stores recipes.
* @author oskar
* @param type of recipes
*
*/
public interface RecipeGroup<@NN T extends Recipe>> extends Identifiable, Titled{
/**@return a set with recipes*/
@NN public Set<@NN T> recipes();
/** @return a set with all supported items */
@NN public Set<@NN ? extends ItemEntry> supportedItems();
/** @return a component which displays recipes */
public @NN RecipeView createView();
/**
* @return a cell renderer for compatible recipes
*/
public @NN ListCellRenderer super T> cellRenderer();
/**
* @return does the recipe group support catalysts?
*/
public boolean isCatalyzed();
}