Promotional Banner


Return to Blog Catalog

Minecraft Snapshot 23W31A Patch Notes & How to Install (August 2nd)

Posted on by brandon
The latest new Minecraft Snapshot update, 23W31A, is the very first peak at Minecraft 1.20.2. Within it, players will get to see a new system for Diamond ore generation, changes to Librarians, Wandering Traders, and more. With that, here is everything you need to know about Minecraft Snapshot 23W31A, its patch notes, and how to install it today! Just get your popcorn ready, because this one's a massive one.

Minecraft Snapshot Update 23W31A Patch Notes (August 2nd)

Be ready for a deep dive, because this snapshot is one of the biggest of the year with tons of changes and new features!

Librarian Changes

Don't celebrate the new Librarian changes too loudly, or you'll be promptly shushed!
  • Librarians from different biomes now sell different Enchanted Books
  • Each village biome has one special enchantment that is only available from Master Librarians with full XP
  • This means that players must visit all seven village biomes to get the full set of villager enchantments
  • There are two secret village biomes where villages do not generate
    • A player must build these villages to access their trades!
  • Some enchantments have been removed from village trading and must be found in other ways
Read over the specifics of these changes below: Minecraft Snapshot 23w31a Librarian Changes

Wandering Trader Changes

Wandering Traders are getting some new value in the new update!
  • Wandering Traders now have lower prices and have a higher amount of each item in stock
  • Wandering Traders now sell Logs
  • Wandering Traders can now buy many items, instead of only selling
Read over the specific value changes for this below: minecraft snapshot 23w31a wandering trader changes

General Changes

Diamond ore, zombie villagers, and more are getting some tweaks this time around.
  • Diamond Ore is now generated more frequently in the Deepslate layers of the Overworld
  • Curing a Zombie Villager now only gives a big discount the first time
    • There is no longer a bonus discount for reinfecting and curing the same Villager multiple times
  • Barrier blocks can now be waterlogged by players in Creative mode
    • Water cannot be placed in them or taken out by non-direct interactions such as Dispensers
  • Players will no longer be able to crouch while riding vehicles
  • Chorus Flower no longer provides support for hanging or standing blocks

Technical Changes

The Minecraft Snapshot 23W31A update addresses the following technical issues.
  • The resource pack version is now 16
  • The data pack version is now 16
  • History of used commands is now saved and accessible across worlds
  • Optimized the way chunks are sent to clients to allow players with low-bandwidth internet connections to play on multiplayer servers
  • Added support for multi-version packs
  • Changed network protocol to allow for more data-driven content in the future
  • Added new log-ips option to
  • Added validation for symbolic links in datapacks and resource packs
  • When hitboxes are displayed through F3+B, entities that have a passenger will display the passenger's attachment point

Command History

  • The last 50 commands that you sent in chat will be remembered across game sessions
  • You can access the command and chat history by pressing up or down arrows in the chat
  • Regular chat is only persisted within the same game session (leaving a server or world clears them)
  • Recent commands are stored in command_history.txt in the game folder

Chunk Sending Optimization

  • Chunks are no longer sent over the network to the client in one big continuous batch
  • They are instead sent in smaller batches depending on the available bandwidth. This means that:
    • Clients with extremely low-bandwidth connections will not time out while loading the world
    • Clients with low-bandwidth connections can interact with the world while some chunks are still loading
  • Only chunks within the client's render distance are now sent

Multi-Version Packs

Datapacks and resource packs are getting changes to affect their compatibility with other versions. Metadata
  • Pack metadata now includes an optional field supported_formats which describes a range for pack formats that this pack supports
    • Examples: 16[16,17]{"min_inclusive": 16, "max_inclusive": 17}
  • pack_format field is still required and its format remains unchanged, to allow older game versions to read pack data
    • If supported_formats is present, it must contain the value declared in pack_format
    • Note: since this new information is ignored by older versions of the game, they will always see a "normal", single-version pack, without any extended compatibility
  • Packs can now contain overlay directories ("overlays")
  • Overlays are sub-packs applied over the "normal" contents of a pack
    • These directories have the same layout as the top-level pack, including the assets and data directories
    • Overlays can be applied if they support the client's pack format
    • Overlays can add and replace files, but not remove them
      • For example, if the overlay foo is applied, the file foo/assets/minecraft/textures/bar.png will replace contents of assets/minecraft/textures/bar.png
    • pack.mcmeta and pack.png are ignored in overlay directories
  • New section called overlays have been added to pack metadata
    • It contains an entries field, containing a list of overlays
    • Every overlay entry has two fields:
      • formats - range of supported formats
      • directory - overlay directory (allowed characters: a-z0-9_ and -)
  • Order of application: overlays are stacked from the bottom to top of the list
    • For example, if a pack has two overlays: "entries": [{"directory":"A", ...}, {"directory":"B", ...}], the game will first look in B, then A and then in the top pack directory

