Back
Technology

Minecraft 1.21 Game Update Released

View source

The latest snapshot update brings significant technical overhauls, new attributes, and revised mechanics for world generation.

This update focuses on developer tools, server management, and data-driven customization. Key changes include a new rendering pipeline with a reversed depth buffer to reduce Z-fighting, and the introduction of several new attributes that allow for fine-tuned entity behavior.

Technical & Performance Improvements

Data Pack version is now 107.1 and Resource Pack version is now 88.0. Profiling with Tracy now includes GPU timings, and the F3 screen will report the present mode type. The rendering system now uses a reversed depth buffer to significantly reduce Z-fighting issues. Particle render stats now include counts of different particle groups, and the player score is no longer shown in the tab overlay if the objective is missing.

Server Management & Properties

New server properties have been added: chat-spam-threshold-seconds and command-spam-threshold-seconds, both defaulting to 10 seconds. This allows administrators to separately configure spam kick thresholds for chat and commands.

The Minecraft Server Management Protocol has been updated to version 3.0.0. The management server now starts before the Minecraft server, and a heartbeat is sent during world loading. This allows rpc.discover and notification/server/status methods to be accessible before the dedicated server spins up.

Telemetry & Data Changes

  • New required property: server_session_id in world events.
  • New required event: graphics_capabilities with properties including backend_name, backend_failure_reason, backend_failure_message, and backend_failure_missing_capabilities.

Data Components have been updated with the addition of minecraft:sulfur_cube_content.

Commands & Gameplay

  • Granting/revoking advancements now reports state changes.
  • Team color arguments now accept only lowercase names with underscores.
  • The execute on owner command now correctly considers Vexes owned by their Evoker.
  • A new unpublish command has been added.

New Attributes

A suite of new attributes has been introduced:

  • minecraft:bounciness (0.0-1.0, default 0.0)
  • minecraft:friction_modifier (0.0-2048.0, default 1.0)
  • minecraft:air_drag_modifier (0.0-2048.0, default 1.0)
  • minecraft:name_tag_distance (0.0-512.0, default 64.0)
  • minecraft:below_name_distance (0.0-512.0, default 10.0)
  • The minimum for minecraft:knockback_resistance has been changed to -2.0.

Entity & World Data

  • Removed: HurtByTimestamp tag from Living Entities.
  • Removed: minecraft:bed block entity.
  • Damage Types: Added minecraft:sulfur_cube_hot.
  • Game Events: Added minecraft:bounce.

Predicates & World Generation

  • Entity predicate format has changed to component-like sub-predicates; keys must now be namespaced IDs, and unrecognized sub-predicates will be rejected. A new minecraft:entity_tags sub-predicate has been added.

World Generation sees several revisions:

  • Added matching_biomes block predicate.
  • The tree feature's below_trunk_provider no longer has a default value.
  • Surface Rules: The noise_threshold condition has a new is_3d field.
  • Dimension Types: The infiniburn field now accepts both a single ID and a list of IDs.

Configured Features & Structure Processors

Several feature types have been renamed and expanded:

  • Added minecraft:sequence, minecraft:template, and minecraft:weighted_random_selector feature types.
  • pointed_dripstone renamed to speleothem and dripstone_cluster renamed to speleothem_cluster, both with new fields.
  • large_dripstone now has a replaceable_blocks field, a reduced column_radius max of 16, and clamped wind offset.
  • Multiple other features (lake, geode, root_system, etc.) have been updated.

Structure Processors have been updated so that block_rot now evaluates block state from previous processors. The protected_blocks field value now accepts either a single ID or a list of IDs.

Density Functions & Tags

  • Density Functions: Added minecraft:interval_select. Removed minecraft:weird_scaled_sampler.
  • Tags: Multiple new block, item, damage type, and entity tags have been added.

Particles & Game Tests

  • New Particles: sulfur_cube_goo, geyser_base, geyser_poof, geyser_plume, and geyser.
  • Game Test Environments: Added minecraft:difficulty.