Skip to main content

The changelogs for Minecraft 1.18 'Caves and Cliffs Update' Part Two include dozens of changes

Minecraft Caves And Cliffs Update 1.18 Experimental Snapshot 4 Image
Minecraft Caves And Cliffs Update 1.18 Experimental Snapshot 4 Image (Image credit: Mojang Studios | Twitter)

What you need to know

  • 1.18 'Caves and Cliffs Update' Part Two is the latest content update for Minecraft, and it's now available.
  • On Tuesday, Mojang Studios is also releasing the detailed changelogs for the ambitious update.
  • The changelog for 1.18 'Caves and Cliffs Update' Part Two includes dozens of new features, changes, and fixes for Minecraft players.
  • The Minecraft: Bedrock Edition changelog is already here, and the Minecraft: Java Edition changelog should arrive shortly.

A monumental day for any Minecraft player, Mojang Studios is officially releasing 1.18 Caves and Cliffs Update Part Two after months of testing. The Caves and Cliffs Update is finally complete, and Mojang is dropping the changelogs to prove it. 1.18 Caves and Cliffs Update Part Two includes dozens of alterations and bug fixes for players to explore and enjoy, including sweeping changes to world generation and biomes.

The changelog for Minecraft: Bedrock Edition 1.18 Caves and Cliffs Update Part Two is already available. The changelog for Minecraft: Java Edition 1.18 Caves and Cliffs Update Part Two also released a little while later.

Minecraft is well-known as one of the best Xbox games you can play, a commonly held assertion that's even more grounded with the public release of 1.18 Caves and Cliffs Update Part Two. This gargantuan update includes a ton of new features that combine with its predecessor, 1.17 Caves and Cliffs Update Part One, to become one of the most ambitious and large-scale Minecraft updates yet. If you want to jump to a specific Minecraft edition, here are the 1.18 changelogs for Minecraft: Bedrock Edition and Minecraft: Java Edition.

Minecraft: Bedrock Edition 1.18 Caves and Cliffs Update Part Two

New features

Increased world height & depth

  • Overworld height and depth for new and existing worlds has been extended to y320 and y-64, opening up more space to explore and build in

World blending

  • Players can now update existing worlds to include the new overworld height dimensions and world generation features
  • The bedrock layer at y0 below saved chunks will be replaced with Deepslate and feature new cave generation underneath
  • Biomes and terrain generating across new and existing chunk borders will blend seamlessly, creating natural-looking environmental transitions

Terrain & mountain generation

  • Terrain shape and elevation is no longer always determined by biome, resulting in new biome placements such as deserts on top of hills
  • Mountains are taller than ever and can now generate up to a maximum height of 256 blocks

Biomes, 3D biome generation, & biome distribution

  • Added 3D biomes — cave biomes can now generate directly below surface biomes
  • New cave and mountain biomes added, including Jagged Peaks, Meadows, Lush Caves and Dripstone Caves

Cave generation

  • Added noise caves — the three primary types of noise caves are large, open Cheese Caves, wide, tunnelling Spaghetti Caves and the narrow, winding Noodle Caves
  • Added aquifers — these create local level bodies of water such as flooded caves or underground lakes

Ore distribution & large ore veins

  • Added large ore veins — these long formations stretch through cave systems and contain larger deposits of ore than the clusters usually found underground
  • Ore distribution has been adjusted to compensate for the new world height

Mob spawning

  • Monsters will now only spawn in complete darkness. Players can spawn-proof dark areas such as caves using light sources

Music

  • Added new music by Lena Raine and Kumi Tanioka
  • Added a new music disc from Lena Raine titled "otherside". This can be found rarely in Stronghold corridor chests or much more rarely in Dungeon chests
  • Mobile players: To hear the new music, you will need to download the updated Minecraft Original Music Pack, available free from Marketplace

Achievements & Trophies

  • Caves & Cliffs — Freefall from the top of the world (build limit) to the bottom of the world and survive
  • Feels Like Home — Take a Stringer for a long ride on a lava lake in the Overworld
  • Sound of Music — Make the Meadows come alive with the sound of music from a jukebox
  • Star trader — Trade with a villager at the build height limit

