All Downloads are FREE. Search and download functionalities are using the official Maven repository.

mmb.content.modular.BlockModuleOrCore Maven / Gradle / Ivy

Go to download

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<

There is a newer version: 0.6
Show newest version
/**
 * 
 */
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;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy