# Uses of Interface
org.bukkit.configuration.serialization.ConfigurationSerializable

Packages that use ConfigurationSerializable
Package
Description
com.destroystokyo.paper.inventory.meta
com.destroystokyo.paper.profile
org.bukkit
The root package of the Bukkit API, contains generalized API classes.
org.bukkit.attribute
Classes relevant to attributes.
org.bukkit.block.banner
Classes relevant to banner blocks.
org.bukkit.configuration
Classes dedicated to handling a plugin's runtime configuration.
org.bukkit.configuration.serialization
Classes dedicated to being able to perform serialization specialized for the Bukkit `configuration` implementation.
org.bukkit.entity
Interfaces for non-voxel objects that can exist in a `world`, including all players, monsters, projectiles, etc.
org.bukkit.inventory
Classes involved in manipulating player inventories and item interactions.
org.bukkit.inventory.meta
The interfaces used when manipulating extra data can can be stored inside `item stacks`.
org.bukkit.potion
Classes to represent various `potion` properties and manipulation.
org.bukkit.profile
Classes relevant to player profiles.
org.bukkit.util
Multi and single purpose classes to facilitate various programmatic concepts.

## Uses of ConfigurationSerializable in com.destroystokyo.paper.inventory.meta

Subinterfaces of ConfigurationSerializable in com.destroystokyo.paper.inventory.meta
Modifier and Type
Interface
Description
`interface`
`ArmorStandMeta`

## Uses of ConfigurationSerializable in com.destroystokyo.paper.profile

Subinterfaces of ConfigurationSerializable in com.destroystokyo.paper.profile
Modifier and Type
Interface
Description
`interface`
`PlayerProfile`
Represents a players profile for the game, such as UUID, Name, and textures.

## Uses of ConfigurationSerializable in org.bukkit

Subinterfaces of ConfigurationSerializable in org.bukkit
Modifier and Type
Interface
Description
`interface`
`OfflinePlayer`
Classes in org.bukkit that implement ConfigurationSerializable
Modifier and Type
Class
Description
`final class`
`Color`
A container for a color palette.
`final class`
`FireworkEffect`
Represents a single firework effect.
`class`
`Location`
Represents a 3-dimensional position in a world.
Methods in org.bukkit that return ConfigurationSerializable
Modifier and Type
Method
Description
`static @NotNull ConfigurationSerializable`
FireworkEffect.`deserialize(@NotNull Map<String,Object> map)`

## Uses of ConfigurationSerializable in org.bukkit.attribute

Classes in org.bukkit.attribute that implement ConfigurationSerializable
Modifier and Type
Class
Description
`class`
`AttributeModifier`
Concrete implementation of an attribute modifier.

## Uses of ConfigurationSerializable in org.bukkit.block.banner

Classes in org.bukkit.block.banner that implement ConfigurationSerializable
Modifier and Type
Class
Description
`class`
`Pattern`

## Uses of ConfigurationSerializable in org.bukkit.configuration

Methods in org.bukkit.configuration with type parameters of type ConfigurationSerializable
Modifier and Type
Method
Description
`<T extends ConfigurationSerializable>
T`
ConfigurationSection.`getSerializable(@NotNull String path, @NotNull Class<T> clazz)`
Gets the requested `ConfigurationSerializable` object at the given path.
`<T extends ConfigurationSerializable>
T`
ConfigurationSection.`getSerializable(@NotNull String path, @NotNull Class<T> clazz, T def)`
Gets the requested `ConfigurationSerializable` object at the given path, returning a default value if not found If the Object does not exist then the specified default value will returned regardless of if a default has been identified in the root `Configuration`.
`<T extends ConfigurationSerializable>
T`
MemorySection.`getSerializable(@NotNull String path, @NotNull Class<T> clazz)`
`<T extends ConfigurationSerializable>
T`
MemorySection.`getSerializable(@NotNull String path, @NotNull Class<T> clazz, T def)`

## Uses of ConfigurationSerializable in org.bukkit.configuration.serialization

