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 PlayerItemGroupCooldownEventNo 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(extendedKeyedbefore)
#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:
PlayerItemCooldownEventtoPlayerItemGroupCooldownEvent
#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