Interface PersistentDataContainerView
- All Known Subinterfaces:
- PersistentDataContainer
- See Also:
- 
Method SummaryModifier and TypeMethodDescriptionvoidcopyTo(PersistentDataContainer other, boolean replace) Copies all values from thisPersistentDataContainerto the provided container.<P,C> @Nullable C get(NamespacedKey key, PersistentDataType<P, C> type) Returns the metadata value that is stored on thePersistentDataHolderinstance.Returns the adapter context this tag container uses.getKeys()Get the set of keys present on thisPersistentDataContainerinstance.<P,C> C getOrDefault(NamespacedKey key, PersistentDataType<P, C> type, C defaultValue) Returns the metadata value that is stored on thePersistentDataHolderinstance.booleanhas(NamespacedKey key) Returns if the persistent metadata provider has metadata registered matching the provided parameters.<P,C> boolean has(NamespacedKey key, PersistentDataType<P, C> type) Returns if the persistent metadata provider has metadata registered matching the provided parameters.booleanisEmpty()Returns if the container instance is empty, therefore has no entries inside it.byte[]Serialize thisPersistentDataContainerinstance to a byte array.
- 
Method Details- 
hasReturns if the persistent metadata provider has metadata registered matching the provided parameters.This method will only return true if the found value has the same primitive data type as the provided key. Storing a value using a custom PersistentDataTypeimplementation will not store the complex data type. Therefore storing a UUID (by storing a byte[]) will match has("key" ,PersistentDataType.BYTE_ARRAY). Likewise a stored byte[] will always match your UUIDPersistentDataTypeeven if it is not 16 bytes long.This method is only usable for custom object keys. Overwriting existing tags, like the display name, will not work as the values are stored using your namespace. - Type Parameters:
- P- the generic type of the stored primitive
- C- the generic type of the eventually created complex object
- Parameters:
- key- the key the value is stored under
- type- the type the primative stored value has to match
- Returns:
- if a value with the provided key and type exists
- Throws:
- IllegalArgumentException- if the key to look up is null
- IllegalArgumentException- if the type to cast the found object to is null
 
- 
hasReturns if the persistent metadata provider has metadata registered matching the provided parameters.This method will return true as long as a value with the given key exists, regardless of its type. This method is only usable for custom object keys. Overwriting existing tags, like the display name, will not work as the values are stored using your namespace. - Parameters:
- key- the key the value is stored under
- Returns:
- if a value with the provided key exists
- Throws:
- IllegalArgumentException- if the key to look up is null
 
- 
getReturns the metadata value that is stored on thePersistentDataHolderinstance.- Type Parameters:
- P- the generic type of the stored primitive
- C- the generic type of the eventually created complex object
- Parameters:
- key- the key to look up in the custom tag map
- type- the type the value must have and will be casted to
- Returns:
- the value or nullif no value was mapped under the given value
- Throws:
- IllegalArgumentException- if the key to look up is null
- IllegalArgumentException- if the type to cast the found object to is null
- IllegalArgumentException- if a value exists under the given key, but cannot be accessed using the given type
- IllegalArgumentException- if no suitable adapter was found for the- PersistentDataType.getPrimitiveType()
 
- 
getOrDefaultReturns the metadata value that is stored on thePersistentDataHolderinstance. If the value does not exist in the container, the default value provided is returned.- Type Parameters:
- P- the generic type of the stored primitive
- C- the generic type of the eventually created complex object
- Parameters:
- key- the key to look up in the custom tag map
- type- the type the value must have and will be casted to
- defaultValue- the default value to return if no value was found for the provided key
- Returns:
- the value or the default value if no value was mapped under the given key
- Throws:
- IllegalArgumentException- if the key to look up is null
- IllegalArgumentException- if the type to cast the found object to is null
- IllegalArgumentException- if a value exists under the given key, but cannot be accessed using the given type
- IllegalArgumentException- if no suitable adapter was found for the- PersistentDataType.getPrimitiveType()
 
- 
getKeysSet<NamespacedKey> getKeys()Get the set of keys present on thisPersistentDataContainerinstance.Any changes made to the returned set will not be reflected on the instance. - Returns:
- the key set
 
- 
isEmptyboolean isEmpty()Returns if the container instance is empty, therefore has no entries inside it.- Returns:
- the boolean
 
- 
copyToCopies all values from thisPersistentDataContainerto the provided container.This method only copies custom object keys. Existing tags, like the display name, will not be copied as the values are stored using your namespace. - Parameters:
- other- the container to copy to
- replace- whether to replace any matching values in the target container
- Throws:
- IllegalArgumentException- if the other container is null
 
- 
getAdapterContextPersistentDataAdapterContext getAdapterContext()Returns the adapter context this tag container uses.- Returns:
- the tag context
 
- 
serializeToBytesSerialize thisPersistentDataContainerinstance to a byte array.- Returns:
- a binary representation of this container
- Throws:
- IOException- if we fail to write this container to a byte array
 
 
-