diff --git a/src/main/java/li/cil/oc/api/API.java b/src/main/java/li/cil/oc/api/API.java index b01abbb14..c28544077 100644 --- a/src/main/java/li/cil/oc/api/API.java +++ b/src/main/java/li/cil/oc/api/API.java @@ -11,7 +11,7 @@ import li.cil.oc.api.detail.*; */ public class API { public static final String ID_OWNER = "OpenComputers|Core"; - public static final String VERSION = "4.1.2"; + public static final String VERSION = "4.1.3"; public static DriverAPI driver = null; public static FileSystemAPI fileSystem = null; diff --git a/src/main/java/li/cil/oc/api/internal/Drone.java b/src/main/java/li/cil/oc/api/internal/Drone.java index 2cc25468e..3918b6b03 100644 --- a/src/main/java/li/cil/oc/api/internal/Drone.java +++ b/src/main/java/li/cil/oc/api/internal/Drone.java @@ -2,7 +2,6 @@ package li.cil.oc.api.internal; import li.cil.oc.api.driver.EnvironmentHost; import li.cil.oc.api.machine.Machine; -import li.cil.oc.api.network.Environment; import net.minecraft.inventory.IInventory; import net.minecraft.util.Vec3; @@ -43,4 +42,13 @@ public interface Drone extends EnvironmentHost, Rotatable { * accumulate. */ void setTarget(Vec3 value); + + /** + * Get the drones velocity vector. + *
+ * Note that this is really just the underlying entity's motionX/Y/Z, + * so you can cast this to {@link net.minecraft.entity.Entity} and use that + * instead, if you'd like. + */ + Vec3 getVelocity(); } diff --git a/src/main/scala/li/cil/oc/common/entity/Drone.scala b/src/main/scala/li/cil/oc/common/entity/Drone.scala index 29d3f8b4d..6059660d5 100644 --- a/src/main/scala/li/cil/oc/common/entity/Drone.scala +++ b/src/main/scala/li/cil/oc/common/entity/Drone.scala @@ -123,6 +123,8 @@ class Drone(val world: World) extends Entity(world) with MachineHost with intern targetZ = value.zCoord.toFloat } + override def getVelocity = Vec3.createVectorHelper(motionX, motionY, motionZ) + // ----------------------------------------------------------------------- // override def canBeCollidedWith = true