API Changes in 1.21.3
All API Changes
All API Additions
ClientOption.PARTICLE_VISIBILITY: ClientOption<ParticleVisibility>
PlayerClientOptionsChangeEvent#getParticleVisibility(): ParticleVisibility
PlayerClientOptionsChangeEvent#hasParticleVisibilityChanged(): boolean
Bukkit.isOwnedByCurrentRegion(World world, int minChunkX, int minChunkZ, int maxChunkX, int maxChunkZ): boolean
Bukkit.isGlobalTickThread(): boolean
Server#isOwnedByCurrentRegion(World world, int minChunkX, int minChunkZ, int maxChunkX, int maxChunkZ): boolean
Server#isGlobalTickThread(): boolean
BannerPatternTagKeys
BiomeTagKeys
BlockTypeTagKeys
CatVariantTagKeys
DamageTypeTagKeys
FluidTagKeys
GameEventTagKeys
InstrumentTagKeys
PaintingVariantTagKeys
StructureTagKeys
PaintingVariantRegistryEntry
RegistryEvents.PAINTING_VARIANT: RegistryEventProvider<Art, PaintingVariantRegistryEntry.Builder>
Art#title(): Component
Art#author(): Component
Art#assetId(): Key
Server#allowPausing(Plugin plugin, boolean value)
Server#isPaused(): boolean
PlayerItemCooldownEvent extends PlayerItemGroupCooldownEvent
BlockPredicate
BuildableDataComponent<C extends BuildableDataComponent<C, B>, B extends DataComponentBuilder<C>>
DataComponentBuilder<C>
DataComponentType
DataComponentTypes
BannerPatternLayers
BlockItemDataProperties
BundleContents
ChargedProjectiles
Consumable extends BuildableDataComponent<Consumable, Consumable.Builder>
CustomModelData
DamageResistant
DeathProtection
DyedItemColor extends ShownInTooltip<DyedItemColor>
Enchantable
Equippable extends BuildableDataComponent<Equippable, Equippable.Builder>
Fireworks
FoodProperties extends BuildableDataComponent<FoodProperties, FoodProperties.Builder>
ItemAdventurePredicate extends ShownInTooltip<ItemAdventurePredicate>
ItemArmorTrim extends ShownInTooltip<ItemArmorTrim>
ItemAttributeModifiers extends ShownInTooltip<ItemAttributeModifiers>
ItemComponentTypesBridge
ItemContainerContents
ItemEnchantments extends ShownInTooltip<ItemEnchantments>
ItemLore
JukeboxPlayable extends ShownInTooltip<JukeboxPlayable>
LodestoneTracker
MapDecorations
MapId
MapItemColor
OminousBottleAmplifier
PotDecorations
PotionContents
Repairable
ResolvableProfile
SeededContainerLoot
ShownInTooltip<T>
SuspiciousStewEffects
Tool
Unbreakable extends ShownInTooltip<Unbreakable>
UseCooldown
UseRemainder
WritableBookContent
WrittenBookContent
ConsumeEffect
ItemUseAnimation
MapPostProcessing
Filtered<T>
Material#getDefaultData(DataComponentType.Value<T> type): T
Material#hasDefaultData(DataComponentType type): boolean
Material#getDefaultDataTypes(): Set<DataComponentType>
ItemStack#getData(DataComponentType.Value<T> type): T
ItemStack#getDataOrDefault(DataComponentType.Value<T> type, T fallback): T
ItemStack#hasData(DataComponentType type): boolean
ItemStack#getDataTypes(): Set<DataComponentType>
ItemStack#setData(DataComponentType.Valued<T> type, DataComponentBuilder<T> valueBuilder)
ItemStack#setData(DataComponentType.Valued<T>, T value)
ItemStack#setData(DataComponentType.NonValued)
ItemStack#unsetData(DataComponentType)
ItemStack#resetData(DataComponentType)
ItemStack#isDataOverridden(DataComponentType): boolean
ItemStack#matchesWithoutData(ItemStack, Set<DataComponentType> excludeTypes): boolean
ItemStack#matchesWithoutData(ItemStack, Set<DataComponentType> excludeTypes, boolean ignoreCount): boolean
ItemStack#editData(DataComponentType.Valued<T> type, Function<T, T>)
Registry.DATA_COMPONENT_TYPE: Registry<DataComponentType>
RegistryKey.DATA_COMPONENT_TYPE: RegistryKey<DataComponentType>
ItemType#getDefaultData(DataComponentType.Valued<T> type): T
ItemType#hasDefaultData(DataComponentType type): boolean
ItemType#getDefaultDataTypes(): Set<DataComponentType>
All API Deprecations
ClientOption.UNKNOWN
Art#key(): Key
MusicInstrument#key(): Key
Sound#key(): Key
PatternType#key(): Key
PatternType#getKey(): NamespacedKey
Structure#key(): Key
TrimMaterial#key(): Key
TrimPattern#key(): Key
All Class Inheritance Changes
TypedKey<T>
now extends Key
(extended Keyed
before)All Renamed Classes
PlayerItemCooldownEvent
to PlayerItemGroupCooldownEvent
No Longer Internal
BlockType
#74
Deprecate ChatVisibility#UNKNOWN
Deprecations:
-
ClientOption.UNKNOWN
#69
deprecate adventure key() methods where applicable
Deprecations:
-
Art#key(): Key
-
MusicInstrument#key(): Key
-
Sound#key(): Key
-
PatternType#key(): Key
-
PatternType#getKey(): NamespacedKey
-
Structure#key(): Key
-
TrimMaterial#key(): Key
-
TrimPattern#key(): Key
#64
Expose particle status client option
Additions:
-
ClientOption.PARTICLE_VISIBILITY: ClientOption<ParticleVisibility>
-
PlayerClientOptionsChangeEvent#getParticleVisibility(): ParticleVisibility
-
PlayerClientOptionsChangeEvent#hasParticleVisibilityChanged(): boolean
#63
Add Server#isGlobalTickThread
Additions:
-
Bukkit.isOwnedByCurrentRegion(World world, int minChunkX, int minChunkZ, int maxChunkX, int maxChunkZ): boolean
-
Bukkit.isGlobalTickThread(): boolean
-
Server#isOwnedByCurrentRegion(World world, int minChunkX, int minChunkZ, int maxChunkX, int maxChunkZ): boolean
-
Server#isGlobalTickThread(): boolean
#60
Add all missing TagKey constants files
Additions:
-
BannerPatternTagKeys
-
BiomeTagKeys
-
BlockTypeTagKeys
-
CatVariantTagKeys
-
DamageTypeTagKeys
-
FluidTagKeys
-
GameEventTagKeys
-
InstrumentTagKeys
-
PaintingVariantTagKeys
-
StructureTagKeys
#56
Painting variant registry modification API
Additions:
-
PaintingVariantRegistryEntry
-
RegistryEvents.PAINTING_VARIANT: RegistryEventProvider<Art, PaintingVariantRegistryEntry.Builder>
-
Art#title(): Component
-
Art#author(): Component
-
Art#assetId(): Key
#51
Make TypedKey an actual Key
Extensions:
TypedKey<T>
now extendsKey
(extendedKeyed
before)
#48
Add API to allow/disallow tick sleeping
Additions:
-
Server#allowPausing(Plugin plugin, boolean value)
#47
Added API to check if the server is sleeping
Additions:
-
Server#isPaused(): boolean
#42
Add PlayerItemGroupCooldownEvent
Additions:
-
PlayerItemCooldownEvent extends PlayerItemGroupCooldownEvent
Renamed:
PlayerItemCooldownEvent
toPlayerItemGroupCooldownEvent
#38
Item datacomponent api
The contents of this PR have been documented in the Paper docs: Data Component API.
Additions:
-
BlockPredicate
-
BuildableDataComponent<C extends BuildableDataComponent<C, B>, B extends DataComponentBuilder<C>>
-
DataComponentBuilder<C>
-
DataComponentType
-
DataComponentTypes
-
BannerPatternLayers
-
BlockItemDataProperties
-
BundleContents
-
ChargedProjectiles
-
Consumable extends BuildableDataComponent<Consumable, Consumable.Builder>
-
CustomModelData
-
DamageResistant
-
DeathProtection
-
DyedItemColor extends ShownInTooltip<DyedItemColor>
-
Enchantable
-
Equippable extends BuildableDataComponent<Equippable, Equippable.Builder>
-
Fireworks
-
FoodProperties extends BuildableDataComponent<FoodProperties, FoodProperties.Builder>
-
ItemAdventurePredicate extends ShownInTooltip<ItemAdventurePredicate>
-
ItemArmorTrim extends ShownInTooltip<ItemArmorTrim>
-
ItemAttributeModifiers extends ShownInTooltip<ItemAttributeModifiers>
-
ItemComponentTypesBridge
-
ItemContainerContents
-
ItemEnchantments extends ShownInTooltip<ItemEnchantments>
-
ItemLore
-
JukeboxPlayable extends ShownInTooltip<JukeboxPlayable>
-
LodestoneTracker
-
MapDecorations
-
MapId
-
MapItemColor
-
OminousBottleAmplifier
-
PotDecorations
-
PotionContents
-
Repairable
-
ResolvableProfile
-
SeededContainerLoot
-
ShownInTooltip<T>
-
SuspiciousStewEffects
-
Tool
-
Unbreakable extends ShownInTooltip<Unbreakable>
-
UseCooldown
-
UseRemainder
-
WritableBookContent
-
WrittenBookContent
-
ConsumeEffect
-
ItemUseAnimation
-
MapPostProcessing
-
Filtered<T>
-
Material#getDefaultData(DataComponentType.Value<T> type): T
-
Material#hasDefaultData(DataComponentType type): boolean
-
Material#getDefaultDataTypes(): Set<DataComponentType>
-
ItemStack#getData(DataComponentType.Value<T> type): T
-
ItemStack#getDataOrDefault(DataComponentType.Value<T> type, T fallback): T
-
ItemStack#hasData(DataComponentType type): boolean
-
ItemStack#getDataTypes(): Set<DataComponentType>
-
ItemStack#setData(DataComponentType.Valued<T> type, DataComponentBuilder<T> valueBuilder)
-
ItemStack#setData(DataComponentType.Valued<T>, T value)
-
ItemStack#setData(DataComponentType.NonValued)
-
ItemStack#unsetData(DataComponentType)
-
ItemStack#resetData(DataComponentType)
-
ItemStack#isDataOverridden(DataComponentType): boolean
-
ItemStack#matchesWithoutData(ItemStack, Set<DataComponentType> excludeTypes): boolean
-
ItemStack#matchesWithoutData(ItemStack, Set<DataComponentType> excludeTypes, boolean ignoreCount): boolean
-
ItemStack#editData(DataComponentType.Valued<T> type, Function<T, T>)
-
Registry.DATA_COMPONENT_TYPE: Registry<DataComponentType>
-
RegistryKey.DATA_COMPONENT_TYPE: RegistryKey<DataComponentType>
-
ItemType#getDefaultData(DataComponentType.Valued<T> type): T
-
ItemType#hasDefaultData(DataComponentType type): boolean
-
ItemType#getDefaultDataTypes(): Set<DataComponentType>
No longer internal:
-
BlockType
Learn Paper Dev is licensed under CC BY-NC-SA 4.0