Changes

Vanilla experiments

  • Added new "Vanilla Experiments" experimental toggle containing some blocks and items from The Wild Update, coming in 2022
    • Goat Horn
    • Sculk
    • Sculk Vein
    • Sculk Catalyst
    • Sculk Shrieker
    • Sculk Sensor
  • Be sure to backup your worlds before enabling experimental toggles

"Old" world type

  • Removed "Old" world type from the world creation screen
  • Locked Old worlds to BaseGameVersion 1.17.40
  • Existing Old worlds are still playable but will not be updated with 1.18 features
  • Added a new main menu panorama showing the beautiful cliffs of the Overworld

Android external storage

  • Players with external storage will be migrated to new location at start up, due to storage changes required by Google. You can still play if migration fails by closing the results window
  • With external storage being migrated to its new location in preparation for Google's new API requirements, you will now lose your data if you uninstall Minecraft, unless you check the box indicating you want to keep your data. We recommend checking this box if you wish to keep your worlds in the event you choose to reinstall Minecraft

Known issues

  • New world generation in this release is currently incompatible with the 'Creation of Custom Biomes' experimental toggle. Expect worlds with custom biome generation to be potentially unstable and for custom biomes to only exist in currently saved out areas of the world
  • World generation for the Minecraft Overworld has changed entirely with this release. This means old seeds will no longer spawn players in the same positions when playing 1.18. If creators are version locked to an old version of the game, their seeds will generate worlds as they were prior to 1.18

Fixes

Performance & stability

  • Fixed several crashes that could occur during gameplay
  • Fixed a crash that could occur when loading certain world chunks
  • Fixed a crash that could occur when going through portals with tamed pets
  • Optimized the time it takes to place Vines in the Overworld during world generation

General

  • Replaced the missing "Always Day" option in world settings
  • Players with higher than recommended render distance settings are now prompted to change it to the recommended value
  • Render distance default and max settings have been updated for better performance, including improvements to the slider in video settings
  • A prompt now warns players that they will be taken back to the main menu if they sign-in while in-game
  • Increased Realm upload and download timeouts to 15 minutes

Gameplay

  • Corrected Portal locations when the Portal was moved but the location was not updated
  • Hero of the Village effect now applies to all players who helped kill a raider once a raid is defeated, and the effect remains on the players, even if they travel outside the village
  • Fixed an issue where terrain could be seen through
  • Fixed player hitbox not resetting after gliding with Elytra
  • Fixed player flight with Elytra being canceled when hitting a wall and taking damage

Mobs

  • Mobs can now path over Trapdoors
  • Fixed issues with mobs and entities disappearing from chunks
  • Mobs no longer walk through Campfires
  • Axolotls now animate correctly when airborne
  • Sweet Berry Bushes now damage mobs, with the exception of Foxes
  • Mobs no longer try to path through Sweet Berry Bushes
  • The riding position of Llamas no longer shifts after being tamed
  • Raid mobs now despawn after a raid ends, if the player moves too far away
  • Vindicators no longer naturally spawn in Illager Patrols
  • Lightning bolts no longer have shadows
  • Fish now attempt to avoid Axolotls
  • Magma Cubes are now correctly aggressive towards Iron Golems and Slimes are no longer aggressive towards Snow Golems
  • Phantoms should now be able to free themselves after getting stuck when trying to pathfind into mountains
  • Villagers will keep following their schedules in worlds that have been ticking for a very long time, and when game time is negative
  • Education Edition: NPCs no longer have idle sounds

