{{Infobox version |title=Minecraft 23w04a |image=23w04a.jpg |image2=Java Edition 23w04a.png |edition=Java |type=Snapshot |date=January 24, 2023 |jsonhash=6805751cb57fcb5a2f6fc24740d22b073e1536be |clienthash=2623aee01948e8ed29b3a52e5504c4d1fd63c7ae |clientmap=4ef420245e54a29c2bbd38caf3d8d66964610756 |serverhash=2f31a8584ec1e70abd2d8b22d976feb52a6a3e31 |servermap=868745891d933db0ae97afd7046416a2af961e86 |parent=1.19.4 |prevparent=1.19.3 |prev=23w03a |next=23w05a |nextparent=1.19.4 }} '''23w04a''' is the second [[snapshot]] for [[Java Edition 1.19.4]], released on January 24, 2023,{{snap|23w04a|January 24, 2023}} which adds [[smithing template]]s, and fixes bugs. == Additions == === Command format === ; {{cmd|execute}} * Added a new relation origin for {{cmd|link=none|execute on}}, 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 (entity)|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]]. == Changes == === Items === ; General * Enchantment glint on items and armor is now more subtle. === General === ; User interface * 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). == Experimental == These additions and changes only take effect when the 1.20 experimental data pack is enabled. === Additions === ==== Items ==== ; [[Smithing template]]s * New item series for armor trimming and netherite upgrading, with twelve of them. ** [[File:Netherite Upgrade Smithing Template JE1 BE1.png|32px]] [[Netherite upgrade]] ** Armor trims: *** [[File:Coast Armor Trim Smithing Template JE1 BE1.png|32px]] [[Coast armor trim]] *** [[File:Dune Armor Trim Smithing Template JE1 BE1.png|32px]] [[Dune armor trim]] *** [[File:Eye Armor Trim Smithing Template JE1 BE1.png|32px]] [[Eye armor trim]] *** [[File:Rib Armor Trim Smithing Template JE1 BE1.png|32px]] [[Rib armor trim]] *** [[File:Sentry Armor Trim Smithing Template JE1 BE1.png|32px]] [[Sentry armor trim]] *** [[File:Snout Armor Trim Smithing Template JE1 BE1.png|32px]] [[Snout armor trim]] *** [[File:Spire Armor Trim Smithing Template JE1 BE1.png|32px]] [[Spire armor trim]] *** [[File:Tide Armor Trim Smithing Template JE1 BE1.png|32px]] [[Tide armor trim]] *** [[File:Vex Armor Trim Smithing Template JE1 BE1.png|32px]] [[Vex armor trim]] *** [[File:Ward Armor Trim Smithing Template JE1 BE1.png|32px]] [[Ward armor trim]] *** [[File:Wild Armor Trim Smithing Template JE1 BE1.png|32px]] [[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 guardian]]s 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 table]]s 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 trim_pattern and trim_material, 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 try to find the textures within the same namespace as the trim pattern's name field. * trim_pattern defines following data: ** asset_id: a namespaced ID used to infer texture locations and localization. ** template_item: the ID of the smithing template item used to apply the trim pattern. ** description: a text component used for displaying the pattern name of an armor trim when hovering an armor itemstack. * trim_material defines following data: ** asset_name: a string used as a suffix for armor trim texture locations. ** ingredient: the ID of the ingredient item used to apply the trim material. ** item_model_index: a float number which defines the item model override each armor item model should target to change their visuals for this material. ** incompatible_armor_material: an optional ID of the armor material this trim material cannot be applied to. ** description: 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 description as well. ; [[player.dat format]] * Added new flag (value 128) to HideFlags NBT field for hiding armor trim item tooltips. ; [[Recipe]] * Added smithing_transform and smithing_trim recipe serializers for the updated netherite upgrade and the new armor trim recipe respectively. ; [[Resource pack]] * Added paletted_permutations, 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 paletted_permutations source has a set of required parameters: *** textures: a list of namespaced locations of base textures. **** These textures are used to generate variants of them that have been modified by color palettes. *** palette_key: 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. *** permutations: 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 palette_key defined for this source. **** Key matching is done by comparing the RGB values of each pixel in the palette_key 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 palette_key are copied over to the resulting texture as-is. ** After defining a paletted_permutations source, those namespaced output textures can be referenced in other resources in resource pack. *** For example, if the following paletted_permutations source exists: **** { "type": "paletted_permutations", "textures": [ "minecraft:item/leather_helmet", "minecraft:item/leather_chestplate", "minecraft:item/leather_leggings", "minecraft:item/leather_boots" ], "palette_key": "minecraft:colormap/color_palettes/leather_armor_color_key", "permutations": { "red": "minecraft:colormap/color_palettes/red", "green": "minecraft:colormap/color_palettes/green", "blue": "minecraft:colormap/color_palettes/blue" } } *** The resulting textures can be referenced in other resources like this: **** { "textures": { "layer0": "minecraft:item/leather_helmet_red", "layer1": "minecraft:item/leather_chestplate_green", "layer2": "minecraft:item/leather_boots_blue" } } ; [[Tag]]s * Added following item tags: ** #trim_materials: contains {{cd|d=and|amethyst_shard|copper_ingot|diamond|emerald|gold_ingot|iron_ingot|lapis_lazuli|netherite_ingot|quartz|redstone}}. ** #trim_templates: contains {{cd|d=and|coast_armor_trim_smithing_template|dune_armor_trim_smithing_template|eye_armor_trim_smithing_template|rib_armor_trim_smithing_template|sentry_armor_trim_smithing_template|snout_armor_trim_smithing_template|spire_armor_trim_smithing_template|tide_armor_trim_smithing_template|vex_armor_trim_smithing_template|ward_armor_trim_smithing_template|wild_armor_trim_smithing_template}}. ** #trimmable_armor: contains {{cd|d=and|chainmail_boots|chainmail_chestplate|chainmail_helmet|chainmail_leggings|diamond_boots|diamond_chestplate|diamond_helmet|diamond_leggings|golden_boots|golden_chestplate|golden_helmet|golden_leggings|iron_boots|iron_chestplate|iron_helmet|iron_leggings|netherite_boots|netherite_chestplate|netherite_helmet|netherite_leggings|turtle_helmet}}. === Changes === ==== 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 [[helmet]]s, [[chestplate]]s, [[leggings]] and [[boots]]. ** All trim patterns are visually the same on an armor's item icon, but the color still changes based on the trim material. ** The name of the trim pattern is 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: **** {{ItemLink|Amethyst shard}} **** {{ItemLink|Copper ingot}} **** {{ItemLink|Diamond}} **** {{ItemLink|Emerald}} **** {{ItemLink|Gold ingot}} **** {{ItemLink|Iron ingot}} **** {{ItemLink|Lapis lazuli}} **** {{ItemLink|Nether quartz}} **** {{ItemLink|Netherite ingot}} **** {{ItemLink|Redstone dust}} *** 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 is made 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 legacy_smithing, and will be removed when armor trims are no longer an experimental feature. ** New menu with smithing template slot was added, called smithing. == Fixes == {{fixes|fixedin=23w04a |;From released versions before 1.19 |198809|Blast Protection does not reduce explosion knockback except at very high levels. |;previous |259189|Narrator: Not Available isn't grayed out on accessibility splash. |259204|All goat horns display as Ponder goat horns and play the Ponder instrument. |259211|You cannot select incompatible resource packs within the resource packs menu via keyboard navigation. }} == Video == {{Slicedlime|ke5JZDUDuCw}} == Trivia == * Unlike most of the first-of-the-week snapshots, this one was released on a Tuesday, instead of a Wednesday. == References == {{Reflist}} == Navigation == {{Navbox Java Edition versions|1.1x}} [[de:23w04a]] [[es:Java Edition 23w04a]] [[fr:Édition Java 23w04a]] [[ja:Java Edition 23w04a]] [[lzh:二三週〇四甲]] [[pt:Edição Java 23w04a]] [[ru:23w04a (Java Edition)]] [[zh:23w04a]]