Network Protocol

  • Configuration phase automatically starts after login phase (i.e. after client account has been verified) and lasts until the player joins the world (play phase)
  • Clients can stay in configuration phase indefinitely - it's up to server to release it to the world
  • Servers can also request clients to re-enter the configuration phase after it has entered the play phase
    • Other players will see such clients as disconnected
  • Users in configuration phase will not be visible on the player list
  • Actions allowed in configuration phase (moved from play phase)
    • Configuration of data-driven registries
    • Configuration of enabled features
  • Actions shared between configuration and play phases:
    • Application of server resource packs
    • Update of tags
    • Exchange of custom packets
    • Ping and keep-alive packets
  • The server will now negotiate resource pack in the configuration phase
    • This means that the player will no longer be in world when answering prompts and reloading resources
  • New option: log-ips (default true)
    • When set to false, will prevent player IPs from being included in the log when players join the game

Symbolic Link Validation

  • This feature expands on symbolic link validation in worlds added in the previous release
  • The game will now warn users if a pack added via drag and drop contains disallowed symbolic links
  • Packs containing disallowed symbolic links will not be visible in UI and commands
  • Additionally, directories and files that are not recognized as packs will no longer be copied via drag and drop
  • Added a button to the Telemetry Data Collection Screen that links to the Microsoft Privacy Statement

Resource Pack Version 16

  • The process of upgrading your pack can be assisted by using this automated Slicer tool
  • All textures containing multiple sprites in a sheet for GUI have been split into individual sprites under textures/gui/sprites (automated by Slicer tool)
  • All textures in the realms namespace have been moved into the minecraft namespace (automated by Slicer tool)
  • villager2.png has been renamed to villager.png (automated by Slicer tool)
  • icon/trial_available and realm_status/expires_soon GUI sprites are animated with .mcmeta declarations instead of individual sprites (automated by Slicer tool)
  • The bundle tooltip background is now drawn as a nine-sliced sprite
  • The icons for the Accessibility, Language, Realms News buttons have been split from their underlying button texture
  • The Realms Invite button is now drawn as an overlay on the normal button texture
    • The highlighted texture state for this button has been removed
  • The highlighted states for Realms invitation number icons have been removed
  • The exclamation marks on the notification\more.png have been removed

GUI Sprite Sheet

  • Sprites used in GUI drawing have been split into individual sprite files instead of larger sprite sheets
    • For example, widgets/button.png and widgets/button_highlighted.png have been split from widgets.png
  • Each sprite can now be individually overriden by a resource pack instead of replacing the entire sheet
  • Sprites are loaded into the gui atlas from the textures/gui/sprites directory
  • Any sprite can now be animated using .mcmeta files, similar to other atlases
    • icon/trial_available and realm_status/expires_soon are now animated this way
  • Sprites in the gui atlas can now configure scaling behavior through a new gui section in .mcmeta files
    • For example, button textures must be scaled based on how big the button should be
    • The gui section in .mcmeta contains one scaling field:
      • type: one of: stretch (default), tile, or nine_slice
      • When stretch, the sprite will be stretched across the desired space
        • No additional fields need to be defined
      • When tile, the sprite will be repeated across the desired space, starting from the top-left
        • width: number of pixels for this sprite to cover on-screen across its width
        • height: number of pixels for this sprite to cover on-screen across its height
      • When nine_slice, the sprite will be sliced into 4 corners, 4 edges, and 1 center slice, which will be tiled across the desired space
        • width: number of pixels for this sprite to cover on-screen across its width
        • height: number of pixels for this sprite to cover on-screen across its height
        • border: the size in pixels that the border slices should cover on-screen, one of:
          • Constant integer for uniform border size on all sides
          • Object containing lefttopright, and bottom

Data Pack Version 16

  • Gamerule randomTickSpeed now affects the rate of accumulation of snow and ice the same way it affects crops and other blocks affected by random ticking
  • Added a random command
  • New form of the execute command: execute if function
  • New form of the return command: return run
  • Added support for function macros
  • Changed Display entities post-teleport interpolation
  • Added new attribute generic.max_absorption
  • Renamed belowName value in display slot argument in scoreboard command to below_name
  • Game event changes
  • New tags
  • A new command for randomizing values and controlling random sequences. The value and roll forms can be used to draw a random value. In the case of roll, the resulting value is also shown in chat for all players. You can read about how these function and other technical details surrounding the data pack and new syntax functionality here.