Blocks

  • Breaking a block below fire no longer creates an invisible fire block when the doFireTick gamerule is disabled
  • Players can once again continuously place water, lava, and Powder Snow by holding down the 'Place' button
  • Light blocks no longer support blocks that need support, like Beds and Paintings
  • Light blocks will now survive a TNT or Creeper explosion
  • All ground vegetation can now be placed on Mycelium
  • Fixed shallow water turning brighter when aimed at while holding a Small Drip Leaf
  • Tall flowers will now drop only one item when broken by water placed in the upper half of the flower
  • Campfires no longer drop only one Charcoal when broken by a Piston or an explosion, instead dropping two units as expected
  • In the Stonecutter, a Block of Copper can now be crafted into four Cut Copper
  • Copper Ore now drops 2-5 (from 2-3) Raw Copper items
  • Nether Sprouts can once again generate when using Bone Meal on Warped Nylium
  • Snow Grass Block and all types of Snow blocks now use similar colors
  • Fixed Leaf Blocks not remaining transparent when surrounded by partial blocks such as Buttons or Slabs
  • Fixed face culling of blocks placed below Leaf blocks, fixing an x-ray effect

Items

  • Adjusted the smoothness of movement for Primed TNT, Lingering Potions, Splash Potions, and Bottle o' Enchanting when far from players
  • Fire Charges are no longer consumed when used on lit Candles, Candle Cakes, Campfires, activated Nether Portals, or on other blocks that are already on fire
  • Multiple Education Edition items no longer show the craftingScreen.tab.none tooltip
  • Ender Pearls can no longer generate as Glow Sticks in Woodland Mansion chests

Accessibility

  • Added missing screen reader on the "Controller lost connection" prompt

Graphical

  • The Carved Pumpkin enchantment glint now only covers the item instead of the entire slot
  • Fixed a bug that could occur on older worlds where looking up in a Minecart would display the inside of the Minecart, blocking the player's view
  • Updated item rendering so enchanted are no longer be invisible in the Nether
  • Fixed a visual glitch where taking a plant from a Flower Pot would result in the plant still being rendered
  • Water drips now trigger splash effects
  • Shield blocking animation now plays smoothly

User interface

  • Fixed Java Edition parity while lying in bed in multiplayer game. A message will now show how many players are lying in bed while waiting for all players to fall asleep
  • Updated the "out of storage" message with additional clarity when a device is out of storage for saving new worlds
  • The raid boss bar color has changed from purple to red, matching Java Edition
  • Raid boss bars now decrease whenever a raider takes damage
  • Structure Blocks can now be saved and loaded properly within current dimension height limits
  • All setting changes made to a new world are carried over when creating it on a new Realm
  • Renamed some occurrences of "level" in the user interface to the more accurate "world"
  • The store update prompt no longer appears for no internet connection or session start failure
  • Improved the error messaging in the Play screen when Microsoft Account permissions are set to block multiplayer
  • Fixed an issue where searching for non-existent content brought up the incorrect "1 result" message
  • Fixed overlapping text on Marketplace offerings occurring on 4:3 resolution screens
  • Fixed the rendering of the icons in text, making the colors not appear distorted

Technical updates

Updated Add-On template packs

  • Updated Add-On templates for 1.18.0 with new resources, behaviors, and documentation, are available

Fixes

  • Players are disconnected if server and client have different Runtime Block IDs
  • Fixed a rendering error that could occur when attempting to render a Vanilla mob in a base game version prior to the version that mob was introduced through JSON files
  • Most content errors and warnings will now only display once per world
  • Improved performance in RangedAttackGoal for mobs that do not move
  • Fixed mobs' default summonability when not specified in JSON
  • Fixed a versioning error with animation controllers that was causing the wrong schema to be utilized on Marketplace worlds with an animation controller version 1.8.0
  • Order of function calls triggered by /execute inside a function are now consistent

Commands

  • The /clone command has been updated to properly check for overlapping source and destinations areas no longer allowing for a 1 block depth overlap on each axis. This can continue to be overridden via the force clone option
  • Added the /loot command with spawn loot overload

