electrodynamics/electrical/src/main/scala/resonantinduction/electrical/encoder/coding/IProgrammableMachine.java
2014-03-23 17:19:47 +08:00

27 lines
683 B
Java

package resonantinduction.electrical.encoder.coding;
import net.minecraft.world.World;
import universalelectricity.api.vector.Vector3;
import calclavia.lib.type.Pair;
/**
* Simple interface too say an object is programmable
*
* @author DarkGuardsman
*/
public interface IProgrammableMachine
{
/** Current program in use */
public IProgram getCurrentProgram();
/** Sets the current program */
public void setCurrentProgram(IProgram program);
/**
* Gets the machine location as a pair containing both the world and xyz vector.
*
* @return try to avoid returning null as every object but a fake one has a location
*/
public Pair<World, Vector3> getLocation();
}