Package org.bukkit.configuration.serialization

# Interface ConfigurationSerializable

All Known Subinterfaces:
  `ArmorStandMeta`, `AxolotlBucketMeta`, `BannerMeta`, `BlockDataMeta`, `BlockStateMeta`, `BookMeta`, `BundleMeta`, `CompassMeta`, `CrossbowMeta`, `Damageable`, `EnchantmentStorageMeta`, `FireworkEffectMeta`, `FireworkMeta`, `ItemMeta`, `KnowledgeBookMeta`, `LeatherArmorMeta`, `MapMeta`, `OfflinePlayer`, `Player`, `PotionMeta`, `SkullMeta`, `SpawnEggMeta`, `SuspiciousStewMeta`, `TropicalFishBucketMeta`

All Known Implementing Classes:
  `AttributeModifier`, `BlockVector`, `BoundingBox`, `Color`, `FireworkEffect`, `ItemStack`, `Location`, `Pattern`, `PotionEffect`, `Vector`

public interface ConfigurationSerializable
Represents an object that may be serialized.

These objects MUST implement one of the following, in addition to the methods as defined by this interface:

- A static method "deserialize" that accepts a single `Map`< `String`, `Object`> and returns the class.
- A static method "valueOf" that accepts a single `Map`<`String`, `Object`> and returns the class.
- A constructor that accepts a single `Map`<`String`, `Object`>.

In addition to implementing this interface, you must register the class with `ConfigurationSerialization.registerClass(Class)`.

See Also:
  - `DelegateDeserialization`
  - `SerializableAs`

## Method Summary

Modifier and Type
Method
Description
`@NotNull Map<String,Object>`
`serialize()`
Creates a Map representation of this class.

## Method Details

### serialize

@NotNull @NotNull Map<String,Object> serialize()
Creates a Map representation of this class.

This class must provide a method to restore this class, as defined in the `ConfigurationSerializable` interface javadocs.

Returns:
  Map containing the current state of this class