Adds support for armor trims and custom patterns for date and time keywords.
Details
This PR addresses issues reported on Discord, documented in #5799, and encountered personally when using armor trims in kits and even worse with with keywords. While enabling use-nbt-serialization-in-createkit fixed the trim issue, it prevented the use of keywords in item lore. Additionally, I've added support for customizable date and time keyword patterns, a feature recently requested by Discord users.
Proposed feature:
Add compatibility with armor trims in kits and introduce customizable patterns for date and time keywords.
Environments tested:
OS: Ubuntu 22.04 LTS and Windows 10.
Java version: ❯ openjdk 21.0.6 2025-01-21 LTS OpenJDK Runtime Environment Zulu21.40+17-CA (build 21.0.6+7-LTS) OpenJDK 64-Bit Server VM Zulu21.40+17-CA (build 21.0.6+7-LTS, mixed mode, sharing)
- [x] Paper 1.21.4 - 231
Demonstration:
Create a kit that contains armor with trim and you will get a result similar to this:
demonstration:
delay: 0
items:
- netherite_boots 1 trim:silence|gold
- netherite_leggings 1 trim:wayfinder|diamond
- netherite_chestplate 1 trim:dune|emerald
- netherite_helmet 1 trim:sentry|redstone
Trim format: pattern|material
The supported patterns and materials are basically what Minecraft has available. The format created is self-sustaining and does not depend on a list, so when Minecraft updates, the list of supported patterns and materials will update.