Bedrock Wiki

repository·wiki·Indexed 43 days ago

https://github.com/bedrock-oss/bedrock-wiki

An open-source knowledge-sharing platform providing documentation, tutorials, and technical guides for Minecraft Bedrock features and add-ons. The wiki includes detailed technical implementation guides for Animation Controllers, including state machine logic, Molang queries, and the use of Resource Packs (RP) and Behavior Packs (BP) to trigger commands, sounds, and particle effects.

Tokens
306.8K
Snippets
964
Records
1.3K
Agent score
55%

What's inside Bedrock Wiki

  1. Overview of Minecraft Script API Modules

    wiki

    Each module serves a specific purpose within the Minecraft scripting environment:

    • @minecraft/common: Contains basic sources like error classes or interfaces. Can be imported without being explicitly mentioned in dependencies.
    • @minecraft/debug-utilities: (Experimental) Provides debugging tools. Not recommended for public addon releases.
    • @minecraft/server: The core module for server-side scripting. Used to interact with blocks, entities, items, players, and world resources.
    • @minecraft/server-ui: Provides customizable forms to send data and interact with players.
    • @minecraft/server-gametest: (Experimental) Used for testing vanilla experiments and ensuring repeatability. Not intended for general content creators.
    • @minecraft/server-net: (Experimental) Allows web requests (GET, SET, POST, etc.). Only allowed on Bedrock Dedicated Servers.
    • @minecraft/server-admin: (Experimental) Processes JSON admin files to set pack behavior. Only allowed on Bedrock Dedicated Servers.
    • @minecraft/server-editor & @minecraft/server-editor-bindings: Used for editor projects. @minecraft/server-editor-bindings is undocumented and intended for native functions, while @minecraft/server-editor is a JS-based module.
  2. Planned Features for Deferred Rendering

    wiki

    The following features are currently in development or on the roadmap for the Deferred Rendering Pipeline:

    Rendering & Lighting

    • Color grading: Full HDR suite (contrast, saturation, etc.).
    • Water lighting: A unique model for water geometry including properties like algae presence, caustics, noise, volumetric rays, reflections, refractions, and Snell's window.
    • Subsurface scattering: An approximation for PBR capabilities.
    • Reflections: Both IBL-based (Image Based Lighting) and screen-space reflections.
    • Global Illumination: Work is ongoing to improve skylight, reflected sunlight, and ambient blocklight.

    Assets & Textures

    • Texture Set support: For both Items and particles.
  3. World Generation Roadmap Overview

    wiki

    The Bedrock world generation development follows an iterative approach focused on increasing creator parity with Vanilla capabilities. The roadmap priority is:

    1. Improving block features and capabilities (expanding existing feature types).
    2. Embedding elements into the world (improving features and jigsaw structures).
    3. Biome capabilities (addressing noise maps, scale, weather, fog, audio, etc.).

    Note: The team aims to allow creators to do almost anything possible in the Vanilla game, but development must account for multi-platform compute capabilities and backwards/multi-addon compatibility.

  4. Overview of the Script API

    wiki
    The Script API (formerly GameTest Framework) allows developers to modify worlds using JavaScript files located within a behavior pack. Most parts of the Script API are not experimental and do not require special settings, but some modules require the 'Beta APIs' experiment to be enabled in world settings.
  5. What is Precise Interaction in blocks?

    wiki

    Precise interaction allows you to define multiple specific areas on a single block's face that can be interacted with separately. Instead of a single interaction for the whole block, you can assign different functions to different regions (e.g., multiple buttons on one side or individual lamps in a segment display).

    Key Requirements & Limitations:

    • Selection Box: Precise interaction does not create custom-shaped minecraft:selection_box components. The existing selection box must encompass all defined interaction areas for them to function correctly.
    • Mechanism: It relies on the faceLocation property from the player interact event, which indicates where on the block's selection box the player clicked/tapped.
    • Known Issue [MCPE-223452]: There is a known bug where faceLocation may not always be relative to the bottom north-west corner of a block depending on its world position. Use with caution.
  6. Overview of Block Orientation Types

    wiki

    Blocks in Bedrock can be configured to face different directions using several orientation models. Choosing the right model depends on the required number of directions and whether the rotation should affect physical components like collision boxes.

    • Axis Alignment: 3 axis-aligned orientations (e.g., logs, basalt).
    • Block Face Attachment: 6 attachments: down, up, north, south, west, and east (e.g., item frames, ladders).
    • Cardinal Orientation: 4 directions: north, south, west, and east (e.g., carved pumpkins, furnaces).
    • Facing Orientation: 6 directions: down, up, north, south, west, and east (e.g., dispensers, observers).
    • Sixteen-Way Rotation: 16 directions at 22.5 degree intervals (e.g., banners, signs).
  7. Overview of Item Functions

    wiki

    Item functions are used to modify the properties of an item within loot tables and trade tables. These functions must be placed within a functions array inside a loot entry.

    Key Constraints:

    • They are usable in loot tables and trade tables only.
    • They do not accept Molang.
    • All functions can be prefixed with a namespace (e.g., minecraft:set_name or custom:set_name).
    • Java-specific additional functions or properties are not supported.
    {
        "type": "item",
        "name": "minecraft:diamond",
        "weight": 1,
        "functions": [
            {
                "function": "set_count",
                "count": {
                    "min": 1,
                    "max": 3
                }
            }
        ]
    }
  8. What is execution context in the /execute command?

    wiki

    Execution context refers to the parameters that determine how a command runs. These parameters include:

    • Executor: Who the command runs as (the target selected by @s).
    • Position: Where the command runs (X, Y, Z coordinates).
    • Dimension: The specific dimension (e.g., overworld, nether, the_end) in which the command executes.
    • Rotation: The yaw and pitch applied to the command, affecting how relative/local coordinates (like ^ ^ ^) are calculated.

    Commands from command blocks have no executor and run at the block's position. Commands from chat use the player as the executor and run at the player's position.

  9. Overview of Shaders in Bedrock

    wiki

    Shaders are implemented in two languages to ensure cross-device compatibility:

    • GLSL: Used for non-Windows/Console devices.
    • HLSL: Used for Windows and Console devices (sufficient for testing on Windows).

    Warning: These shaders are incompatible with Render Dragon. They will not work on Windows or Console devices past version 1.16.200, or other devices past 1.18.30.

  10. What is Fox MBE (FMBE)?

    wiki

    Fox MBE (FMBE) is a technique for creating highly customizable block display entities in Minecraft Bedrock using only commands. Unlike traditional methods that use armor stands (MBE), FMBE utilizes the bone structure of foxes to render blocks. This provides significantly more flexibility in terms of scale, rotation, and position.

    Important Considerations:

    • Performance: Each display requires 1 fox entity. High quantities of FMBE can cause server lag.
    • Interaction: Players can pass through and interact with FMBE entities unless specific restrictions are applied.
  11. What is Execution Forking (Instancing)

    wiki

    Execution Forking (also known as Instancing or Nesting) is a technique used to trigger a single command multiple times within the same tick. This is achieved by using selectors (like @a or @e) that target multiple entities. When a selector identifies multiple targets, the command 'forks' its execution path, creating a new instance for every entity selected.

    For example, execute at @a run particle ... will run the particle command once for every player currently online.

    execute at @a run particle minecraft:basic_flame_particle ~ ~ ~