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:scaleandminecraft: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.terrainandatlas.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.
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.