buildcraft/api/buildcraft/api/robots/EntityRobotBase.java
2017-11-10 19:30:36 +01:00

86 lines
2.3 KiB
Java
Executable file

/**
* Copyright (c) 2011-2017, SpaceToad and the BuildCraft Team
* http://www.mod-buildcraft.com
*
* The BuildCraft API is distributed under the terms of the MIT License.
* Please check the contents of the license, which should be located
* as "LICENSE.API" in the BuildCraft source code distribution.
*/
package buildcraft.api.robots;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.fluids.IFluidHandler;
import cofh.api.energy.IEnergyStorage;
import buildcraft.api.boards.RedstoneBoardRobot;
import buildcraft.api.core.IZone;
public abstract class EntityRobotBase extends EntityLiving implements IInventory, IFluidHandler {
public static final int MAX_ENERGY = 100000;
public static final int SAFETY_ENERGY = MAX_ENERGY / 5;
public static final int SHUTDOWN_ENERGY = 0;
public static final long NULL_ROBOT_ID = Long.MAX_VALUE;
public EntityRobotBase(World par1World) {
super(par1World);
}
public abstract void setItemInUse(ItemStack stack);
public abstract void setItemActive(boolean b);
public abstract boolean isMoving();
public abstract DockingStation getLinkedStation();
public abstract RedstoneBoardRobot getBoard();
public abstract void aimItemAt(float yaw, float pitch);
public abstract void aimItemAt(int x, int y, int z);
public abstract float getAimYaw();
public abstract float getAimPitch();
public abstract int getEnergy();
public abstract IEnergyStorage getBattery();
public abstract DockingStation getDockingStation();
public abstract void dock(DockingStation station);
public abstract void undock();
public abstract IZone getZoneToWork();
public abstract IZone getZoneToLoadUnload();
public abstract boolean containsItems();
public abstract boolean hasFreeSlot();
public abstract void unreachableEntityDetected(Entity entity);
public abstract boolean isKnownUnreachable(Entity entity);
public abstract long getRobotId();
public abstract IRobotRegistry getRegistry();
public abstract void releaseResources();
public abstract void onChunkUnload();
public abstract ItemStack receiveItem(TileEntity tile, ItemStack stack);
public abstract void setMainStation(DockingStation station);
}