Java Edition 23w04a

23w04a is the second snapshot for Java Edition 1.19.4, released on January 24, 2023, which adds smithing templates, and fixes bugs.

Command format

 * Added a new relation for, which can select:
 * Shooter, if the executing entity is a projectile (like arrow, fireball, trident, firework, thrown potion, etc.)
 * Thrower, if the executing entity is an item.
 * Source of effects, if the executing entity is an area effect cloud.
 * Igniter, if the executing entity is a primed TNT.
 * Summoner, if the executing entity is evoker fangs or a vex.
 * Summoner, if the executing entity is evoker fangs or a vex.

Items

 * General
 * Enchantment glint on items and armor is now more subtle.
 * Placeholder icons for empty slots such as armor or in a brewing stand have been lightened.
 * Change has not been applied to the loom menu.
 * Setting the resource pack to programmer art does not revert this change (despite the change being made to the textures themselves).

Items

 * Smithing Templates
 * New item series for armor trimming and netherite upgrading, with twelve of them.
 * Netherite Upgrade Smithing Template.png Netherite Upgrade
 * Armor Trim:
 * Coast Armor Trim Smithing Template.png Coast Armor Trim
 * Dune Armor Trim Smithing Template.png Dune Armor Trim
 * Eye Armor Trim Smithing Template.png Eye Armor Trim
 * Rib Armor Trim Smithing Template.png Rib Armor Trim
 * Sentry Armor Trim Smithing Template.png Sentry Armor Trim
 * Snout Armor Trim Smithing Template.png Snout Armor Trim
 * Spire Armor Trim Smithing Template.png Spire Armor Trim
 * Tide Armor Trim Smithing Template.png Tide Armor Trim
 * Vex Armor Trim Smithing Template.png Vex Armor Trim
 * Ward Armor Trim Smithing Template.png Ward Armor Trim
 * Wild Armor Trim Smithing Template.png Wild Armor Trim
 * They can be obtained randomly from chests generated in structures accordingly.
 * Exceptions:
 * While randomly generated in other rooms, a netherite upgrade smithing template is also guaranteed in every treasure room in a bastion remnant.
 * A single tide armor trim smithing template is sometimes dropped by elder guardians upon death.
 * Some armor trims are rarer.
 * Consumed when used to upgrade an item in the smithing table.
 * Can not be crafted directly, but can make a copy of them by crafting in crafting tables as following pattern:
 * 7 diamonds, shaped as iron ingots in cauldron crafting recipe.
 * 1 block of material that the template is made out of, placed in the center slot of the crafting grid.
 * 1 smithing template, placed in the remaining slot.

General

 * Data pack
 * Added registry and, which defines trim patterns and materials respectively, to allow add them via data packs.
 * These are synchronized to clients when they join the server, but the accompanying resource pack is required on client to make them visible.
 * The paths to these textures are inferred based on the filename of the pattern json, and will try to find the textures within the same namespace as the trim pattern's field.
 * defines following data:
 * : a namespaced ID used to infer texture locations and localization.
 * : the ID of the smithing template item used to apply the trim pattern.
 * : a text component used for displaying the pattern name of an armor trim when hovering an armor itemstack.
 * defines following data:
 * : a string used as a suffix for armor trim texture locations.
 * : the ID of the ingredient item used to apply the trim material.
 * : a float number which defines the item model override each armor item model should target to change their visuals for this material.
 * : an optional ID of the armor material this trim material cannot be applied to.
 * : a text component used for displaying the material name of an armor trim when hovering an armor itemstack.
 * The style defined in this description is applied to the armor trim pattern as well.


 * player.dat format
 * Added new flag (value 128) to NBT field for hiding armor trim item tooltips.


 * Recipe
 * Added recipe serializers for the updated netherite upgrade and the new armor trim recipe respectively.


 * Resource pack
 * Added, which is a new type of atlas configuration source used to dynamically generate new textures in memory based on a set of color palettes.
 * Color palettes allows to swap out the colors of a texture without having to supply all files for the variants of a texture in a resource pack.
 * This is useful for things like armor trims. It can change the their color directly without create a new texture for each color.
 * The source has a set of required parameters:
 * : a list of namespaced locations of base textures.
 * These textures will be used to generate variants of them that have been modified by color palettes.
 * : a namespaced location of a color palette key file.
 * A color palette key is used to define the set of key pixel colors we want to swap out with the color palettes defined below.
 * : a map of permutations from suffix to a namespaced location of a color palette file.
 * The suffix is appended at the beginning to the resource location of the output variant textures, with a character separating the suffix and the base texture name.
 * The color palette is a texture file with a set of pixels that are used for replacing pixels that match the color palette key in each base texture.
 * The number of pixels in each color palette must be the same as that of the defined for this source.
 * Key matching is done by comparing the RGB values of each pixel in the to the RGB values of each pixel in the color palette.
 * Alpha channel is ignored for key matching, but in the resulting texture the alpha channel is multiplied with the color palette's alpha channel.
 * Pixels that do not match the are copied over to the resulting texture as-is.
 * After defining a source, those namespaced output textures can be referenced in other resources in resource pack.
 * For example, if the following source exists:
 * The resulting textures can be referenced in other resources like this:
 * The resulting textures can be referenced in other resources like this:


 * Tag
 * Added following item tags:
 * : contains.
 * : contains.
 * : contains.

Items

 * Armor
 * Now can be visually customized with a variety of unique trims at the smithing table, except leather armor.
 * Purely visual with no gameplay benefits, and can only be applied to helmets, chestplates, leggings and boots.
 * All trim patterns are visually the same on an armor's item icon, but the color will still change based on the trim material.
 * The name of the trim pattern will be displayed on the item's tooltip.
 * Armor trim has 2 properties: pattern and material.
 * Pattern: Defined by the smithing template used to apply the trim, and represents the visual pattern of the trim.
 * Material: Defined by what ingredient is used to apply the trim, and represents the color of the trim.
 * Available ingredients:
 * Armor cannot have the same material it is made of applied to it as a trim.
 * Armor cannot have the same material it is made of applied to it as a trim.
 * Armor cannot have the same material it is made of applied to it as a trim.
 * Armor cannot have the same material it is made of applied to it as a trim.
 * Armor cannot have the same material it is made of applied to it as a trim.
 * Armor cannot have the same material it is made of applied to it as a trim.
 * Armor cannot have the same material it is made of applied to it as a trim.
 * Armor cannot have the same material it is made of applied to it as a trim.
 * Armor cannot have the same material it is made of applied to it as a trim.
 * Armor cannot have the same material it is made of applied to it as a trim.
 * Armor cannot have the same material it is made of applied to it as a trim.

Gameplay

 * Smithing Table functionality
 * Redesigned: it is now a workstation for physical equipment upgrades and modifications.
 * Added a slot used by smithing templates to the left of the old 2 slots.
 * Smithing templates define what type of upgrade that will be making to equipment.
 * It specifies both what type of items that can upgrade, and which ingredients are valid to customize the upgrade.
 * Netherite equipment crafting now also requires a netherite upgrade smithing template.
 * Two menu types:
 * Old menu without the smithing template slot has been renamed to, and will be removed when armor trims are no longer an experimental feature.
 * New menu with smithing template slot was added, called.

Video
Video made by slicedlime:

Trivia

 * Unlike most of the first-of-the-week snapshots, this one was released on a Tuesday, instead of a Wednesday.