Interface DataBuilder<T extends DataSerializable>
- Type Parameters:
T- The type of data serializable this builder can build
- All Known Subinterfaces:
BannerPatternLayer.Builder,BlockEntityArchetype.Builder,BlockSnapshot.Builder,BlockState.Builder,Enchantment.Builder,EntityArchetype.Builder,EntitySnapshot.Builder,FluidStack.Builder,FluidStackSnapshot.Builder,FluidState.Builder,KeyValueMatcher.Builder<V>,LocatableBlock.Builder,ParticleEffect.Builder,PotionEffect.Builder,SerializableDataHolderBuilder<H,,B> SerializableDataHolderBuilder.Immutable<H,,B> SerializableDataHolderBuilder.Mutable<H,,B> State.Builder<S,,B> TradeOffer.Builder
- All Known Implementing Classes:
AbstractDataBuilder,Color.Builder,RespawnLocation.Builder
public interface DataBuilder<T extends DataSerializable>
Represents a builder that can take a
DataContainer and create a
new instance of a DataSerializable. The builder should be a
singleton and may not exist for every data serializable.
It is HIGHLY recommended to extend
AbstractDataBuilder as it implements content updating
-
Method Summary
-
Method Details
-
build
Attempts to build the providedDataSerializablefrom the givenDataView. If theDataViewis invalid or missing necessary information to complete building theDataSerializable,Optional.empty()may be returned.- Parameters:
container- The container containing all necessary data- Returns:
- The instance of the
DataSerializable, if successful - Throws:
InvalidDataException- In the event that the builder is unable to properly construct the data serializable from the data view
-