electrodynamics/APIs/icbm/api/ILauncherController.java

50 lines
1,007 B
Java
Raw Normal View History

package icbm.api;
import net.minecraft.item.ItemStack;
import universalelectricity.core.block.IElectricalStorage;
import universalelectricity.core.vector.Vector3;
/**
2013-07-23 00:24:55 +02:00
* Applied to all launcher TileEntitiies that operates the launching of missiles.
*
* @author Calclavia
*/
2013-07-23 00:24:55 +02:00
public interface ILauncherController extends IElectricalStorage, IBlockFrequency
{
/**
* What type of launcher is this?
*/
public LauncherType getLauncherType();
/**
* Launches the missile into the specified target.
*/
public void launch();
/**
* Can the launcher launch the missile?
*/
public boolean canLaunch();
/**
* @return The status of the launcher.
*/
public String getStatus();
/**
* @return The target of the launcher.
*/
public Vector3 getTarget();
/**
2013-07-23 00:24:55 +02:00
* @param target Sets the target of the launcher
*/
public void setTarget(Vector3 target);
/**
* Places a missile into the launcher.
*/
public void placeMissile(ItemStack itemStack);
public IMissile getMissile();
}