Interface GeyserEntity
- All Known Subinterfaces:
GeyserPlayerEntity
public interface GeyserEntity
Represents a unique instance of an entity. Each
GeyserConnection
have their own sets of entities - no two instances will share the same GeyserEntity instance.-
Method Summary
Modifier and TypeMethodDescription@NonNull GeyserEntityDefinition@org.checkerframework.checker.index.qual.Positive longgeyserId()@org.checkerframework.checker.index.qual.NonNegative intjavaId()The passengers of this entity, or an empty list if none are present.@NonNull org.cloudburstmc.math.vector.Vector3fposition()The position of this entity, without the Bedrock edition offset defined in the Bedrock entity definition.<T> voidupdate(@NonNull GeyserEntityDataType<T> dataType, @Nullable T value) Updates an entity property with a new value.default voidupdatePropertiesBatched(Consumer<BatchPropertyUpdater> consumer) Deprecated.voidupdatePropertiesBatched(Consumer<BatchPropertyUpdater> consumer, boolean immediate) Updates multiple properties with just one update packet, which can be sent immediately to the client.default <T> voidupdateProperty(@NonNull GeyserEntityProperty<T> property, @Nullable T value) Updates an entity property with a new value.@Nullable UUIDuuid()<T> @Nullable Tvalue(@NonNull GeyserEntityDataType<T> dataType) Queries the current value of a givenGeyserEntityDataType.@Nullable GeyserEntityvehicle()The vehicle this entity is currently on, or null if not present.
-
Method Details
-
javaId
@org.checkerframework.checker.index.qual.NonNegative int javaId()- Returns:
- the entity ID that the server has assigned to this entity, or 0 if none is present
-
geyserId
@org.checkerframework.checker.index.qual.Positive long geyserId()- Returns:
- the Geyser entity id that the Bedrock client sees
-
uuid
@Nullable UUID uuid()- Returns:
- the entity uuid that the server has assigned to this entity, or null if none is assigned
-
definition
@NonNull GeyserEntityDefinition definition()- Returns:
- the Bedrock entity definition
-
position
@NonNull org.cloudburstmc.math.vector.Vector3f position()The position of this entity, without the Bedrock edition offset defined in the Bedrock entity definition.- Returns:
- the position of the entity, as it is known to the Java server.
-
vehicle
@Nullable GeyserEntity vehicle()The vehicle this entity is currently on, or null if not present. -
passengers
List<GeyserEntity> passengers()The passengers of this entity, or an empty list if none are present. -
value
Queries the current value of a givenGeyserEntityDataType.- Type Parameters:
T- the type of the value- Parameters:
dataType- the entity data type to query- Returns:
- the value, or null if not set
- See Also:
-
update
Updates an entity property with a new value. If the new value is null, the property is reset to the default value.- Type Parameters:
T- the type of the value- Parameters:
dataType- an entity data type, such as fromGeyserEntityDataTypesvalue- the new property value
-
updateProperty
Updates an entity property with a new value. If the new value is null, the property is reset to the default value.- Type Parameters:
T- the type of the value- Parameters:
property- aGeyserEntityPropertyregistered for this type in theGeyserDefineEntityPropertiesEventvalue- the new property value- Since:
- 2.9.0
-
updatePropertiesBatched
Deprecated.- useupdateProperty(GeyserEntityProperty, Object)instead -
updatePropertiesBatched
Updates multiple properties with just one update packet, which can be sent immediately to the client. Usually, sending updates immediately is not required except for specific situations where packet batching would result in update order issues.- Parameters:
consumer- a batch updaterimmediate- whether this update should be sent immediately- Since:
- 2.9.1
- See Also:
-
updateProperty(GeyserEntityProperty, Object)instead