Minecraft: Java Edition releases Pre-Release 1 for 'Caves and Cliffs Update,' nearing official launch

Minecraft Caves and Cliffs Update Image
Minecraft Caves and Cliffs Update Image (Image credit: Mojang Studios)

What you need to know

  • The 'Caves and Cliffs Update' is the next major update for Minecraft, and is coming in two separate parts later this year.
  • Minecraft: Java Edition has just dropped Pre-Release 1 for the 'Caves and Cliffs Update' as a snapshot, indicating an imminent launch.
  • Highlights of this snapshot include the return of candles to part 1 of the 'Caves and Cliffs Update,' new Advancements, and lots of bug fixes.
  • There will likely be several more Pre-Release snapshots for the 'Caves and Cliffs Update' before we get an official release date.

It's a monumental moment for players excited for the upcoming Caves and Cliffs Update for Minecraft, as the first half of the two-part release coming this year is entering the final stages of development. Mojang Studios already released the brand-new Minecraft: Bedrock Edition Beta to signify this change, but now they're dropping Minecraft: Java Edition Pre-Release 1 for the Caves and Cliffs Update. Pre-release snapshots indicate that the update is nearing completion and public release, so we may only have to wait a few more weeks to get our hands on the next major update for Minecraft.

As expected, this snapshot includes a ton of technical updates and bug fixes. However, it also includes the new Advancements for the Caves and Cliffs Update, as well as the return of candles, which are now coming in the first half of the Caves and Cliffs Update due to community feedback. This snapshot is lit (sorry).

Keep an eye out for more Pre-Releases over the coming weeks. Pre-Release snapshots don't follow the same release cadence as normal snapshots (which usually arrive every Wednesday) and instead release the moment Mojang Studios feels they're ready.

Minecraft: Java Edition is already one of the best PC games, and the arrival of the Caves and Cliffs Update will make it even better. Celebrate Minecraft and the impending update release with the best Minecraft merch, toys, and gifts.

The full changelog for Minecraft: Java Edition Caves and Cliffs Update Pre-Release 1 includes:

New features

  • Added new advancements


  • Added "Whatever Floats Your Goat!" for floating in a boat with a goat
  • Added "Wax on" for applying wax to a Copper block!
  • Added "Wax off" for scraping wax off a Copper block!
  • Added "The Cutest Predator" for catching an axolotl in a bucket!
  • Added "The Healing Power of Friendship!" for teaming up with an axolotl and winning a fight
  • Added "Glow and Behold" for making a sign glow
  • Added "Light as a Rabbit" for walking on powder snow with leather boots
  • Added "Surge Protector!" for having a lightning strike a lightning rod near a villager without setting the area on fire
  • Added "Is it a Bird?" for looking at a parrot through a spyglass
  • Added "Is it a Balloon?" for looking at a ghast through a spyglass
  • Added "Is it a Plane?" for looking at a dragon through a spyglass


  • Candles have been added back to the creative inventory
  • Recipes for crafting and dying candles are once again available
  • Candles now have a different texture when lit
  • Glowing text on signs now has an outer glow, making text in dark colours more visible in the dark
  • Holding down the space bar now increases the scroll speed in the credits

Caves and Cliffs Update preview

Technical changes

  • Added started_riding, lightning_strike and using_item advancement triggers
  • Added source condition to effects_changed trigger
  • Added lightning_bolt sub-predicate
  • Added passenger, stepping_on and lightning_bolt properties to entity predicate
  • Added looking_at condition to player sub-predicate
  • Expanded item field on item predicate to items
  • Expanded block field on block predicate to blocks
  • Added F3+L shortcut to generate and persist performance metrics from in-game
    • F3+L on single-player worlds will also include reports for the integrated server
  • Removed debug report command (use perf start/stop for server performance measurement)
  • perf start / stop command on dedicated servers will now generate and persist server performance metrics

New Advancements triggers

  • started_riding
  • Triggered when player starts riding a vehicle or entity starts riding vehicle currently ridden by player
  • Conditions:
    • player - either a player that started riding or one of boat passengers
  • lightning_strike
  • Triggered when lightning finishes (i.e. entity disappears)
  • Triggers for any player on the server
  • Conditions:
    • player - player for which this trigger runs
    • lightning - predicate for lightning entity
    • bystander - predicate for one of the entities in a certain area around strike not hurt by it
  • using_item
  • Triggered for every tick of using items (like crossbows, spyglass, fishing rods, etc)
  • Conditions
    • player - players that uses item
    • item - item being used

Changed triggers

  • Added source triggers that matches entity that triggered the change
  • Might be empty when:
    • there is no entity (for example, effect gained from a beacon)
    • the effect is self-applied
    • effect is removed

Changed predicates

  • Item predicate
    • item field expended to items, now accepting an array of item types
  • Block predicate
    • block field expended to blocks, now accepting an array of block types
  • Entity predicate
    • passenger - new sub-predicate for passenger directly riding this vehicle (if present, must match one or more)
    • stepping_on - location predicate for block entity is currently standing on
    • lightning_bolt - sub-predicate valid only for lightning bolt entity
  • Player predicate
    • looking_at - entity currently viewed by player
    • Uses the same line-of-sight rules as attacking mobs
    • Actual detection radius might be changed in future
  • Lightning bolt
    • blocks_set_on_fire - range check for of blocks set on fire by this entity
    • entity_struck - predicate for entities struck by this lightning (if present, must match one or more)

