Package org.spongepowered.api.data
Interface SerializableDataHolder.Immutable<I extends SerializableDataHolder.Immutable<I>>
- All Superinterfaces:
CopyableDataHolder
,DataHolder
,DataHolder.Immutable<I>
,DataSerializable
,SerializableDataHolder
,ValueContainer
- All Known Subinterfaces:
BlockSnapshot
,BlockState
,EntitySnapshot
,FluidStackSnapshot
,FluidState
,ItemStackSnapshot
,LocatableBlock
,LocatableSnapshot<T>
,State<S>
- Enclosing interface:
- SerializableDataHolder
public static interface SerializableDataHolder.Immutable<I extends SerializableDataHolder.Immutable<I>>
extends SerializableDataHolder, DataHolder.Immutable<I>
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.spongepowered.api.data.DataHolder
DataHolder.Immutable<I extends DataHolder.Immutable<I>>, DataHolder.Mutable
Nested classes/interfaces inherited from interface org.spongepowered.api.data.SerializableDataHolder
SerializableDataHolder.Immutable<I extends SerializableDataHolder.Immutable<I>>, SerializableDataHolder.Mutable
-
Method Summary
Modifier and TypeMethodDescriptioncopy()
Creates a clone copy of thisCopyableDataHolder
as a newCopyableDataHolder
such that all theValue
s are safely duplicated to the new instance.withRawData
(DataView container) Attempts to set all data of thisDataHolder
according to theDataView
's held information.Methods inherited from interface org.spongepowered.api.data.DataHolder.Immutable
mergeWith, mergeWith, transform, transform, with, with, with, without, without, without
Methods inherited from interface org.spongepowered.api.data.persistence.DataSerializable
contentVersion, toContainer
Methods inherited from interface org.spongepowered.api.data.SerializableDataHolder
validateRawData
-
Method Details
-
withRawData
Attempts to set all data of thisDataHolder
according to theDataView
's held information. Using this to modify known to beKey
s provided dynamically throughDataProvider
s is unsupported. The format of theDataView
's contained data is dependent on the type ofDataHolder.Mutable
this is. In some cases, the format is specified based on a more specific type, such as forEntityType
s, orItemType
s.This setter is used to provide setting custom data that is not represented by the Data API, including forge mods and other unknown data. Attempts to validate the provided view is not always possible due to the nature of the data being parsed by the implementation, and only understood by clients. Other cases where the data can be validated and the data is incompatible will end up throwing an
InvalidDataException
.- Parameters:
container
- A container containing all raw data to set on this data holder- Returns:
- The new immutable data holder containing the raw data
- Throws:
InvalidDataException
- If the container is missing or has invalid data that this holder will refuse
-
copy
I copy()Description copied from interface:CopyableDataHolder
Creates a clone copy of thisCopyableDataHolder
as a newCopyableDataHolder
such that all theValue
s are safely duplicated to the new instance. It is not guaranteed that the returning container is of the same type as this container.- Specified by:
copy
in interfaceCopyableDataHolder
- Specified by:
copy
in interfaceSerializableDataHolder
- Returns:
- The new copy
-