public sealed interface EntityTracker
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface
EntityTracker.Target<E extends Entity>
Represents the type of entity you want to retrieve.static interface
EntityTracker.Update<E extends Entity>
Callback to know the newly visible entities and those to remove. -
Method Summary
Modifier and TypeMethodDescription<T extends Entity>
@UnmodifiableView Collection<T> chunkEntities
(int chunkX, int chunkZ, EntityTracker.Target<T> target) default <T extends Entity>
@UnmodifiableView Collection<T> chunkEntities
(Point point, EntityTracker.Target<T> target) entities()
entities
(EntityTracker.Target<T> target) Gets all the entities tracked by this class.@Nullable Entity
getEntityById
(int id) Gets an entity based on its id (fromEntity.getEntityId()
).@Nullable Entity
getEntityByUuid
(UUID uuid) Gets an entity based on its UUID (fromEntity.getUuid()
).<T extends Entity>
voidmove
(Entity entity, Point newPoint, EntityTracker.Target<T> target, @Nullable EntityTracker.Update<T> update) Called every time an entity move, you may want to verify if the new position is in a different chunk.<T extends Entity>
voidnearbyEntities
(Point point, double range, EntityTracker.Target<T> target, Consumer<T> query) Gets the entities within a range.<T extends Entity>
voidnearbyEntitiesByChunkRange
(Point point, int chunkRange, EntityTracker.Target<T> target, Consumer<T> query) Gets the entities within a chunk range.static EntityTracker
<T extends Entity>
voidregister
(Entity entity, Point point, EntityTracker.Target<T> target, @Nullable EntityTracker.Update<T> update) Register an entity to be tracked.<T extends Entity>
voidunregister
(Entity entity, EntityTracker.Target<T> target, @Nullable EntityTracker.Update<T> update) Unregister an entity tracking.default Viewable
viewable
(int chunkX, int chunkZ) viewable
(List<SharedInstance> sharedInstances, int chunkX, int chunkZ)
-
Method Details
-
newTracker
-
register
<T extends Entity> void register(Entity entity, Point point, EntityTracker.Target<T> target, @Nullable @Nullable EntityTracker.Update<T> update) Register an entity to be tracked. -
unregister
<T extends Entity> void unregister(Entity entity, EntityTracker.Target<T> target, @Nullable @Nullable EntityTracker.Update<T> update) Unregister an entity tracking. -
getEntityById
Gets an entity based on its id (fromEntity.getEntityId()
).- Parameters:
id
- the entity id- Returns:
- the entity having the specified id, null if not found
-
getEntityByUuid
Gets an entity based on its UUID (fromEntity.getUuid()
).- Parameters:
uuid
- the entity UUID- Returns:
- the entity having the specified uuid, null if not found
-
move
<T extends Entity> void move(Entity entity, Point newPoint, EntityTracker.Target<T> target, @Nullable @Nullable EntityTracker.Update<T> update) Called every time an entity move, you may want to verify if the new position is in a different chunk. -
chunkEntities
<T extends Entity> @UnmodifiableView Collection<T> chunkEntities(int chunkX, int chunkZ, EntityTracker.Target<T> target) -
chunkEntities
default <T extends Entity> @UnmodifiableView Collection<T> chunkEntities(Point point, EntityTracker.Target<T> target) -
nearbyEntitiesByChunkRange
<T extends Entity> void nearbyEntitiesByChunkRange(Point point, int chunkRange, EntityTracker.Target<T> target, Consumer<T> query) Gets the entities within a chunk range. -
nearbyEntities
<T extends Entity> void nearbyEntities(Point point, double range, EntityTracker.Target<T> target, Consumer<T> query) Gets the entities within a range. -
entities
Gets all the entities tracked by this class. -
entities
-
viewable
-
viewable
-