GameTest framework

  • New Item API updates: ItemStack
    • Exposed interfaces for accessing script-enabled ItemComponents on ItemStack. Note that these item components only work in conjunction with custom items defined via the Holiday Creator Features experiment
    • hasComponent(componentId: string) — returns true if the ItemStack has the component [componentId] attached to it
    • getComponent(componentId: string) — returns a handle to the component attached to this ItemStack. Returns an undefined handle if the component does not exist or if the component is yet to be exposed to script
    • getComponents() — returns an array of all attached script-enabled components on this ItemStack
  • Script Enabled Item Components
    • minecraft:food:
    • Read-only property nutrition — number that describes how much nutrition this food item gives the player when eaten
    • Read-only property saturationModifier — number that is the saturation modifier used to apply the saturation buff when eaten
    • Read-only property canAlwaysEat — if true the player can always eat this item (even when not hungry)
    • Read-only property usingConvertsTo — string name of the Item this will be converted to when eaten. If empty, the item will not convert to anything else
    • minecraft:durability:
    • Read-only property maxDurability - the number amount of damage this item can take before breaking
    • Read-only property damageRange - a NumberRange describing the chance of the item losing durability
    • Property damage - gets or sets the current damage on the ItemStack
    • getDamageChance(unbreaking: number = 0) — gets the maximum chance that this item would be damaged using the damageRange property if given an unbreaking level. Incoming unbreaking parameter must be greater than 0
  • Added deltaTime read only property to TickEvent which represents the time between the last Level tick in seconds

Molang

  • Fixed content error when Molang expression has no tokens to only fire when min_engine_version is 1.17.40 or higher

Minecraft: Java Edition 1.18 Caves and Cliffs Update Part Two

Features

  • Added an "Allow Server Listings" option to opt out of having your name displayed in server listings
  • Added an Online options screen where you can now find the Realms Notifications option
  • Added new Overworld biomes
  • Added noise caves and aquifers
  • Added world autosave indicator for single-player worlds
  • Axolotls now have their own, separate, mob cap
  • Axolotls now only spawn in Lush Caves when in water that is above Clay Blocks
  • Badlands Mineshafts now generate higher up
  • Buried Treasure Chests may contain a Potion of Water Breathing
  • Changed default brightness to 50
  • Cod, Salmon, Pufferfish, Tropical Fish, Squid, and Dolphins now only spawn in water from height 50 to height 64
  • Frozen Peaks biome
  • Glow Squids now only spawn in water blocks under height 30
  • If it is raining, sleeping will stop the rain and reset the weather cycle (in 1.17 sleeping would always reset the weather cycle)
  • Illagers (Vindicator, Pillager, Evoker) no longer attack baby villagers
  • New music has been added to the game
  • New ore distribution and large ore veins
  • Overworld build and generation limits have been expanded
  • Raised the cloud level from 128 to 192
  • Redesigned how effects look in the inventory screen, to allow them to show even with recipe book open
  • Removed world types "Caves" and "Floating islands" from the world creation screen
  • Sprinting is no longer reduced to walking when gently brushing your sleeve against a wall
  • Tropical Fish now also spawn in Lush Caves at any height
  • Villages are slightly more spread out
  • World spawn selection algorithm has been reworked, now spawns player according to climate parameters

Advancements

  • Added "Caves & Cliffs" for falling from top to bottom of the Overworld
  • Added "Feels like home" for riding strider on lava for 50 blocks in the Overworld
  • Added "Star Trader" for trading with a villager at the build height limit
  • Added "Sound of Music" for playing music with a jukebox in a Meadow biome

Blocks

  • Enchanting Tables now emit a low amount of light
  • Using Shears on the tip of a Cave Vine, Twisting Vine, Weeping Wine, and Kelp will stop them from further growing
  • Copper Ore now drops 2-5 (from 2-3) Raw Copper items
  • In the Stonecutter, a Block of Copper can be converted to 4 Cut Copper
  • Restricted Big Dripleaf placement to Clay, Grass, Dirt, Farmland, Moss, Rooted Dirt, Podzol, and Mycelium

Effects

  • Your list of effects are now shown to the right of your inventory, instead of the left side
  • When the inventory effects list is visible, it will be hidden from the game view to reduce screen clutter
  • There's now two modes of seeing the effect list: Compact and Classic
    • Classic is the pre-existing list of effects, one after another
    • Compact is a single icon for each effect, suitable for small screen estate
  • The game will automatically switch between the two modes to suit the available screen estate (including having the recipe book open)

Large ore veins

  • Ore Veins are large, rare, snake-like underground ore formations
  • Copper Ore Veins form between height 0 and 50 and are mixed with Granite
  • Iron Ore Veins form below height -60 and -8 and are mixed with Tuff

