Releases: KyoriPowered/adventure
Releases · KyoriPowered/adventure
🌏 Adventure 4.4.0
Additions ✨
- #228 - Add JetBrains
@Contract
annotation to some methods - #240 - nbt: Add the ability to add multiple tags to a
CompoundBinaryTag
- #241 - nbt: Add
BinaryTagLike
interface - dccfc46 - nbt: Implement
toString
in binary tags - #247 - nbt: Add
getList
methods toListBinaryTag
- #248 - nbt: Add
from(Iterable)
andadd(Iterable)
methods toListBinaryTag
- #229 - api: Expand javadocs (thanks @KingOfSquares)
Fixes 🐛
- #233 - api: Correct handling of children in some text replacements
- #252 - Do not exclude Component#empty from the children of TranslatableComponent
- #257 - serializer-gson: Change output ordering to match the order of Vanilla components
nbt
: Resolve a security vulnerability that could lead to denial of service when loading specially crafted input
Changes 🔧
🌏 Adventure 4.3.0
🌏 Adventure 4.2.0
Additions ✨
- #183 - Introduce support for Configurate 4
- #190 - nbt: Add array access and stream methods for tags
- #200 - api: Add a builder for replacement config
- #211 - Add a BOM for version alignment across submodules
Fixes 🐛
- #193 - Ignore
null
values forHoverEvent
NBT tag when deserialising usingtext-serializer-gson
- #196 - Properly reset decorations when serialising to legacy format
- #199 - api: Fix handling of first replacements in child components
- #213 -
@NonNull
contract not being followed when usingGsonComponentSerializer
to deserilise "null"
Changes 🔧
- Deprecate usage of
percent
inBossBar
, introduceprogress
instead - Deprecate old
replaceText
methods in favour ofreplaceText
methods that useTextReplacementConfig
🌏 Adventure 4.1.1
🌏 Adventure 4.1.0
🍰 The additions
sendMessage
methods have been added toAudience
that use theIdentity.nil()
identity by default - please make sure you are using the correct methods when sending messages
🌏 Adventure 4.0.1
🌏 Adventure 4.0.0
Adventure 4.0.0 is a leap forward for the library previously known as Text. Adventure is a cross-platform library that is designed to simplify using Minecraft: Java Edition user-interface elements across all the major platforms. It also adds support for the latest Minecraft: Java Edition version features to ensure you can develop the best adventures your plugin or server possibly can!
The shiny new things ❇️
- Documentation, available at https://docs.adventure.kyori.net/
- a new
Audience
framework- entry point for displaying/sending content (messages, boss bars, titles, sounds) to viewers, such as a player or the server console
- a standard interface for platforms to implement, useful for cross-platform development
- ability to create and display a
BossBar
- ability to create and display a
Title
- ability to play a
Sound
- ability to use the
Translator
framework for using custom "server-side translations" in anyComponent
-based content
The refactors 🔧
- The package has moved from
net.kyori.text
tonet.kyori.adventure.text
of
andbuilder
methods inComponent
interfaces have moved to theComponent
interface - for example:TextComponent.of("foo")
becomesComponent.text("foo")
TextComponent.builder().content("foo")
becomesComponent.text().content("foo")
- RGB colour support via
TextColor
- The standard colours, previously in
TextColor
, can be found inNamedTextColor
- The standard colours, previously in
- changes to
HoverEvent
required to support Minecraft 1.16
Platform support 🗼
- Bukkit (and forks, such as Paper and Spigot) has a platform adapter available
- BungeeCord has a platform adapter available
- Fabric has a platform adapter available
- SpongeAPI 7.x has a platform adapter available
- SpongeAPI 8.x has native Adventure support - no platform adapter is required
- Velocity 1.1.x has native Adventure support - no platform adapter is required