IObjectEntity

Represents an instance of a world object. This includes entites such as dropped item stacks, falling sand, etc.

Properties

Type

Denotes the type of this object, e.g.: ItemStack, Boat, Minecart. The full list of types can be found in OQ.MineBot.PluginBase.Classes.Entity.Objects.ObjectTypes.

Object (legacy)

This variable should be casted to a more specific type by checking the Type variable and casting based on that. A full list of types that this can be casted to can be found here. This will expose more relevant variables to the object, such as ProjectileObject has the entityId of the entity that shot it.

// Example: casting based on Type
if(theObject.Type == ObjectTypes.Snowball)
    Console.WriteLine($"Entity with id {((ProjectileObject)theObject).shooterId} threw a snowball.");

Methods

GetAge

Returns the number of ticks that this object has existed for. This starts counting up as soon as this object is sent to the bot by the server (time since render). Each tick in this case refers to a Minecraft tick, which is 50ms per tick.

int GetAge();

HasLineOfSight

Returns whether the bot has direct line of sight to this object. This only works if the object is within 64 blocks of the bot. You can optionally specify a specific body part to test against (default is BodyParts.Body).

bool HasLineOfSight(BodyParts bodyPart = BodyParts.Body);

LookAt

Rotates the bots head to look at the object. This can be used to look at a specific part of the object, such as the head, feet, or the body (default is BodyParts.Body). Returns a Task that lasts around 1 tick, which is how long it takes the server to update the players rotation.

Task LookAt(BodyParts bodyPart = BodyParts.Body);

LookAtSmooth

Smoothly (slowly, per multiple ticks) rotates the bots head to look at the object. This can be used to look at a specific part of the object, such as the head, feet, or the body (default is BodyParts.Body). You should await for this function to complete, as the rotation time is dynamic. You can optionally specify the look speed, however it is recommended to leave it as 'auto'.

Task LookAtSmooth(BodyParts bodyPart = BodyParts.Body, LookSpeed speed = LookSpeed.auto

MoveTo

Attempts to move the location of this player. This is a wrapper function for Player.MoveTo, for more information check that.

IMoveTask MoveTo();

MoveToRange

Attempts to move the bot into the specified range of this player. You must specify the max distance that we can be from this player to still be considered in range. This is a wrapper function for Player.MoveToRange, for more information check that.

IMoveTask MoveToRange(int maxRange, MapOptions options = null);

Follow

Attempts to move the location of this object, if the object is moved then the path is recalculated and updated. This is a wrapper function for Player.FollowEntity, for more information check that.

IMoveTask Follow(MapOptions options = null)
IMoveTask Follow(int maxRange, MapOptions options = null)
IMoveTask Follow(int maxRange, int minRange, MapOptions options = null)

Last updated