Bedrock Engine Documentation

website·Indexed 33 days ago

https://bedrock.dev/

Technical documentation for the Bedrock engine, covering stable version 1.26.50.4 and beta version 1.26.60.28. Includes detailed specifications for blocks, entities, biomes, particles, and animations, as well as Molang expression syntax, JSON schemas, and world generation features.

Tokens
371.3K
Snippets
2K
Records
2.5K
Agent score
65%

What's inside Bedrock

  1. Overview of Minecraft Bedrock world generation features

    Features are decorations scattered throughout the world, such as trees, plants, flowers, springs, ore, and coral. They can be standalone or composed of chains of sub-features. Typically, these chains consist of control-flow features (conditional, sequential, or random distribution) that eventually lead to features that place actual blocks in the world.
  2. Overview of Minecraft Atmospherics overrides

    Atmospherics controls allow developers to override the visual properties of the sky, sun, and moon. This includes settings such as sky zenith color, moon mie strength, and sun glare shape. These settings are defined in JSON files and can be key-framed to change over time.
  3. Overview of Minecraft Bedrock Entity Events

    Entity events allow developers to define logic that triggers changes in an entity. Events are structured using sequence and randomize nodes.

    Key behaviors:

    • Execution Timing: When an event is received, effects are determined immediately but are not applied until the entity ticks on the server side. Consequently, filters in later entries of a sequence array will not see changes made by earlier entries in that same array.
    • Inter-entity Events: If one entity sends an event to another, it may take effect on the current game tick or the next, depending on whether the target entity has already updated.
    • Root Level Filters: To properly evaluate filters defined at the root level of an event definition (outside of sequence/randomize nodes), a format_version of 1.19.20 or higher is required.
  4. Overview of Molang expression language

    Molang is a simple, case-insensitive (except for strings) expression-based language used for fast, run-time calculations in Minecraft. It uses a C-style syntax. Simple expressions return their result automatically, while complex expressions (containing multiple sub-expressions terminated by semicolons ;) evaluate to 0.0 unless a return statement is used to specify the output value.
  5. Overview of Color Grading and Tonemapping

    Color Grading and Tonemapping allow developers to override the default visual processing of a scene. Color Grading controls the appearance of midtones, highlights, and shadows (adjusting contrast, gamma, gain, and saturation), while Tonemapping operators (such as Reinhard or Hable) determine how colors are remapped to the final display range.
  6. Overview of Bedrock Features

    Features are decorations scattered throughout the world, such as trees, plants, flowers, springs, ore, and coral. They can be standalone or composed of multiple sub-features (chains). Most features are defined as chains that end with features placing blocks, while other feature types control the flow, such as conditional, sequential, or random distribution.
  7. Overview of Texture Sets for PBR

    Texture Sets allow developers to define multiple PBR (Physically Based Rendering) layers for a texture resource, enabling richer visuals such as specular reflections, emissivity, and normal maps. This goes beyond the classic color pipeline. Texture sets are data-driven and defined using JSON files.
  8. Overview of Color Grading and Tonemapping

    Color Grading and Tonemapping controls allow developers to modify the visual appearance of the game by overriding settings for midtones, highlights, and shadows. This includes adjusting contrast, gamma, gain, and saturation, as well as selecting tonemapping operators (such as Reinhard or Hable) to determine how colors are remapped.
  9. Overview of Minecraft Atmospherics settings

    Atmospherics controls allow developers to override the visual properties of the sky, sun, and moon. This includes settings for sky zenith and horizon colors, moon and sun mie scattering strength, rayleigh scattering strength, and sun glare shape. These settings are used to create custom atmospheric effects in Minecraft preview releases.
  10. Implement PBR materials using Texture Sets

    Texture Sets allow developers to define multiple Physically Based Rendering (PBR) layers for a texture resource, enabling realistic visuals like specular reflections, emissivity, and normal maps. Texture sets are defined via JSON files and are required for the PBR color pipeline (e.g., Ray Tracing). The 'color' layer is the only required layer and is the only one used by the Classic pipeline.
  11. Add optional pack metadata

    The metadata section allows you to include non-functional information about the pack.
    "metadata": {
        "authors": ["Author Name"],
        "license": "License String",
        "url": "https://example.com"
    }
  12. Configure an ore feature

    The minecraft:ore_feature defines how ore veins are placed, including the number of blocks and specific rules about which blocks they can replace.
    {
      "minecraft:ore_feature": {
        "description": { "identifier": "namespace:feature_name" },
        "count": 8,
        "discard_chance_on_air_exposure": 0.1,
        "replace_rules": [
          {
            "places_block": "minecraft:diamond_ore",
            "may_replace": [ "minecraft:stone", "minecraft:deepslate" ]
          }
        ]
      }
    }