Interface Entity

    • Method Detail

      • getLocation

        @NotNull
        Location getLocation()
        Gets the entity's current position
        Returns:
        a new copy of Location containing the position of this entity
      • getLocation

        @Contract("null -> null; !null -> !null")
        @Nullable
        Location getLocation​(@Nullable
                             Location loc)
        Stores the entity's current position in the provided Location object.

        If the provided Location is null this method does nothing and returns null.

        Parameters:
        loc - the location to copy into
        Returns:
        The Location object provided or null
      • setVelocity

        void setVelocity​(@NotNull
                         Vector velocity)
        Sets this entity's velocity
        Parameters:
        velocity - New velocity to travel with
      • getVelocity

        @NotNull
        Vector getVelocity()
        Gets this entity's current velocity
        Returns:
        Current traveling velocity of this entity
      • getHeight

        double getHeight()
        Gets the entity's height
        Returns:
        height of entity
      • getWidth

        double getWidth()
        Gets the entity's width
        Returns:
        width of entity
      • getBoundingBox

        @NotNull
        BoundingBox getBoundingBox()
        Gets the entity's current bounding box.

        The returned bounding box reflects the entity's current location and size.

        Returns:
        the entity's current bounding box
      • isOnGround

        boolean isOnGround()
        Returns true if the entity is supported by a block. This value is a state updated by the server and is not recalculated unless the entity moves.
        Returns:
        True if entity is on ground.
      • getWorld

        @NotNull
        World getWorld()
        Gets the current world this entity resides in
        Returns:
        World
      • setRotation

        void setRotation​(float yaw,
                         float pitch)
        Sets the entity's rotation.

        Note that if the entity is affected by AI, it may override this rotation.

        Parameters:
        yaw - the yaw
        pitch - the pitch
        Throws:
        UnsupportedOperationException - if used for players
      • teleport

        boolean teleport​(@NotNull
                         Location location)
        Teleports this entity to the given location. If this entity is riding a vehicle, it will be dismounted prior to teleportation.
        Parameters:
        location - New location to teleport this entity to
        Returns:
        true if the teleport was successful
      • teleport

        boolean teleport​(@NotNull
                         Location location,
                         @NotNull
                         PlayerTeleportEvent.TeleportCause cause)
        Teleports this entity to the given location. If this entity is riding a vehicle, it will be dismounted prior to teleportation.
        Parameters:
        location - New location to teleport this entity to
        cause - The cause of this teleportation
        Returns:
        true if the teleport was successful
      • teleport

        boolean teleport​(@NotNull
                         Entity destination)
        Teleports this entity to the target Entity. If this entity is riding a vehicle, it will be dismounted prior to teleportation.
        Parameters:
        destination - Entity to teleport this entity to
        Returns:
        true if the teleport was successful
      • teleport

        boolean teleport​(@NotNull
                         Entity destination,
                         @NotNull
                         PlayerTeleportEvent.TeleportCause cause)
        Teleports this entity to the target Entity. If this entity is riding a vehicle, it will be dismounted prior to teleportation.
        Parameters:
        destination - Entity to teleport this entity to
        cause - The cause of this teleportation
        Returns:
        true if the teleport was successful
      • getNearbyEntities

        @NotNull
        List<Entity> getNearbyEntities​(double x,
                                       double y,
                                       double z)
        Returns a list of entities within a bounding box centered around this entity
        Parameters:
        x - 1/2 the size of the box along x axis
        y - 1/2 the size of the box along y axis
        z - 1/2 the size of the box along z axis
        Returns:
        List<Entity> List of entities nearby
      • getEntityId

        int getEntityId()
        Returns a unique id for this entity
        Returns:
        Entity id
      • getFireTicks

        int getFireTicks()
        Returns the entity's current fire ticks (ticks before the entity stops being on fire).
        Returns:
        int fireTicks
      • getMaxFireTicks

        int getMaxFireTicks()
        Returns the entity's maximum fire ticks.
        Returns:
        int maxFireTicks
      • setFireTicks

        void setFireTicks​(int ticks)
        Sets the entity's current fire ticks (ticks before the entity stops being on fire).
        Parameters:
        ticks - Current ticks remaining
      • remove

        void remove()
        Mark the entity's removal.
      • isDead

        boolean isDead()
        Returns true if this entity has been marked for removal.
        Returns:
        True if it is dead.
      • isValid

        boolean isValid()
        Returns false if the entity has died or been despawned for some other reason.
        Returns:
        True if valid.
      • getServer

        @NotNull
        Server getServer()
        Gets the Server that contains this Entity
        Specified by:
        getServer in interface CommandSender
        Returns:
        Server instance running this Entity
      • isPersistent

        @Deprecated
        boolean isPersistent()
        Deprecated.
        draft API
        Returns true if the entity gets persisted.

        By default all entities are persistent. An entity will also not get persisted, if it is riding an entity that is not persistent.

        The persistent flag on players controls whether or not to save their playerdata file when they quit. If a player is directly or indirectly riding a non-persistent entity, the vehicle at the root and all its passengers won't get persisted.

        This should not be confused with LivingEntity.setRemoveWhenFarAway(boolean) which controls despawning of living entities.

        Returns:
        true if this entity is persistent
      • setPersistent

        @Deprecated
        void setPersistent​(boolean persistent)
        Deprecated.
        draft API
        Sets whether or not the entity gets persisted.
        Parameters:
        persistent - the persistence status
        See Also:
        isPersistent()
      • getPassenger

        @Deprecated
        @Nullable
        Entity getPassenger()
        Deprecated.
        entities may have multiple passengers, use getPassengers()
        Gets the primary passenger of a vehicle. For vehicles that could have multiple passengers, this will only return the primary passenger.
        Returns:
        an entity
      • setPassenger

        @Deprecated
        boolean setPassenger​(@NotNull
                             Entity passenger)
        Deprecated.
        entities may have multiple passengers, use getPassengers()
        Set the passenger of a vehicle.
        Parameters:
        passenger - The new passenger.
        Returns:
        false if it could not be done for whatever reason
      • getPassengers

        @NotNull
        List<Entity> getPassengers()
        Gets a list of passengers of this vehicle.

        The returned list will not be directly linked to the entity's current passengers, and no guarantees are made as to its mutability.

        Returns:
        list of entities corresponding to current passengers.
      • addPassenger

        boolean addPassenger​(@NotNull
                             Entity passenger)
        Add a passenger to the vehicle.
        Parameters:
        passenger - The passenger to add
        Returns:
        false if it could not be done for whatever reason
      • removePassenger

        boolean removePassenger​(@NotNull
                                Entity passenger)
        Remove a passenger from the vehicle.
        Parameters:
        passenger - The passenger to remove
        Returns:
        false if it could not be done for whatever reason
      • isEmpty

        boolean isEmpty()
        Check if a vehicle has passengers.
        Returns:
        True if the vehicle has no passengers.
      • eject

        boolean eject()
        Eject any passenger.
        Returns:
        True if there was a passenger.
      • getFallDistance

        float getFallDistance()
        Returns the distance this entity has fallen
        Returns:
        The distance.
      • setFallDistance

        void setFallDistance​(float distance)
        Sets the fall distance for this entity
        Parameters:
        distance - The new distance.
      • getUniqueId

        @NotNull
        UUID getUniqueId()
        Returns a unique and persistent id for this entity
        Returns:
        unique id
      • getTicksLived

        int getTicksLived()
        Gets the amount of ticks this entity has lived for.

        This is the equivalent to "age" in entities.

        Returns:
        Age of entity
      • setTicksLived

        void setTicksLived​(int value)
        Sets the amount of ticks this entity has lived for.

        This is the equivalent to "age" in entities. May not be less than one tick.

        Parameters:
        value - Age of entity
      • playEffect

        void playEffect​(@NotNull
                        EntityEffect type)
        Performs the specified EntityEffect for this entity.

        This will be viewable to all players near the entity.

        If the effect is not applicable to this class of entity, it will not play.

        Parameters:
        type - Effect to play.
      • getType

        @NotNull
        EntityType getType()
        Get the type of the entity.
        Returns:
        The entity type.
      • isInsideVehicle

        boolean isInsideVehicle()
        Returns whether this entity is inside a vehicle.
        Returns:
        True if the entity is in a vehicle.
      • leaveVehicle

        boolean leaveVehicle()
        Leave the current vehicle. If the entity is currently in a vehicle (and is removed from it), true will be returned, otherwise false will be returned.
        Returns:
        True if the entity was in a vehicle.
      • getVehicle

        @Nullable
        Entity getVehicle()
        Get the vehicle that this player is inside. If there is no vehicle, null will be returned.
        Returns:
        The current vehicle.
      • setCustomNameVisible

        void setCustomNameVisible​(boolean flag)
        Sets whether or not to display the mob's custom name client side. The name will be displayed above the mob similarly to a player.

        This value has no effect on players, they will always display their name.

        Parameters:
        flag - custom name or not
      • isCustomNameVisible

        boolean isCustomNameVisible()
        Gets whether or not the mob's custom name is displayed client side.

        This value has no effect on players, they will always display their name.

        Returns:
        if the custom name is displayed
      • setGlowing

        void setGlowing​(boolean flag)
        Sets whether the entity has a team colored (default: white) glow. nb: this refers to the 'Glowing' entity property, not whether a glowing potion effect is applied
        Parameters:
        flag - if the entity is glowing
      • isGlowing

        boolean isGlowing()
        Gets whether the entity is glowing or not. nb: this refers to the 'Glowing' entity property, not whether a glowing potion effect is applied
        Returns:
        whether the entity is glowing
      • setInvulnerable

        void setInvulnerable​(boolean flag)
        Sets whether the entity is invulnerable or not.

        When an entity is invulnerable it can only be damaged by players in creative mode.

        Parameters:
        flag - if the entity is invulnerable
      • isInvulnerable

        boolean isInvulnerable()
        Gets whether the entity is invulnerable or not.
        Returns:
        whether the entity is
      • isSilent

        boolean isSilent()
        Gets whether the entity is silent or not.
        Returns:
        whether the entity is silent.
      • setSilent

        void setSilent​(boolean flag)
        Sets whether the entity is silent or not.

        When an entity is silent it will not produce any sound.

        Parameters:
        flag - if the entity is silent
      • hasGravity

        boolean hasGravity()
        Returns whether gravity applies to this entity.
        Returns:
        whether gravity applies
      • setGravity

        void setGravity​(boolean gravity)
        Sets whether gravity applies to this entity.
        Parameters:
        gravity - whether gravity should apply
      • getPortalCooldown

        int getPortalCooldown()
        Gets the period of time (in ticks) before this entity can use a portal.
        Returns:
        portal cooldown ticks
      • setPortalCooldown

        void setPortalCooldown​(int cooldown)
        Sets the period of time (in ticks) before this entity can use a portal.
        Parameters:
        cooldown - portal cooldown ticks
      • getScoreboardTags

        @NotNull
        Set<String> getScoreboardTags()
        Returns a set of tags for this entity.
        Entities can have no more than 1024 tags.
        Returns:
        a set of tags for this entity
      • addScoreboardTag

        boolean addScoreboardTag​(@NotNull
                                 String tag)
        Add a tag to this entity.
        Entities can have no more than 1024 tags.
        Parameters:
        tag - the tag to add
        Returns:
        true if the tag was successfully added
      • removeScoreboardTag

        boolean removeScoreboardTag​(@NotNull
                                    String tag)
        Removes a given tag from this entity.
        Parameters:
        tag - the tag to remove
        Returns:
        true if the tag was successfully removed
      • getPistonMoveReaction

        @NotNull
        PistonMoveReaction getPistonMoveReaction()
        Returns the reaction of the entity when moved by a piston.
        Returns:
        reaction
      • getPose

        @NotNull
        Pose getPose()
        Gets the entity's current pose. Note that the pose is only updated at the end of a tick, so may be inconsistent with other methods. eg Player.isSneaking() being true does not imply the current pose will be Pose.SNEAKING
        Returns:
        current pose