mmb.content.modular.BlockModuleOrCore 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.content.modular;
import mmb.Nil;
import mmb.content.modular.gui.ModuleConfigHandler;
import mmb.content.modular.part.PartEntry;
/**
* Common representation of block modules and cores
* @author oskar
* @param the type of this block module or core
* @param type of the block
* @param type of broken/added params
*/
public interface BlockModuleOrCore, Tblock extends ModularBlock, ?, ?, ?>, Tparams> extends PartEntry{
/**
* Called when a a module or a core is removed from a block
* @param blk the block running this module
*/
public default void onBroken(Tparams blk) {
//empty
}
/**
* Called when a module or a core is added to a block
* @param blk the block running this module
*/
public default void onAdded(Tparams blk) {
//empty
}
//Config UI
/** @return module config handler for this block module or null*/
@Nil public default ModuleConfigHandler mch(){
return null;
}
}