Mob spawning

  • Monsters now only spawn in places where the light from blocks is 0 (sky light still prevents spawning like before)

Music

  • Added new music by Lena Raine and Kumi Tanioka to the Overworld (when playing in Survival Mode) and the main menu
  • Added a new music disc from Lena Raine titled 'Otherside'. This can be found rarely in Stronghold Corridor Chests or much more rarely in Dungeon Chests

Biomes

  • Dripstone Caves
    • Contains plenty of Pointed Dripstone and Dripstone Block on the floors and ceilings, as well as within small pools of water
    • In some places, you'll find larger stalagmites, stalactites, and columns built from Dripstone Blocks
    • Contains extra Copper Ore
    • Drowned can spawn in aquifers inside Dripstone Caves
  • Frozen Peaks
    • Smooth mountain peaks with ice and snow
    • Spawns Goats and Yeti. Wait, no, actually it's just Goats
  • Grove
    • Snowy terrain with big Spruce Trees and Powder Snow traps. You might want to wear leather boots!
    • Tends to generate on high-altitude terrain beneath mountain peaks or on hilltops
    • Spawns Wolves, Rabbits, and Foxes
  • Jagged Peaks
    • Dramatic jagged mountain peaks with Snow and Stone blocks
    • Spawns Goats
  • Lush Caves
    • Moss covers the floors and ceilings
    • Spore Blossoms grow from the ceiling and drip particles
    • Contains Clay pools with Dripleaf plants growing out of them
    • Contains Azalea Bushes and Flowering Azalea Bushes
    • The Azalea Tree loves to have its roots in Lush Caves, so if you find an Azalea Tree (either overground or in a cave) you know there is a Lush Cave beneath you
    • Cave Vines with Glow Berries grow from the ceiling and light up the caves
  • Meadow
    • Large grassy and flowery biome that tends to generate high up on plateaus or next to large mountain ranges
    • Sometimes contains a lone, tall Oak or Birch Tree with a Bee Nest
    • Think Sound of Music!
    • Spawns Donkeys, Rabbits, and Sheep
  • Snowy Slopes
    • Very snowy terrain that can hide Powder Snow traps. I hope you kept those leather boots!
    • Tends to generate on high-altitude terrain beneath mountain peaks or on hilltops
    • Spawns Rabbits and Goats

Ore distribution

  • Changed ore generation to match the new world height, and to add more strategy to mining. There is no longer a single height level that is best for all ores — you need to make tradeoffs!
  • Iron Ore generates below height 72, with a strong bias towards height 16. Iron Ore also generates above 80, with more Iron Ore as you go higher.
  • Copper Ore generates between height 0 and 96, with a strong bias towards height 48. Copper Ore generates in larger amounts in Dripstone Caves Biome.
  • Lapis Lazuli Ore generates below height 64, with a strong bias towards height 0. However, Lapis Lazuli Ore below height -32 or above height 32 cannot generate exposed to air. It will either be buried or inside water.
  • Coal Ore generates above height 0, with a strong bias towards height 96 and above. Coal Ore has reduced air exposure, so you will find more Coal Ore buried or underwater than exposed to air.
  • Gold Ore generates below height 32, with a strong bias towards height -16. Extra Gold Ore generates below height -48. Extra Gold Ore can be found in Badlands biomes above height 32.
  • Redstone Ore generates below height 16. Redstone Ore generation gradually increases as you go below height -32 and further down.
  • Diamond Ore generates below height 16, with more Diamond Ore the lower you go. Diamond Ore have reduced air exposure, so you will find more Diamond Ore buried or underwater than exposed to air.
  • Emerald Ore generates above height -16 in mountainous biomes, with more Emerald Ore the higher you go. Emerald Ore below height 0 is very rare!