Bug Fixes

The Minecraft Snapshot 23W31A update addresses the following bugs across the game.
  • MC-29371 - Several buttons and icons use the old tooltip design upon being hovered over
  • MC-67532 - Bottom 2 rows of pixels in selected hotbar slot texture don't appear in game
  • MC-69387 - The "/item" command cannot replace items within jukeboxes
  • MC-80876 - Entity riding vehicle has always same offset
  • MC-85582 - Entity models in the inventory can render outside the boundaries of the black box
  • MC-93320 - Water freezes even if randomTickSpeed is 0
  • MC-121772 - Can't scroll while holding SHIFT on macOS
  • MC-122296 - Horizontal scrolling does not work on Mac [Magic Mouse]
  • MC-122547 - Barriers can produce fall particles
  • MC-140646 - Text fields don't scroll while selecting text with Shift
  • MC-147766 - Shift key stays pressed until press any other key
  • MC-164080 - Entities riding on Ghast are partially or fully inside it
  • MC-181190 - The discount for curing a villager is multiplied if the villager is reinfected and cured again
  • MC-190815 - Shulker boxes don't conduct redstone when open, but don't trigger redstone updates when opened
  • MC-215768 - Sculk sensors do not detect turtles clearing away sand
  • MC-228420 - World not loading / falling through the world when joining a server / travelling between dimensions / respawning
  • MC-230732 - Minecraft local difficulty setting is calculated/displayed wrongly when running a world in a server
  • MC-232840 - Baby zombie legs clip through heads of mobs they are riding
  • MC-242076 - The skeleton of a spider jockey sits "inside" of spider model rather than on top of the spider
  • MC-242092 - Texture map for magma cube (magmacube.png) has unused pixels
  • MC-242395 - Texture map for the blaze (blaze.png) contains unused pixels
  • MC-242396 - Texture map for armor stand (wood.png) contains unused pixels
  • MC-242397 - Texture maps for cow, red & brown mooshroom (red/brown_mooshroom.png & cow.png) contain unused pixels
  • MC-242398 - Texture maps for the sheep and sheep fur (sheep.png & sheep_fur.png) contain unused pixels
  • MC-242591 - Texture maps for the Llama and Trader Llama (white/gray/creamy/brown.png) contain unused pixels
  • MC-242592 - Texture map for the polar bear (polarbear.png) contain unused pixels
  • MC-249109 - Sniffers, frogs, goats, and camels don't panic when attached to leads
  • MC-252231 - Warm Frog texture has inconsistent pixels
  • MC-254100 - Iron golem spawn rate decreased
  • MC-255967 - Old chunks that would have Deep Dark biomes below Y=0 if generated newly doesn't completely generate; only Ancient Cities are spawned
  • MC-256466 - Raft entities are named boats
  • MC-256482 - Sculk sensors are not activated upon camels standing up or sitting down
  • MC-256485 - Camels that spawn within villages can spawn inside blocks
  • MC-256641 - Bamboo fence and fence gate aren't grouped with the other fences and fence gates in the crafting table
  • MC-256675 - Z-fighting occurs between the legs of the camel and the texture of the saddle when it is sitting
  • MC-256690 - Camels attempt to stand up when blocks are placed over them, causing them to take suffocation damage if blocks are at eye level
  • MC-257342 - You get slowed down when riding a camel in a 3 block tall area
  • MC-257431 - Bamboo fence gates utilize the wrong textures
  • MC-257628 - Sculk sensors are not activated upon camels dashing
  • MC-258379 - Parity issue: The locations of camels' ears differ across platforms
  • MC-258620 - Piglins barter every 121 game ticks instead of every 120 game ticks
  • MC-259152 - Player's model displayed in inventory while sneaking differs between the versions
  • MC-259382 - Message "Failed to get element" is logged repeatedly when giving yourself armor with invalid trimming pattern or material
  • MC-259401 - Lapis lazuli icons in enchanting table and smithing table are inconsistent
  • MC-259452 - Baby Camel's laying down/getting up sounds are not sped up
  • MC-259769 - Firework explosions no longer deal knockback to entities
  • MC-259794 - Armor enchanted with curse of binding cannot be swapped via right-clicking in creative mode
  • MC-260054 - Pink Petals hitbox does not adjust to contents
  • MC-260058 - Pick Block does not work properly for blank decorated pots
  • MC-260085 - Particles are created when using a brush on a barrier
  • MC-260096 - Decorated pots don't have creative mode tooltips
  • MC-260485 - The "/item" command cannot remove items within chiseled bookshelves
  • MC-260490 - Passenger's riding position is too low for non-default-sized mobs
  • MC-260604 - Terrible loudness following consecutive use of /fill
  • MC-260675 - Decorated pots render blank on the first frame after being placed
  • MC-260968 - The narrator does not narrate the word "Experimental" in the world selection screen
  • MC-261123 - item_display entity breaks certain mobs' AI when being used as a passenger
  • MC-261182 - Sign color looks different in world and in editing screen
  • MC-261369 - Washed banner does not stack with blank banner
  • MC-261411 - All Smithing Templates share the same translation key
  • MC-261420 - Sculk sensor and calibrated sculk sensor don't detect a witch drinking a potion
  • MC-261427 - Sculk sensors and calibrated sculk sensors don't detect totem of undying activating
  • MC-261440 - Resizing the window makes it so you can't change names in anvils
  • MC-261611 - Placing blocks against a waxed sign does not play the block's placement sound
  • MC-261657 - Sculk sensor range is still spherical, creating different outputs from within a given block
  • MC-261739 - Bamboo raft next to visually half blocks z-fights
  • MC-261965 - The "Glow and Behold!" advancement is granted when interacting with empty signs while holding glow ink sacs, despite no glow ink sacs being consumed
  • MC-262108 - Smithing table GUI issue with custom recipes
  • MC-262132 - Pigstep music disc is in wrong location in the creative menu
  • MC-262295 - Warped and Crimson hanging signs uses their respective plank sounds, despite their stripped stems having unique sounds
  • MC-262436 - Copying a pot in creative does not save NBT data
  • MC-262442 - Camels stand a bit too close to players that are tempting them
  • MC-262613 - Mobs can't control some rideable mobs
  • MC-262615 - Ridden camels need to be equipped with a saddle before they can be moved by mob control which is inconsistent with other rideable mobs
  • MC-262620 - Llamas and trader llamas need to be tamed in order to be ridden by the mob which is inconsistent with other rideable mobs
  • MC-262636 - Mobs with passengers that are slimes or magma cubes can't move and don't function correctly
  • MC-262638 - When a "Size:0" slime and magma cube rides on some mobs the rendering position is too low
  • MC-262720 - One of the pink petals' stems has an incomplete model
  • MC-262751 - Blank decorated pot's NBT depends on method used to obtain it
  • MC-262766 - NBSP is a valid invisible character that can be added into Book titles so that they have blank names
  • MC-262804 - Players' swimming animations are jittery for other players
  • MC-262947 - The "Smithing with Style" advancement doesn't grant experience upon completion
  • MC-263011 - Sniffers can sniff out and follow players from incredibly large distances
  • MC-263049 - Camels indefinitely dash while in lava
  • MC-263126 - Sponges no longer make a sound when absorbing water
  • MC-263200 - Entities riding baby sniffers render too high
  • MC-263283 - Loading a 1.12.2 structure block with signs on 1.20 removes the text
  • MC-263313 - You cannot use the TAB key to initially create a realm
  • MC-263322 - When a camel walks on suspicious sand, the sound produced is "camel steps" instead of "camel sands"
  • MC-263387 - The chat scroll bar no longer renders
  • MC-263430 - Memory leak in TickingTracker
  • MC-263833 - Minecraft is incorrectly assuming it is able to set the window icon on Wayland
  • MC-263879 - Open shulker boxes transmit redstone power
  • MC-264356 - Sniffers attached to a lead will dig in the same spot forever, ignoring "explored positions"
  • MC-264467 - GUI texture "villager2.png" contains unused sections
  • MC-264468 - GUI texture "legacy_smithing.png" still present in game files despite not being used anymore

How to Install Snapshot Updates in Minecraft

For players looking to test these upcoming features from Minecraft 1.20.2, here's how to install Snapshot 23W31A and get started! First, go to the Minecraft Launcher and enable snapshots in your Installations tab, then add it via the New Installation button. This should then allow you to select the Latest Snapshot.  Once you're in, it's advised that you create a new world to test the new content, as it has the potential to corrupt old saves. Once you select Create New World, select Datapacks, enable the snapshot there, and you're good to go!
Get Started with a
Minecraft Server

Looking to create your own gaming server? It only takes a few minutes.

You Might Also Like

blog loading icon
Search our blog

Join our Discord!

20,000+ Members & Growing!

Join our DiscordDISCORD
Share our blog

Start your Minecraft server

Looking to create your own gaming server? It only takes a few minutes.

What do you think?

0 Responses
It's okayIt's Okay
It's okayPerfect
It's okayLoved it!