|
| 1 | +pack breaking | Data pack format has been increased to 84.0 |
| 2 | + |
| 3 | +pack breaking | Resource pack format has been increased to 66.0 |
| 4 | + |
| 5 | +component block-entity | Player profiles in data components and block entities no longer resolve automatically |
| 6 | + |
| 7 | +command | Added `fetchprofile` command for downloading player profiles |
| 8 | +* New command that has been added to fetch the contents of a player profile from Minecraft servers |
| 9 | +* Since the operation might take some time, it works asynchronously |
| 10 | + * Results will be printed only when operation finishes, but the game will keep running unpaused |
| 11 | +* After successful completion, a message will be printed that lets users copy the contents of a fully resolved `minecraft:profile` component or `/give @s minecraft:player_head` with said component |
| 12 | +* Since the result is not known at the time of execution, this command always returns `1` |
| 13 | +* Syntax: |
| 14 | + * `fetchprofile name <player name>` - resolves profile by name (case-insensitive) |
| 15 | + * `fetchprofile id <uuid>` - resolves profile by id |
| 16 | + |
| 17 | +blockstate | Removed `align_items_to_bottom` block state property from Shelf block |
| 18 | +* It has been replaced with an equally named boolean field on the Shelf block entity |
| 19 | +* Shelves created with this property set in the last snapshot will reset back to the default value (`false`) |
| 20 | + |
| 21 | +component | Modified `minecraft:profile` |
| 22 | +* Previously contents of this component would permanently change when profile was resolved, i.e. downloaded from Minecraft service |
| 23 | +* To avoid issues with this unexpected change, the resolved value is no longer stored and contents of the profile will always remain unchanged |
| 24 | +* That means this component has now two behaviors: |
| 25 | + * Static: when it has `properties` field or when both `name` and `id` are present or when both are missing |
| 26 | + * In this state, profile will always render as-is |
| 27 | + * If `properties` field is missing, a default skin will be used (selected based on `id`, same as in offline mode) |
| 28 | + * That means skin will be frozen at the moment of component creation |
| 29 | + * This option is preferred for decorational uses |
| 30 | + * Dynamic: when it has either `name` or `id` (but not both) |
| 31 | + * When an item containing this profile is rendered on the client side, the profile will be resolved to most recent value |
| 32 | + * This means that this item will always render with current skin of targeted player |
| 33 | + * Note: if a player changes skin while game is running, change will not be visible unless clients restart |
| 34 | + * Resolution might happen with a delay, during which item will render with a default skin |
| 35 | + * Profile name will replace item name only when it's present |
| 36 | + * Items with just `id` will show default name |
| 37 | + * Items will dynamic profiles be distinguished from static ones with label in tooltip |
| 38 | +* Items stack based on exact contents, so even if a dynamic component is eventually resolved to the same profile as a static one, they won't stack together |
| 39 | +* Player heads in older maps that have not been loaded in never versions yet will usually be converted to dynamic contents |
| 40 | + |
| 41 | +block-entity | Modified `minecraft:skull` |
| 42 | +* `profile` field has been changed to match `minecraft:profile` component |
| 43 | + * That means that it also becomes immutable and is resolved only when necessary |
| 44 | + |
| 45 | +text | Bold and italics styles are ignored when drawing sprites |
0 commit comments