Noise caves & aquifers

  • Noise caves are a new way of generating caves, providing more natural variety. They can get really huge sometimes! Noise caves come in three flavors:
    • Cheese caves: Like the holes in swiss cheese. These often form caverns of various size
    • Spaghetti caves: Long squiggly tunnels, sometimes wide like tagliatelle
    • Noodle caves: Thinner, squigglier, and more claustrophobic variant of spaghetti caves
  • No, they aren't loud. The "noise" part of noise caves is a technical term and has nothing to do with sound.
  • The old cave carvers and canyons still generate, combining with the noise caves to form interesting cave systems
  • As with carvers, noise caves form cave entrances where they intersect the surface
  • An aquifer is an area with local water level, independent of sea level
  • Aquifers are used during world generation to generate bodies of water inside noise caves
  • This sometimes results in large underground lakes
  • They can also form inside mountains and on the surface
  • Aquifers below y0 will sometimes be lava aquifers instead of water aquifers
  • Magma Blocks sometimes generates at the bottom of underground bodies of water
  • Underwater cave carvers and underwater canyons have been removed, since aquifers are used to generate water in caves instead

Sprinting

  • Previously, any collision with a block would reduce sprinting to walking. Now, for very minor angles of collision with a block, players retain their sprint. For larger angles of collision, the old behavior is retained

World blending

  • The transition between new and old terrain is less "cliffy"
    • Will surface height blend? Yes
    • Will biomes blend? Yes
    • Will caves blend? Your mileage may vary
  • In old chunks, if there is any Bedrock at y=0, the sections below non-air blocks will be filled with new generation
  • The old Bedrock between y=0 and y=4 in old chunks gets replaced with Deepslate
  • A new Bedrock layer is placed at y=-64

World generation

  • Generation range and build limits have been expanded by 64 blocks up and 64 blocks down, to a total range of 384 blocks
  • Underground features, structures, and caves generate all the way down to y-64
  • Exception: Diorite, Granite, Andesite, and Dirt will not generate below y0
  • Tweaked size and positioning of Diorite, Andesite, and Granite generation
  • Dripstone clusters can no longer be found in normal caves, only in Dripstone Caves biomes
  • Starting from y8 and below, Deepslate gradually replaces all Stone
  • Deepslate blobs no longer generate above y0
  • The terrain shape and elevation varies dramatically, indepedently from biomes
    • For example, forests and deserts could form up on a hill without needing a special biome just for that
  • Less Diorite, Granite, and Andesite generates above y 60
  • Strips of Gravel can generate in stony shores
  • Swamp trees can grow in water 2 blocks deep (instead of just 1 block deep)
  • Removed water lake features, aquifers provide local water levels
  • A bunch of biome variants with simular features but different shapes have been merged into one, since the shape is controlled independently now
  • Renamed some biomes
  • Geodes now only generate up to height 30

Technical updates

  • Added an accessibility option to stop the sky from flashing during thunderstorms
  • Added fall_from_height and ride_entity_distance advancement triggers
  • Changed nether_travel to match other similar triggers
  • Added an option to specify the audio device used by the game
  • Replaced light and barrier particles with block_marker
  • Replaced the clientbound chunk update network packet with another one that additionally contains light update data
  • The separate light update packet still exists and is sent when a light update happens without a chunk update
  • New video setting called "Chunk Builder"
  • Changed the prioritization order of the chunk rendering pipeline
  • Unrendered chunk holes in the world should not appear anymore while flying fast with high render distance
  • View distance now causes chunks to load cylindrically around players instead of in a square
  • Added "Toggle Sprint" and "Toggle Sneak" to the Controls settings
  • Moved Keybinds out to their own settings screen, accessible from Controls
  • Information about the world generation noise is now displayed on the debug screen
  • Added illageralt, rune-like font from Minecraft Dungeons (currently only usable via commands)
  • Added startup option --jfrProfile and command jfr to start profiling with Java Flight Recorder as well as a few custom events
  • Loot table functions set_contents and set_loot_table now require a type field with a valid block entity type
  • Added new loot table function set_potion
  • The maximum amount of background threads are increased
  • Worlds last saved before Minecraft 1.2 (pre "Anvil") can no longer be opened directly
  • Data pack format has been increased to 8
  • Resource pack format has been increased to 8
  • --report option in data generator now creates reference files for the entirety of the worldgen, instead of just the biomes
  • Removed length limits for scoreboard, score holder, and team names
  • Standalone server.jar now bundles contains individual libraries instead of being flat archive
  • Size limit for server resource packs has been increased to 250 MB
  • Servers can now set propertyhide-online-players to true in order to not send a player list on status requests
  • New setting called "Simulation Distance"
  • Mob spawners can now override light checks for spawning
  • Added telemetry for world loading