Methods in org.bukkit.configuration.serialization that return ConfigurationSerializable
Modifier and Type
Method
Description
`@Nullable ConfigurationSerializable`
ConfigurationSerialization.`deserialize(@NotNull Map<String,?> args)`
`static @Nullable ConfigurationSerializable`
ConfigurationSerialization.`deserializeObject(@NotNull Map<String,?> args)`
Attempts to deserialize the given arguments into a new instance of the given class.
`static @Nullable ConfigurationSerializable`
ConfigurationSerialization.`deserializeObject(@NotNull Map<String,?> args, @NotNull Class<? extends ConfigurationSerializable> clazz)`
Attempts to deserialize the given arguments into a new instance of the given class.
`protected @Nullable ConfigurationSerializable`
ConfigurationSerialization.`deserializeViaCtor(@NotNull Constructor<? extends ConfigurationSerializable> ctor, @NotNull Map<String,?> args)`
`protected @Nullable ConfigurationSerializable`
ConfigurationSerialization.`deserializeViaMethod(@NotNull Method method, @NotNull Map<String,?> args)`
Methods in org.bukkit.configuration.serialization that return types with arguments of type ConfigurationSerializable
Modifier and Type
Method
Description
`static @Nullable Class<? extends ConfigurationSerializable>`
ConfigurationSerialization.`getClassByAlias(@NotNull String alias)`
Attempts to get a registered `ConfigurationSerializable` class by its alias
`protected @Nullable Constructor<? extends ConfigurationSerializable>`
ConfigurationSerialization.`getConstructor()`
Method parameters in org.bukkit.configuration.serialization with type arguments of type ConfigurationSerializable
Modifier and Type
Method
Description
`static @Nullable ConfigurationSerializable`
ConfigurationSerialization.`deserializeObject(@NotNull Map<String,?> args, @NotNull Class<? extends ConfigurationSerializable> clazz)`
Attempts to deserialize the given arguments into a new instance of the given class.
`protected @Nullable ConfigurationSerializable`
ConfigurationSerialization.`deserializeViaCtor(@NotNull Constructor<? extends ConfigurationSerializable> ctor, @NotNull Map<String,?> args)`
`static @NotNull String`
ConfigurationSerialization.`getAlias(@NotNull Class<? extends ConfigurationSerializable> clazz)`
Gets the correct alias for the given `ConfigurationSerializable` class
`static void`
ConfigurationSerialization.`registerClass(@NotNull Class<? extends ConfigurationSerializable> clazz)`
Registers the given `ConfigurationSerializable` class by its alias
`static void`
ConfigurationSerialization.`registerClass(@NotNull Class<? extends ConfigurationSerializable> clazz, @NotNull String alias)`
Registers the given alias to the specified `ConfigurationSerializable` class
`static void`
ConfigurationSerialization.`unregisterClass(@NotNull Class<? extends ConfigurationSerializable> clazz)`
Unregisters any aliases for the specified `ConfigurationSerializable` class
Constructor parameters in org.bukkit.configuration.serialization with type arguments of type ConfigurationSerializable
Modifier
Constructor
Description
`protected`
`ConfigurationSerialization(@NotNull Class<? extends ConfigurationSerializable> clazz)`

## Uses of ConfigurationSerializable in org.bukkit.entity

Subinterfaces of ConfigurationSerializable in org.bukkit.entity
Modifier and Type
Interface
Description
`interface`
`Player`
Represents a player, connected or not

## Uses of ConfigurationSerializable in org.bukkit.inventory

Classes in org.bukkit.inventory that implement ConfigurationSerializable
Modifier and Type
Class
Description
`class`
`ItemStack`
Represents a stack of items.

## Uses of ConfigurationSerializable in org.bukkit.inventory.meta

Subinterfaces of ConfigurationSerializable in org.bukkit.inventory.meta
Modifier and Type
Interface
Description
`interface`
`AxolotlBucketMeta`
Represents a bucket of axolotl.
`interface`
`BannerMeta`
`interface`
`BlockDataMeta`
`interface`
`BlockStateMeta`
`interface`
`BookMeta`
Represents a book (`Material.WRITABLE_BOOK` or `Material.WRITTEN_BOOK`) that can have a title, an author, and pages.
`interface`
`BundleMeta`
`interface`
`CompassMeta`
Represents a compass that can track a specific location.
`interface`
`CrossbowMeta`
`interface`
`Damageable`
Represents an item that has durability and can take damage.
`interface`
`EnchantmentStorageMeta`
EnchantmentMeta is specific to items that can store enchantments, as opposed to being enchanted.
`interface`
`FireworkEffectMeta`
Represents a meta that can store a single FireworkEffect.
`interface`
`FireworkMeta`
Represents a `Material.FIREWORK_ROCKET` and its effects.
`interface`
`ItemMeta`
This type represents the storage mechanism for auxiliary item data.
`interface`
`KnowledgeBookMeta`
`interface`
`LeatherArmorMeta`
Represents leather armor (`Material.LEATHER_BOOTS`, `Material.LEATHER_CHESTPLATE`, `Material.LEATHER_HELMET`, or `Material.LEATHER_LEGGINGS`) that can be colored.
`interface`
`MapMeta`
Represents a map that can be scalable.
`interface`
`PotionMeta`
Represents a potion or item that can have custom effects.
`interface`
`Repairable`
Represents an item that can be repaired at an anvil.
`interface`
`SkullMeta`
Represents a skull that can have an owner.
`interface`
`SpawnEggMeta`
Represents a spawn egg and it's spawned type.
`interface`
`SuspiciousStewMeta`
Represents a suspicious stew that can have custom effects.
`interface`
`TropicalFishBucketMeta`
Represents a bucket of tropical fish.

## Uses of ConfigurationSerializable in org.bukkit.potion

Classes in org.bukkit.potion that implement ConfigurationSerializable
Modifier and Type
Class
Description
`class`
`PotionEffect`
Represents a potion effect, that can be added to a `LivingEntity`.

## Uses of ConfigurationSerializable in org.bukkit.profile

Subinterfaces of ConfigurationSerializable in org.bukkit.profile
Modifier and Type
Interface
Description
`interface`
`PlayerProfile`
Deprecated.
see `PlayerProfile`

## Uses of ConfigurationSerializable in org.bukkit.util

Classes in org.bukkit.util that implement ConfigurationSerializable
Modifier and Type
Class
Description
`class`
`BlockVector`
A vector with a hash function that floors the X, Y, Z components, a la BlockVector in WorldEdit.
`class`
`BoundingBox`
A mutable axis aligned bounding box (AABB).
`class`
`Vector`
Represents a mutable vector.