{"title":"Minecraft Snapshot 23w32a","type":"snapshot","version":"23w32a","image":{"url":"/v2/images/1KyhSzRU6tRIaGlauySjqm23w32a.jpeg","title":"23w32a"},"body":"<p>Hello! This very technical snapshot contains vibration changes, data pack and resource pack changes, some network optimizations, new debug tools, and a some bug fixes. Enjoy!</p>\n<h1>Changes</h1>\n<ul>\n<li>Changes to vibration mechanic</li>\n</ul>\n<h2>Vibrations</h2>\n<ul>\n<li>Vibrations no longer risk being lost on simulation distance limit</li>\n<li>Unequipping items emits a new <code>unequip</code> vibration of frequency 4</li>\n<li>Chiseled Bookshelves emit a <code>block_change</code> vibration of frequency 11 when receiving books from Hoppers</li>\n<li>Turtle Eggs cracking emit a <code>block_change</code> vibration of frequency 11</li>\n<li>Turtle Eggs hatching emit a <code>block_destroy</code> vibration of frequency 12</li>\n<li>Using Bone Meal emits an <code>item_interact_finish</code> vibration of frequency 3</li>\n<li>Fire being doused by Water Potion emits a <code>block_destroy</code> vibration of frequency 12</li>\n<li>Evokers evoking Vexes or Fangs emit an <code>entity_place</code> vibration of frequency 14</li>\n<li>Carrots being eaten by Rabbits emit a <code>block_change</code> vibration of frequency 11</li>\n<li>Sweet Berries being eaten by Foxes emit a <code>block_change</code> vibration of frequency 11</li>\n<li>Camels eating Cactus emit an <code>eat</code> vibration of frequency 8</li>\n</ul>\n<h1>Technical Changes</h1>\n<ul>\n<li>The resource pack version is now 17</li>\n<li>A bug involving hunger icons was fixed in the slicer tool released with last snapshot. Here is <a href=\"https://github.com/Mojang/slicer/releases/tag/v1.1.1\" target=\"_blank\" rel=\"noopener noreferrer\">the new version</a></li>\n<li>The data pack version is now 17</li>\n<li>Optimized networking to improve the experience on low bandwidth connections</li>\n</ul>\n<h2>Resource Pack Version 17</h2>\n<ul>\n<li>The text field background is now a nine-sliced sprite at <code>widget/text_field</code> and <code>widget/text_field_highlighted</code></li>\n<li>The scroll bar in lists and text fields is now a nine-sliced sprite at <code>widget/scroller</code></li>\n</ul>\n<h2>Data Pack Version 17</h2>\n<ul>\n<li>Changed mob effect storage on items, entities and block entities</li>\n</ul>\n<h3>Mob effect storage changes</h3>\n<ul>\n<li>Game no longer uses numeric values when storing mob effects to world (so, for example, <code>4</code> becomes <code>minecraft:mining_fatigue</code>)</li>\n<li>Various mob effect fields have been renamed for consistency with new structures</li>\n</ul>\n<h4>Mob Effect Instance</h4>\n<p>This structure is used in many places, so changes are described separately.</p>\n<ul>\n<li><code>Id</code> -> <code>id</code>, also changed from number to string id</li>\n<li><code>Ambient</code> -> <code>ambient</code></li>\n<li><code>Amplifier</code> -> <code>amplifier</code></li>\n<li><code>Duration</code> -> <code>duration</code></li>\n<li><code>ShowParticles</code> -> <code>show_particles</code></li>\n<li><code>ShowIcon</code> -> <code>show_icon</code></li>\n<li><code>HiddenEffect</code> -> <code>hidden_effect</code>, also since it's mob effect instance, changes apply recursively</li>\n<li><code>FactorCalculationData</code> -> <code>factor_calculation_data</code></li>\n</ul>\n<h4>Items</h4>\n<h5><code>potion</code>, <code>lingering_potion</code>, <code>splash_potion</code>, <code>tipped_arrow</code></h5>\n<ul>\n<li><code>CustomPotionEffects</code> -> <code>custom_potion_effects</code>, contents tranformed as a list of mob effect instances</li>\n</ul>\n<h5><code>suspicous_stew</code></h5>\n<ul>\n<li><code>Effects</code> -> <code>effects</code>, for each entry:<ul>\n<li><code>EffectId</code> -> <code>id</code>, also changed from number to string id</li>\n<li><code>EffectDuration</code> -> <code>duration</code></li>\n</ul></li>\n</ul>\n<h4>Entities</h4>\n<h5><code>mooshroom</code></h5>\n<ul>\n<li>Removed <code>EffectId</code> and <code>EffectDuration</code></li>\n<li>Added <code>stew_effects</code> with the same format as <code>suspicious_stew.effects</code> tag (i.e. list of effect id and duration)</li>\n</ul>\n<h5><code>area_effect_cloud</code></h5>\n<ul>\n<li><code>Effects</code> -> <code>effects</code>, contents tranformed as a list of mob effect instances</li>\n</ul>\n<h5><code>arrow</code></h5>\n<ul>\n<li><code>CustomPotionEffects</code> -> <code>custom_potion_effects</code>, contents tranformed as a list of mob effect instances</li>\n</ul>\n<h5>Players, Armor Stands and mobs</h5>\n<ul>\n<li><code>ActiveEffects</code> -> <code>active_effects</code>, contents tranformed as a list of mob effect instances</li>\n</ul>\n<h4>Block Entities</h4>\n<h5><code>beacon</code></h5>\n<ul>\n<li><code>Primary</code> -> <code>primary_effect</code>, also changed from number to string id</li>\n<li><code>Secondary</code> -> <code>secondary_effect</code>, also changed from number to string id</li>\n</ul>\n<h3>Loot Tables</h3>\n<ul>\n<li>Added <code>sequence</code> loot function<ul>\n<li>Contains 1 field:<ul>\n<li><code>functions</code>: an array of sub-functions to run in sequence</li>\n</ul></li>\n<li>Can also be declared as an inline array with out a type<ul>\n<li>This matches the existing behavior where loot function JSON files can be declared as an array of composite functions</li>\n</ul></li>\n</ul></li>\n<li><code>all_of</code> predicates in loot tables can now be declared implicitly as an inline array without a type<ul>\n<li>This similarly matches the existing behavior where loot predicate JSON files can be declared as an array of sub-predicates</li>\n</ul></li>\n</ul>\n<h2>Network optimizations</h2>\n<ul>\n<li>Gameplay packets are now packed into bigger TCP-packets to reduce overhead from TCP-headers, significantly reducing network usage</li>\n<li>Opening the debug screen with CTRL + F3 will now show charts for ping and received network traffic</li>\n</ul>\n<h2>Secure Chat</h2>\n<ul>\n<li>Clients will no longer disconnect themselves when receiving an invalid chat message<ul>\n<li>A placeholder message will instead be shown in chat</li>\n</ul></li>\n</ul>\n","id":"dHng5YpbAngUgFTwB9u5y"}