Advancements

  • Changed triggers
    • nether_travel:
    • entered condition is renamed to start_position
    • exited has been removed since it was identical to player.location
  • New triggers
    • fall_from_height:
    • Triggered when a player lands after falling
    • player — a player for which this trigger runs
    • start_position — a location predicate for the last position before the falling started
    • distance — a predicate for the distance between start_position and the player
  • ride_entity_in_lava
    • Triggered for every tick when a player rides in lava
    • player — a player for which this trigger runs
    • start_position — a position where the riding started (first tick on lava)
    • distance — a predicate for the distance between start_position and the player

Chunk builder setting

  • This setting determines if chunk sections are updated immediately during a single frame, or asynchronously using threads
  • "Fully Blocking" corresponds to the previous way chunks were updated, which prevents potential visual gaps when blocks are destroyed
  • "Threaded" will significantly reduce stutters when blocks are placed or destroyed (especially with light sources), however brief visual gaps may rarely occur
  • "Semi Blocking" is the middle-option, and will only immediately update chunks that are deemed important, otherwise updates occur asynchronously using threads

Java 17

  • Minecraft now uses Java version 17. If you are using a default setup, the Launcher will download and install the correct version. If you are using a custom Java setup, or a third-party launcher, you will need to ensure that your Java installation is version 17 or above

JFR Profiling

  • Custom events
    • All events are enabled when starting the profiling using either jfr start command or --jfrProfile startup flag.
    • If profiling is started through any other means for monitoring purposes, only the ServerTickTime, LoadWorld and NetworkSummary are included by default
    • minecraft.ServerTickTime: periodic event (1 second intervals) exposing average server tick times
    • minecraft.NetworkSummary: periodic event (10 second intervals) reporting total packet sizes and counts per connection
    • minecraft.PacketReceived | minecraft.PacketSent: network traffic
    • minecraft.ChunkGeneration: time taken to generate individual chunk stages
    • minecraft.LoadWorld: initial world loading duration
  • Overview
    • Java Flight Recorder is the internal JVM profiling tool bundled with the Java Runtime to analyze performance and runtime characteristics
    • It's a useful tool for exposing internal JVM performance metrics as well as custom metrics that can be monitored or analyzed using any stock Java profiler or monitoring agents
  • Profiling lifecycle
    • Started by:
    • --jfrProfile startup flag when starting a Minecraft server or client
    • jfr start in-game command
    • Regular Java CLI tools such as jcmd
    • Stopped by:
    • shutting down the JVM
    • jfr stop in-game command
    • jcmd CLI tool
  • Reports
    • A summary JSON report is written both to the log file and in the debug folder accompanied by a .jfr recording ready to be analyzed in JMC or any other profiler tool supporting the format

Loot tables

  • Changed functions
    • set_contents & set_loot_table:
    • Added new mandatory field type. This type will be written into BlockEntityTag.id, to make sure that this tag can be correctly migrated between versions
  • New functions
    • set_potion:
    • Sets the Potion tag on any item
    • id — potion id

Maximum background threads

  • Various background tasks including worldgen are executed on a background thread pool
  • The default thread pool size equals the amount of available CPU threads, minus one
  • The upper thread pool limit has been raised from 7 to 255, which should help higher-end machines with improved world-gen performance
  • The upper limit can be overridden via the max.bg.threads Java system property, for example when running multiple servers on a single machine

Mob spawning

  • Monster spawning limits are now per-player, rather than global for each dimension

Old world conversion

  • Worlds last saved before Minecraft 1.2 (pre "Anvil") now require conversion in a previous version of the game to be able to be opened
  • We recommend that you upgrade your old version, 1.2 (pre "Anvil") or older, to version 1.6.4 - worlds opened for the first time in later versions will have incorrect biome information

