T - The type of property that this store can handlepublic interface PropertyStore<T extends Property<?,?>>
PropertyHolder such that if a
PropertyHolder cannot properly provide the Property
instances natively, a PropertyStore can optionally provide
an "override" or "customized" support of a particular Property
for any variants of PropertyHolders.| Modifier and Type | Method and Description |
|---|---|
Optional<T> |
getFor(Location<World> location)
Gets the desired property for the provided
Location at present
time. |
Optional<T> |
getFor(Location<World> location,
Direction direction)
|
Optional<T> |
getFor(PropertyHolder propertyHolder)
Gets the desired property for the provided
PropertyHolder at
present time. |
int |
getPriority()
Gets the priority of which this
PropertyStore is used for
handling a particular PropertyHolder. |
Optional<T> getFor(PropertyHolder propertyHolder)
PropertyHolder at
present time. A property may not be the same throughout the course of
the lifetime of the PropertyHolder.propertyHolder - The data holder to get a property fromOptional<T> getFor(Location<World> location)
Location at present
time. A property may not be the same throughout the course of the
lifetime of the Location.location - The location of the blockOptional<T> getFor(Location<World> location, Direction direction)
Location at present
time, in relation to the provided Direction.location - The location of the blockdirection - The direction in relation toint getPriority()
PropertyStore is used for
handling a particular PropertyHolder. This is useful for
multiple possible handlers of a Property being available
in customized PropertyHolders.
The priority is a measurement where the higher the priority, the
sooner this PropertyStore is queried such that if
getFor(PropertyHolder) is called and returns a present value,
that present value is returned. Usually, Sponge implemented
PropertyStores have a priority of 100.