Skip to content

Bedrock Engine (Minecraft)

Bedrock Edition describes its entities in packs of JSON. A behaviour pack entity holds the server-side components (size, colour, behaviour), and a resource pack client entity names what the client draws with: geometries, textures, materials, animations, animation controllers and render controllers, all chosen and driven each frame by Molang expressions. Observed · the vanilla packs of bedrock-samples v1.26.60.5 Add-ons and resource packs replace or extend the same files, which is why the vanilla packs are the reference for what a pack builds on. Inferred The wiki records one game on it, Minecraft: Bedrock Edition.

How an entity is drawn:

  • Render controllers: which geometry, texture and bone materials each layer draws, which bones show, and the colours and texture offset its materials read.
  • Entity materials: the shader stages a material’s defines turn on (alpha test, colour mask, overlay, emissive light, texture animation).
  • Entity geometry: bones and their bind poses.
  • Behaviour components the client draws with: minecraft:scale and minecraft:color.
  • Engine variables: the variables scripts read that the engine sets.
  • Attachables: held and worn items drawn as models on their holder, and how they read the holder’s variables.
  • Item queries: how scripts read held and worn items: names, item tags, a spear’s kinetic timings and cooldowns.
  • First-person player: how the player model is posed for its own view.

How the world and items are coloured:

  • Colour maps: the maps grass and foliage take their colour from, by climate or by a client biome’s color_map, and the single-colour birch, spruce and swamp maps.
  • Item icons: a block item’s carried textures, and the potions’ per-effect bottles.
  • Environment textures: which texel each end portal layer takes from its colour table, and the weather sheet’s rain and snow cells.
  • Particles drawn from a block or item picture: the effects on atlas.terrain and atlas.items, the variables the engine hands them, and when each starts.
  • Particle block tests: the block lists a particle expires by, and the old block names current Bedrock no longer has.
  • Spell particles: the effects for potions, status effects and tipped arrows, and the colour and cloud variables the engine hands them.
What do the current renderer’s compiled materials hold?

The material and shader facts here are those of the 1.16-era renderer, from published copies. The game now compiles its materials, and their definitions are not published.

Pages

Data model

  • Attachables — How a held or worn item is drawn as a model of its own: the attachable file, the bone it binds to, the context it runs in, and how it reads its holder's variables.
  • Behaviour components the client draws with — The behaviour pack components that set how an entity is drawn: minecraft:scale for its size, minecraft:color for the colour its colour-mask materials take, and minecraft:variant, mark_variant and skin_id for the textures its render controllers pick.
  • Engine variables — The variables entity scripts read but no script assigns, which the engine fills in, and what each is taken to mean from how the vanilla packs use it.
  • Item queries — How entity scripts read the items an entity holds and wears: names, item tags, a spear's kinetic timings and cooldowns, and the item components behind them.
  • Render controllers — What an entity's render controllers choose each frame: geometry, textures, bone materials and visibility, and the overlay, change colour and texture offset its materials read.

Geometry

  • Entity geometry — Bone bind poses in entity geometry, what they turn, and the 23 bones of vanilla geometries whose published re-export lost them.

Materials

  • Entity materials — How an entity material's defines select the entity shader's alpha test, colour mask, masked second texture, overlay, emissive light and texture animation, and where the colours they read come from.
  • Particle materials — How a particle material's defines, states and sampler decide what a particle effect's quads draw: the alpha test, which drops the tint's alpha, blending and texture filtering.

Textures

  • Environment textures — How the end portal colour table and the weather sheet in textures/environment are read: which texel each end portal layer takes, and which cells rain and snow draw.
  • Item icons — Which pictures an item is drawn with in the inventory: a block's carried textures, and the potions' per-effect bottles.
  • Terrain tiles — How blocks.json names terrain tiles, how a tile's list of textures is picked from, which vanilla lists hold the parts of one block rather than data values, and how flipbooks attach to a tile.

Lighting and sky

  • Fog and water surface — The active fog stack that decides which fog setting applies, how the water distance fog comes in after the camera goes under (transition_fog), and where a biome's water surface opacity comes from: the legacy biomes_client.json and the client biomes.

Vegetation

  • Colour maps — The pictures foliage and grass take their colour from: the maps in textures/colormap, how a client biome names one, and the single-colour maps of birch, spruce and the swamps.

Effects and decals

  • Geyser particles — The three effects of a potent sulfur geyser's eruption, the two variables the engine hands them, and how their sizes line up with Java Edition's water depth.
  • Particle block tests — How a particle's block-list components name blocks, and which names current Bedrock no longer has.
  • Particles drawn from a block or item picture — Particle effects on atlas.terrain and atlas.items: the variables the engine hands them to find a block's or item's picture, and when each starts.
  • Spell particles — The effects Bedrock starts for potions, status effects and tipped arrows, and the variables they read.

Animation

  • First-person player — How the player model is posed for its own first-person view: the controller states, the base pose that turns the body with the view, where the arm poses put the arms, and the arm heights the engine sets.