Particles

  • block_marker
    • Renders with a texture declared in the particle slot for a model assigned to the configured block state
    • Is summoned with same syntax as the block particle (like block_marker wheat[age=2])

Resource pack format

  • minecraft/textures/gui/container/inventory.png now contains an extra sprite for a thin-layout version of the effect list in the inventory

Server bundling

  • server.jar now bundles individual libraries instead of merging all the files into a single archive
  • This change is meant to solve certain problems related to Java modules
  • On startup, server.jar will unpack libraries into a directory configured by bundlerRepoDir (default: working directory)
  • To run a different main class other than the server, use the bundlerMainClass property (for example java -DbundlerMainClass=net.minecraft.data.Main -jar server.jar --reports) or unpack the jar manually and use the contents of META-INF/classpath-joined for command line
  • If bundlerMainClass is empty, the program will just validate and extract files, and will then exit
  • Server classes are now signed

Simulation distance setting

  • A new slider which is available under video settings
  • Entities, blocks, and fluids will not be updated outside of simulation distance
  • Allows higher render distance with less CPU load
  • There's also a new simulation-distance property in the dedicated server properties

Spawner data changes

  • Spawners now support the custom_spawn_rules NBT in the SpawnData field and the SpawnPotentials list
  • custom_spawn_rules currently may contain fields block_light_limit and sky_light_limit — both are integer ranges with fieldsmin_inclusive and max_inclusive
  • To make SpawnPotentials format similar to other weighted lists, structure was changed to {weight: <int>, data: <previous contents without 'Weight', 'Entity' renamed to 'entity'>}
  • To accomodate that change, previous contents of SpawnData were moved to SpawnData.entity (making format of that field same as elements of SpawnPotentials.data)

Telemetry

  • In this release, we are re-introducing diagnostic tracking, which was part of Minecraft: Java Edition until 2018. We are bringing it back to better understand our players and to improve their experience. Specifically this information will help us prioritise various aspects of development and identify pain points. All data is treated according to GDPR and CCPA best practices and is used to develop a better-performing and generally more enjoyable Minecraft: Java Edition
  • At this point, the only implemented event is world load
    • Sent when loading singleplayer world or connecting to multiplayer server
    • Contains following information:
    • launcher identifier
    • user identitifer (XUID)
    • client session id (changes on restart)
    • world session id (changes per world load, to be reused for later events)
    • game version
    • operating system name and version
    • Java runtime version
    • if client or server is modded (same information as on crash logs)
    • server type (single player, Realms or other)
    • game mode

World data: chunk format

  • Removed chunk's Level and moved everything it contained up
  • Chunk's Level.Entities has moved to entities
  • Chunk's Level.TileEntities has moved to block_entities
  • Chunk's Level.TileTicks and Level.ToBeTicked have moved to block_ticks
  • Chunk'sLevel.LiquidTicks and Level.LiquidsToBeTicked have moved to fluid_ticks
  • Chunk's Level.Sections has moved to sections
  • Chunk's Level.Structures has moved to structures
  • Chunk's Level.Structures.Starts has moved to structures.starts
  • Chunk's Level.Sections[].BlockStates and Level.Sections[].Palette have moved to a container structure in sections[].block_states
  • Chunk's Level.Biomes are now paletted and live in a similar container structure in sections[].biomes
  • Chunk's Level.CarvingMasks[] is now long[] instead of byte[]
  • Added yPos the minimum section y position in the chunk
  • Added below_zero_retrogen containing data to support below zero generation
  • Added blending_data containing data to support blending new world generation with existing chunks

World generation

  • Bedrock layers now generate dependent on the world seed
  • New random number generator for overworld generation

Bug fixes

  • About 250 bugs were fixed in this release
Zachary Boddy
Zachary Boddy

Zachary Boddy is the Minecraft Expert and a News Writer for Windows Central, Android Central, and iMore. They have been gaming and writing for most of their life, and have been freelancing for Windows Central and its sister sites since 2019, with a focus on Xbox and PC gaming. You can find Zachary on Twitter @BoddyZachary.