Performance metrics reporting

  • These will be saved to a zip file in debug/profiling/<yyyy-MM-dd_HH.mm.ss-[levelname]-[version]>.zip and could be used for performance regression analysis if included in bug reports
  • The exact metrics, output format, and names are susceptible to change between versions. Our plan is to continue iterating on which metrics to capture

Client F3+L shortcut

  • Pressing F3+L while in the game will start a recording for 10 seconds capturing metrics such as tick durations, used heap sizes and other more detailed stats
  • Pressing F3+L before the 10 second limit will end the recording early
  • This shortcut is always available to clients, even on multi-player servers where it will record client-side performance

Dedicated server start / stop command

  • perf start will start a recording for 10 seconds capturing metrics such as tick durations, used heap sizes and other more detailed stats
  • perf stop before the 10-second limit will end the recording early

Bug fixes

  • Reducing maxHealth / max_health can cause fake death
  • Lag spike while loading player head textures / player skins
  • End crystals placed on exit portals generated before 1.9 do not respawn the ender dragon
  • Credits background jitters
  • Increasing Game State Rain Level values make the game increasingly laggier and distorts UI
  • Structure block data length limited to 12
  • Intersecting structures can create corrupted block entities (spawner / chest)
  • Shifting around servers in the server list crashes the game (ArrayIndexOutOfBoundsException)
  • When placing certain heads or putting them in entities' head slot the game stutters
  • Leaves change to stone near Lava Pool (Recurrence of MC-48340)
  • End Portal Frames change to Stone near Lava Pool
  • Angering passive mobs in new nether chunks very far away from previously generated chunks, then entering a nether portal causes server to completely freeze
  • Setting the weight in Template Pool to high values will lag world and can cause out of memory error.
  • Lighting a candle is sometimes delayed
  • Flowing liquids look very dark through tinted glass
  • Candles don't show flame animations when particles are set to "Minimal"
  • Amethyst blocks don't make chime sounds when walked on by certain mobs
  • Powder Snow Bucket is not grouped with Snowball or buckets in creative inventory
  • While the mainhand is empty and there's a loaded crossbow in the offhand, the mainhand will appear invisible
  • Server crash when pathfinding to player that is teleporting away
  • Entities are loaded after scheduled ticks are processed causing detector rails, pressure plates, etc. to turn off
  • Applying glow ink on signs doesn't render the text bright without also having applied a custom color
  • Glow lichen can generate floating inside underground structures
  • Geodes generating inside icebergs
  • A ruined portal generated in an end portal
  • Dripleaf isn't properly held in the player's hand
  • Entities no longer showing flame animation when in water / lava at the same time
  • Small dripleaf leafs can overlap each other and cause z-fighting
  • Azaleas cannot be placed in flower pots
  • Lava pools break bedrock with custom world generation
  • SynchedEntityData is using locks incorrectly
  • Lots of missing shaders in the game assets
  • The glowing effect outline omits parts of entities if the entity is invisible
  • More performant noise blending algorithm in BlendedNoise
  • When searching, the goat spawn egg appears in the middle of the different boat types
  • Inconsistency: Enderman is able to pick up flowering azalea, while unable to hold normal azalea bush.
  • glShaderSource fails on some AMD drivers resulting in a crash on 1.17
  • Mycelium inside enderman_holdable.json twice
  • Absorption hearts don't have the wither heart effect
  • Reloading resource packs with fabulous graphics causes screen to become black, after a few times causes crash for AMD drivers
  • Game crashes when there is a block with no facing block state in #wall_corals and a warm ocean tries to generate
  • Falling blocks disappear for a moment when landing
  • Azalea and Flowering Azaleas can take bone meal despite being on clay
  • Closing the inventory in creative mode while having an item on the cursor turns it into a ghost item
  • Players do not despawn until they respawn
  • Goats will attempt to ram entities that are outside of the world border
  • Selected text on signs blinks
  • The axe is still an appropriate tool for moss carpets
  • java.lang.IllegalArgumentException: bound must be positive
  • Axolotls can make ambient noises when they're playing dead
  • Snow layers can still generate floating over lakes
  • Grass, tall grass, flower, double flower, fern, large fern and tree can generate on sand or gravel
  • Minecraft sometimes crashes when trying to start 21w20a for the first time
  • Floating grass can still generate above lava lakes
  • Non-waxed oxidized copper blocks don't require at least stone tier to be mined
  • Coal Ore from fossils can generate through bedrock
  • Item statistic sorting not functioning
  • Non-waxed weathered copper blocks appear twice in needs_stone_tool.json
  • Crash upon attempting to create a new scoreboard objective: java.lang.NullPointerException: Cannot invoke "String.toLowerCase(java.util.Locale)" because "☃" is null
Zachary Boddy
Staff Writer

Zachary Boddy (They / Them) is a Staff Writer for Windows Central, primarily focused on covering the latest news in tech and gaming, the best Xbox and PC games, and the most interesting Windows and Xbox hardware. They have been gaming and writing for most of their life starting with the original Xbox, and started out as a freelancer for Windows Central and its sister sites in 2019. Now a full-fledged Staff Writer, Zachary has expanded from only writing about all things Minecraft to covering practically everything on which Windows Central is an expert, especially when it comes to Microsoft. You can find Zachary on Twitter @BoddyZachary.