52 lines
No EOL
1 KiB
Java
52 lines
No EOL
1 KiB
Java
package icbm.api;
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
import universalelectricity.core.block.IElectricalStorage;
|
|
import universalelectricity.core.vector.Vector3;
|
|
|
|
/**
|
|
* Applied to all launcher TileEntitiies that operates the launching of
|
|
* missiles.
|
|
*
|
|
* @author Calclavia
|
|
*/
|
|
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();
|
|
|
|
/**
|
|
* @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();
|
|
} |