Worked on Armbot interface

This commit is contained in:
DarkGuardsman 2013-10-15 11:32:51 -04:00
parent b2220d4d5f
commit 37a889ea57

View file

@ -2,26 +2,38 @@ package dark.api.al.armbot;
import java.util.List;
import universalelectricity.core.vector.Vector2;
import com.builtbroken.common.Vector3;
import net.minecraft.entity.Entity;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.ForgeDirection;
/** Should be used to interact with the armbot and not to create a new armbot */
public interface IArmbot extends Cloneable
{
/** Adds an entity to the Armbot's grab list. */
public void grabEntity(Entity entity);
/** Location of the hand, or working location of the object */
public Vector3 getHandPos();
public void grabItem(ItemStack itemStack);
/** Gets the rotation as a Vector2 (X - Yaw, Y - pitch) */
public Vector2 getRotation();
/** Drops the given object
*
* @param object - Entity or ItemStack
*
* String "All" should cause the armbot to drop all items */
/** Forces the rotation to the two angles */
public void setRotation(float yaw, float pitch);
/** Asks the armbot to move its arm to the rotation */
public void moveTo(float yaw, float pitch);
/** Asks the armbot to move to the facing direction */
public void moveTo(ForgeDirection direction);
/** Adds an entity to the Armbot's grab list. Entity or ItemStack */
public void grab(Object entity);
/**Drops an object. Does except strings with "All" resulting in dropping everything */
public void drop(Object object);
/** @return Returns all entities being grabbed by the Armbot. */
public List<Entity> getGrabbedEntities();
public List<ItemStack> getGrabbedItems();
/** List of object held by the armbot */
public List<Object> getGrabbedObjects();
}