Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Glossary

Verified against Minecraft 26.3 · Reference · A short entry per term the rest of the corpus uses, and a link to the page that owns it.

Every page in this corpus assumes the vocabulary of the pages before it. That is deliberate — a lecture that redefines “chunk holder” every time it appears is unwatchable — but it means a reader who arrives in the middle has no way back. This page is the way back: the terms, alphabetically, a short entry each, each pointing at the page where the term is actually explained.

An entry here is a reminder, not a definition to rely on. If the entry is all you needed, good; if it is not, the link is the point of the entry. Where a term is a class name, the class name is the entry — this corpus uses Mojang’s names for concepts as well as for types, and inventing a second vocabulary to sit beside them would only double the work.

A

Activity — the filter that decides which of a brain’s behaviours may start at all, rather than a mode it runs in: the active set is always the core activities plus exactly one other, and an ActivityData declares each one’s prioritised behaviour list. → AI

Advancement — a data-pack-defined goal: criteria, a requirements expression over them, an optional display entry and a reward. → advancements

Aquifer — the worldgen component that decides what a point is made of once the density is known — stone, air, water or lava — from its own barrier and fluid-level noises; a carver only marks a shape, and the aquifer decides what fills each block of it. → terrain

Argument type — a Brigadier ArgumentType that parses one argument off the command line, however many words that takes — three for a Vec3Argument, all of the rest for a MessageArgument; vanilla’s live in net/minecraft/commands/arguments and are described to the client through an ArgumentTypeInfo. → Brigadier and commands

Atlas — one large texture stitched at load time out of many sprite files, so a chunk section’s quads can all be drawn with one bound colour texture. → models and atlases

Attribute — a named, ranged, modifiable number on a LivingEntity; modifiers are keyed by Identifier, and eight attributes are not client-syncable at all. → attributes

Authority — whose copy of an entity produces the position that counts: the server for a mob, the owning client for its own player and for the boat that player is steering — the server still runs your player’s physics, then overwrites its answer with the number your client sent. Five predicates on Entity decide it, starting with the final Entity.isLocalInstanceAuthoritative. → authority

Avatar — the class between LivingEntity and Player, holding the player-shaped body and nothing else; a Mannequin is an Avatar that is not a player. → player anatomy

B

Batch (game tests) — a group of game tests that share an environment and a dimension, and the key they are grouped by is that pair rather than a name. The renderer’s batch is a different word: quads grouped by render state, which belongs to section meshing and entity rendering. → game tests

Beardifier — the density-function term that bends terrain around a structure; terrain adaptation writes no blocks, it changes the noise. → structure placement

Behaviour — one unit of brain AI, gated on memories and asked once a tick; unless it overrides Behavior.canStillUse it stops inside the same Brain.tick that started it, so everything it does it does in Behavior.start, or, for a one-shot, in its trigger. → AI

Biome — a named bundle of generation settings, block tints and environment attributes, attached to a 4×4×4 volume of the world; its mob spawns are one of those attributes. → biomes

BiomeSource — the object that answers “which biome is at this quart position”: by a climate search, from one fixed biome, from a checkerboard of a listed few, or, in the End, from the central island’s disc and a single erosion sample beyond it; all but the fixed and checkerboard sources make a separate BiomeResolver to answer. → biomes

Blaze3D — Mojang’s graphics layer: com/mojang/blaze3d keeps RenderSystem, the window and the frame graph, and the GPU abstraction under it is com/mojang/renderpearl, with OpenGL and Vulkan backends behind one GpuDevice. → Blaze3D

Blend alpha — the mixing weight Blender computes from the distance to the nearest measured old column: zero against the seam, where the old measurement sets the offset and fixed values the factor and jaggedness, and one out of range (use the noise). → blending at the old-chunk border

BlendingData — the sixteen-column ring of heights, densities and biomes one of these measures out of its own chunk’s blocks, on the sides facing ground the game has yet to generate; its presence on a chunk is what makes the chunk old. → blending at the old-chunk border

Block — the singleton describing a kind of block: its behaviour, its property set and its state table. One Block, many BlockStates. → blocks and states

Block entity — the per-position mutable state a block cannot fit into its state (a chest’s contents, a furnace’s progress), stored on the chunk. → block entities

Block event — a message from a block to itself (a piston push, a note block, a chest lid), queued on ServerLevel and drained at one named phase of the level tick — a wait for a phase rather than a delay, so it usually runs in the very tick it was raised — and mirrored to nearby clients as a packet. → pistons and block events

BlockState — one combination of a block’s property values, built once by the block’s StateDefinition and compared by identity; Block.BLOCK_STATE_REGISTRY is the flat table that numbers it for the wire and the global palette. → blocks and states

Border tick — a position along an old chunk’s seam queued for post-processing, so a leaf or a fluid there is re-evaluated when the chunk goes live. → blending at the old-chunk border

Boss bar — a ServerBossEvent holding a name, a progress float, a colour, an overlay style and three client effects (darkened screen, boss music, world fog), broadcast to the players attached to it; the /bossbar kind adds an integer value and maximum, persists its membership as UUIDs, and is execute store’s third sink. → scores, teams and stored data

Brain — the memory-and-behaviour AI that twenty mob classes build, villagers, piglins and axolotls among them, as opposed to the older goal system. → AI

Brigadier — Mojang’s command-parsing library: a tree of literal and argument nodes with per-node requirements, shared by client and server. → Brigadier and commands

Built-in block model — a block model attached in code by BuiltInBlockModels rather than by a resource pack, living in a second model table that terrain never reads; how a minecart or a block display draws a chest. → block-entity rendering

C

Camera — the client’s eye: position, rotation and the cull frustum, copied into a CameraRenderState once per frame — plus an EnvironmentAttributeProbe that Camera.tick advances and no render state carries. → the frame

Carver — a worldgen pass that hollows out caves and ravines by marking their shape in a mask and writing no block itself; what each marked block becomes — air, water or lava — is the Aquifer’s answer, in the Nether as everywhere else. → terrain

Cell — the lattice unit of terrain noise, four blocks wide and deep and eight tall in the overworld, 768 to a chunk: the expensive three-dimensional density terms are evaluated at its corners and interpolated within it. → terrain, density functions

Chunk — a 16-by-16 column of the world’s full height: sections, heightmaps, block entities, tick queues and a status. → chunk anatomy

Chunk layer — which of the three ChunkSectionLayer buffers a block’s quads are meshed into — solid, cutout or translucent — decided at bake time from the alpha inside that quad’s own patch of its sprite, unless its material forces translucency, rather than from the block; the mesher only reads the answer, except for leaves, which it overrides. → models and atlases

ChunkHolder — the server’s per-chunk record of the level the loading graph computed for it, a future per threshold and status, and what changed in it this tick; which tickets asked for that level is TicketStorage’s business, not the holder’s. → tickets and loading

ChunkMap — the server’s chunk table: holders, the ticket-driven level graphs, entity tracking, and the region-file storage underneath. → tickets and loading

ChunkStatus — one rung of the generation ladder; a chunk advances one status at a time, and the ChunkStep for each status declares the neighbour radius that step needs. → the chunk generation pipeline

Climate — the noise sample (temperature, humidity, continentalness, erosion, depth, weirdness) a biome is chosen by. → biomes

Codec — a DataFixerUpper object that both encodes and decodes one type against any DynamicOps; the corpus’s universal serialisation vocabulary. → codecs, NBT and JSON

CommandSourceStack — who is running this command, and from where: position, rotation, level, entity, a PermissionSet and an output sink, immutable, so a with… that changes something returns a copy. → Brigadier and commands

Compiled query — the immutable EntitySelector a parse produces: thirteen fields and no grammar, resolvable any number of times against different sources. → entity selectors

Component — two different things the corpus keeps apart: a data component on an item stack, and a Component of chat text. → data components, text components

Connection — the tail handler of one Netty pipeline plus the channel it holds, with exactly one packet listener at a time, swapped when the protocol phase changes. → the connection

Container — the interface a thing with item slots implements (a chest, a hopper, an inventory), as distinct from the menu a player interacts with it through. → containers and menus

Criterion — two different things the corpus keeps apart: one condition inside an advancement, backed by a CriterionTrigger the server fires when the relevant thing happens; and a scoreboard objective’s ObjectiveCriteria, which is what the objective counts. → advancements, scores, teams and stored data

D

DamageSource — the what hit you, and who is responsible record every damage calculation and death message reads. → damage and death

Data component — a typed, codec-backed value keyed by a DataComponentType: a patch over the item’s prototype on a stack, a whole map on a block entity, a view over its own fields and its type’s prototype on an entity; what NBT item tags became. → data components

Data-driven type — the book’s name for the shape a dozen systems share: a registry of types, each type a codec, and an instance a Codec produced from JSON, dispatched on its own type field. Fifty-six registries follow it. → the data-driven type pattern

Data pack — a pack of JSON, structure NBT and function files supplying the server’s data-driven content; the server half of the resource system. → the resource system

DataLayer — the nibble array one section’s block light or sky light lives in, owned by the light engine and never by the section. → lighting

Debug subscription — a registered kind of debug value a client can ask the server for; half the kinds the server polls, diffs and sends only when they change, and the rest it pushes as they happen. → debugging the running game

DeltaTracker — the client’s clock: how much of a tick has elapsed, and the source of every partial tick in the frame but the lightmap’s and a frozen camera entity’s, each a literal one. → the client loop

Density function — a node in the JSON-defined graph that turns a position into a number, but only once compiled into a DensitySampler: the graph in the registry is never the graph that actually runs. → density functions

Dialog — a data-pack-defined form the server can put on a player’s screen, whose submitted values come back as a packet. → dialogs

Dimension — one ServerLevel and its DimensionType: a height range, a set of environment attributes and its own chunk storage. → level data and rules

E

Enchantment — a data-pack record of effect components, most of them conditioned on loot predicates; its registry is synchronised, but a client that already has the pack is sent only the id. → enchantments

Entity — a thing the level ticks in its own right: a position, a bounding box, synched data and a tick method. A block entity is not one. → entity anatomy

EntityType — the registry entry for a kind of entity: its factory, category, size, feature flags and the two numbers that decide how it reaches clients. Spawn rules are keyed by the type in SpawnPlacements, not held on it. → entity anatomy

EnvironmentAttribute — a per-dimension, per-biome, per-time-of-day, per-weather value resolved through a stack of layers: directly on the server, through the camera’s smoothing probe on the client. Not only the visual ones: alongside fog and sky colour sit twenty-three gameplay attributes — whether lava flows fast, whether piglins zombify, whether a bed works, and the villager’s schedule. → environment attributes and timelines

Event loop — the queue-and-thread pairing BlockableEventLoop is: an owning thread that drains posted tasks and, through BlockableEventLoop.managedBlock, keeps draining while it waits. Minecraft and MinecraftServer are both one — but only the server rations the drain against a time budget; the client empties the queue every frame. → the server tick

Experiment — a built-in data pack whose PackSource is PackSource.FEATURE, enabling one non-vanilla FeatureFlag; switching one on in the create-world screen is a data-pack reload. → creating a world

Extract — the first half of the client’s frame: walk the game state, cull it, and write the render states, so that the drawing half reads no live game state from LevelRenderer.render down but what a few snapshots hold by reference (a moving block’s light, a sign’s text, a section compiled on the spot) — the top of the render half still does. The top-level states are single objects re-filled each frame, not fresh immutable values. → the frame

F

Feature — the algorithm half of decoration: what to build, with no say in which positions it is offered. → features and placement

Feature flag — a bit in a FeatureFlagSet, which is a 64-bit mask and the FeatureFlagUniverse it belongs to. There is one universe and four flags in it: vanilla and three experiments. A registry element that is a FeatureElement carries a set, and a lookup narrowed by the world’s enabled set hides it — the registry is still frozen, and the view is what changed. → identifiers and registries

Flat level generator preset — a display item plus a FlatLevelGeneratorSettings, one row of the Superflat Presets screen; nine ship. → creating a world

Fluid — the registry object behind a FluidState, a source and a flowing instance per liquid, with FlowingFluid holding the spread algorithm and LiquidBlock the block form. → fluids

Font — a resource-pack-defined glyph source plus the measuring and wrapping API on top of it; a glyph is baked into a texture the first time its font set is asked for it, and again after a reload or a font-option toggle. → text and fonts

Frame — two different things the corpus keeps apart. In Part XI it is one pass of the client’s render loop, the unit partial tick, extract and the frame graph are all relative to (the frame). In Part XIII it is the execution engine’s unit of a running function: a depth, a result callback that /return feeds sideways, and a control that can delete the frame’s pending work — one object shared by reference across a whole function body, and deliberately not a stack frame. → the execution engine

Frame graph — the client’s per-frame declaration of render passes and the targets each reads and writes, resolved before anything is drawn. → visibility and the frame graph

Function — a .mcfunction file: a list of commands loaded as a CommandFunction, optionally with macro lines. → functions and macros

G

Game event — a broadcast fact about something that just happened at a position (a block placed, a door opened) that sculk sensors and mobs listen for. → game events and vibrations

Game rule — one typed, server-wide switch or number in GameRules, saved with the world and sometimes sent to the client. → level data and rules

Game test — a data-driven test instance: a structure, an environment and a check the server runs and reports on. → game tests

Globally-rendered block entity — one whose renderer says BlockEntityRenderer.shouldRenderOffScreen, so the client keeps it in a level-wide set and draws it whether or not its section is visible; three renderers qualify. → block-entity rendering

Goal — one unit of the older mob AI: a start condition, an answer to whether it may be interrupted, and the set of Goal.Flag controls it claims while running. The priority belongs to the WrappedGoal that holds it, and the flag table rather than the priority is what arbitrates. → AI

GpuDevice — the façade every GPU resource is created through; both graphics backends sit behind it as GpuDeviceBackend implementations. A draw reaches the driver through the CommandEncoder it hands out and the RenderPass that opens. → Blaze3D

GuiRenderState — the 2D render tree: strata of nodes that infer their own layering from bounding boxes and are batched into draw calls at the end of the frame. → the GUI render tree

H

Heightmap — a per-chunk 2D array holding the first free Y above the topmost block matching a predicate; six types exist, and a live chunk keeps the four that survive worldgen and any asked for since. → chunk anatomy

Holder — a reference to a registry entry that can exist before the entry is bound: Holder.Reference for a registered value, Holder.Direct for an inline one. → identifiers and registries

HolderSet — a set of holders: either a tag (HolderSet.Named) or a literal list. → tags

HUD — the in-world overlay (hotbar, hearts, chat, boss bars), which is the class Hud; Gui is the screen and overlay manager that holds it. → the HUD

I

Identifier — a namespace and a path; the id of everything. A 1.21-era reader knows it as ResourceLocation. → identifiers and registries

Ingredient — a recipe’s “any of these items” test. It cannot be an empty inline list, but a tag that resolves to nothing makes one empty — and a recipe holding it is never placeable. → recipes

Integrated server — the MinecraftServer a singleplayer client runs on its own Server thread. Every change to the world still crosses as a packet; a handful of settings cross by direct call. → anatomy

InteractionResult — the answer a block or item gives to a click: was the input consumed, should the arm swing, did the held item change. → block interaction

Item — the singleton for a kind of item, holding none of the components a stack shows; a stack is a holder to one of these, a count, a pop time and a patched component map — the item’s defaults plus the ways this stack differs from them. → items and stacks

ItemStack — the object in a slot: a final class holding a count, a pop time, a Holder of Item, and a patch of data components over the item’s prototype. Only the last is really data; equality is the prototype plus the patch, which is why two identical-looking stacks may refuse to merge. → items and stacks

ItemStackTemplate — the immutable item-shaped record (an item holder, a count, a component patch) that data uses where a live, mutable ItemStack would be wrong. → items and stacks

J

Jigsaw — the structure-assembly system that grows a village out of template pieces by matching connector blocks. → jigsaw and templates

K

KeyMapping — one bindable action: whether its key is down, plus a counter of owed clicks that KeyMapping.consumeClick drains rather than edge-detects. → input and keybinds

L

Level — a world: ServerLevel on the server, ClientLevel on the client, sharing an abstract Level that carries most of the behaviour — ClientLevel differs by hollowing out inherited methods rather than by implementing fewer of them. The word is also a number elsewhere: a ticket level is how strongly a chunk is held, a permission level is one of five ranks, and an enchantment level is an enchantment’s strength. → the level tick, the client level

Lightmap — the small texture the client samples to turn a block-light / sky-light pair into a colour; drawn on the GPU once per tick. → lightmap, fog and sky

LivingEntity — the rung of the entity tree that can be hurt and healed: health, attributes, mob effects, equipment and the shared movement code. It holds 124 of Entity’s 192 descendants and has exactly three direct subclasses — Avatar, ArmorStand and Mob. → entity anatomy

LocalPlayer — the Player a human steers: its own ClientInput, and the last input and position it sent. The block predictions it seems to own are the level’s. → player anatomy

Loot condition — a predicate in the loot package’s own vocabulary (LootItemCondition), asked with a loot context; the same objects the /execute if predicate check runs, under a different name. → contexts and predicates

Loot context — the bag of what was involved — the level, the position, the tool, the killer, the block entity — that every loot roll, predicate and conditional enchantment effect is asked against; a LootContext built to satisfy exactly one parameter set. → contexts and predicates

Loot table — the data-driven roll that turns an event (a block broken, a mob killed, anything at all reading a container that has not been rolled yet) into item stacks. → loot tables

M

Macro — a function line beginning with a $ substitution. The plain lines of the file are parsed once at load; a macro line is substituted and re-parsed per distinct argument tuple, cached only eight deep. → functions and macros

Memory — one typed, optionally expiring value in a Brain; behaviours are gated on which memories are present, absent or merely registered. → AI

Menu — the object behind an open container screen, one copy on each side: slots and a state id, and on the server’s copy the synchroniser that sends its changes to the client. → containers and menus

MinecraftServer — the object that is the server: the thread, the tick loop, every ServerLevel, the player list and the registries the world was loaded with. Singleplayer runs one too, as an IntegratedServer inside the client’s process. → the server tick

MultiPlayerGameMode — the client’s channel for acting on the world: every break, place, use and attack goes through it, and the ones that predict open a prediction window before they send. → prediction and acknowledgement

N

NBT — Minecraft’s binary tag format: a sealed Tag hierarchy whose scalars are records and whose containers (CompoundTag, ListTag) are final classes, read and written through NbtIo and reached by codecs through NbtOps. → codecs, NBT and JSON

NBT path — a compiled query over a tag, six node kinds deep — a named child, an index, all elements, and three kinds of match — that /data uses to read and write, and which materialises the compounds and lists it walks through on a write, though an index never creates the element it names. → scores, teams and stored data

Neighbour update — the server-only notification a block sends its six neighbours after a change; distinct from a shape update, which runs on both sides. → blocks and states

NoiseChunk — the per-chunk workspace (a height query builds a one-column one of its own): it binds the dimension’s compiled samplers to one context that grants the caches the density-function graph asked for and carries the chunk’s beardifier and blender, and it holds the chunk’s Aquifer. → density functions

NoiseRouter — the eight density functions a generator asks for, as one record: six are the climate, which NoiseRouter.createClimateSampler turns into a Climate.Sampler; chunk_surface_level is the surface pass’s; and final_density is the one the fill samples. → density functions

O

Objective — a named scoreboard column: a criterion, a display name, a render type and a number format. Only the dummy and trigger criteria wait for commands; every other one — including every statistic in the game, since Stat extends ObjectiveCriteria — is driven from ServerPlayer. → scores, teams and stored data

Occlusion — four unrelated questions the corpus asks with one word, and no page owns all four. Does this section hide that one is the visibility graph’s, and the answer is a walk rather than a test (visibility and the frame graph). Does this face stop light, or hide the face against it is a shape question every BlockState precomputes — a field on the state itself rather than anything in its shape cache (math and primitives) — and it is, beside a block’s light dampening, what ends a sky column (lighting); the fluid wall test asks the same question of two blocks’ collision shapes, to decide whether fluid may pass between them (why the wall test is affordable). Ambient occlusion is none of that: it is the per-quad shading the mesher bakes in (section meshing). And a vibration’s occlusion is a six-ray raycast for BlockTags.OCCLUDES_VIBRATION_SIGNALS that reports occluded only if all six are stopped (game events and vibrations). A page always means exactly one of the four; the word is the only thing they share.

Old chunk — a chunk whose ChunkAccess.blendingData is non-null, which is to say one whose save data carried a blending_data compound; ChunkAccess.isOldNoiseGeneration is the test. → blending at the old-chunk border

P

Packet — an interface: a PacketType, which is a name and a direction, and one handler method. It comes in three shapes, each class but the bundle packet and its delimiter declares its wire form as a StreamCodec, which the phase’s protocol description dispatches to by the packet’s type, and two dozen types are registered into more than one phase. → packets and stream codecs

PalettedContainer — the bit-packed storage a chunk section keeps its block states and biomes in, with a palette that grows as the section gets more varied. → chunk anatomy

Parameter set — the declared contract between a loot context and the things asked against it: a ContextKeySet naming which ContextKeys must be present and which may be. Building a context with a parameter the set does not allow, or without one it requires, throws; asking for one that is absent gives nothing; and loading a table reports an element that reads a key its set does not allow — the three ways a parameter can be missing. All thirty-one sets are listed in loot context parameter sets. → contexts and predicates

Partial tick — the fraction of a tick elapsed at the moment a frame is drawn, used to interpolate the world. There is no single one: a frame carries six values, they disagree on purpose, and two of them, the one screens are handed among them, are not fractions of a tick at all. → the frame

Particle — a client-only object with a position, a velocity and an age, most of them a textured quad, ticked by the ParticleEngine and extracted from it each frame. Nothing about it is authoritative: it is spawned locally, by prediction, by the ambient scatter or on a packet or level event, and the server is told the player’s particle setting and never acts on it. → particles

Path — the list of nodes a navigator is following, produced by PathFinder’s A* over a snapshot of already-loaded chunks, with a NodeEvaluator deciding what each candidate block is to this mob. → pathfinding

Permission atom — a named capability with an Identifier (Permission.Atom), the other kind of permission besides a command level; an operator’s level-based set grants exactly one, the entity-selector atom, from gamemaster up. → permissions

Permission level — one rung of PermissionLevel (all, moderators, gamemasters, admins, owners), and only the ordered half of a permission: a command source carries a PermissionSet and a node requires a PermissionCheck, neither of which is an integer. → permissions

Permission set — what a command source carries and a node’s check is asked against: on the server a level-based set (a rung plus one atom). The client rebuilds four of those from the op level it is told — rung zero maps to PermissionSet.NO_PERMISSIONS instead — and keeps a chat set built by subtraction beside them. No packet carries a PermissionSet itself. → permissions

PlacedFeature — a feature plus an ordered list of placement modifiers; the unit a biome names. → features and placement

Player — the shared player class: the inventory and ender chest, the open menu, the abilities, the food and experience bars, sleep, and the cooldowns. ServerPlayer is its server subclass, LocalPlayer and RemotePlayer its client ones (through AbstractClientPlayer), and an Avatar is the rung above it. → player anatomy

Point of interest — a block state the game has decided is worth walking to: a bed, a job site, a portal. PoiManager indexes them by position, in its own files beside the chunks. → points of interest

Prediction ledger — the corpus’s name for BlockStatePredictionHandler: the client’s record of what the server is known to have at a block it changed optimistically. The ack is a receipt for a number, not a verdict — it settles every entry at or below it, writing back a correction if one arrived and rolling the block back if none did. → prediction and acknowledgement

Protocol phase — one of handshaking, status, login, configuration and play; each has its own packet table and its own listener. → protocol phases

Q

Quart — a four-block cell, the resolution biomes are stored and sampled at; QuartPos is the arithmetic, tabulated with the other coordinate spaces in math and primitives. → biomes

R

Random tick — a turn a block gets that nobody booked: aimed at no block, carrying no promise, and drawn from the entity-ticking chunk set rather than the wider block-ticking one a scheduled tick uses — so there is a ring of chunks where appointments come due and nothing is ever chosen at random. → scheduled ticks

Recipe — a server-side matcher and assembler; no Recipe ever crosses the wire. The client gets a RecipeDisplay and a RecipeDisplayId, which is a position in a list rather than the recipe’s name. → recipes

Region file — the 32-by-32-chunk container file chunks are stored in, addressed by a sector table at its head. → chunk storage

Registry — a frozen, id-assigning table of one kind of thing; some are built into the jar, some are loaded from data packs, some are sent to the client, and the 161 registry keys are listed in registries. → identifiers and registries

Reload listener — the unit of a reload: one object that reads what it needs off the worker pool and swaps its live state on the owning thread, every apply running in order behind a PreparableReloadListener.PreparationBarrier. → the resource system

Render state — the snapshot of what to draw, produced by the extract half of the frame and consumed by the drawing half; the property that matters is that the drawing half reads no game state below LevelRenderer.render but what a few snapshots hold by reference (see Extract for where the wall actually is). → the frame

RenderPipeline — the client’s declaration of how to rasterise: shaders, blend, depth, cull, vertex format, topology. It says nothing about which textures to bind, which RenderType adds, or which target to draw into, which is the one its RenderPass was opened on. → Blaze3D

RenderType — a RenderPipeline plus the textures to bind and the layering and batching rules. Neither says which target to draw into: a RenderType draws into whatever RenderPass its caller has opened. → Blaze3D

Resource pack — a pack of assets; the client half of the same pack machinery data packs use. → the resource system

S

SavedData — a named, codec-backed blob stored beside the world (the border, the weather, the rules, raids, the dragon fight); level.dat itself is nearly a stub. → level data and rules

Scheduled tick — a block or fluid position queued to run at a named future tick, with a priority breaking ties inside that tick. → scheduled ticks

Score — one number for one holder under one objective, reached through a ScoreAccess handle rather than a setter. → scores, teams and stored data

Screen — one full-window client UI with its own widget tree and lifecycle; the server is told nothing about most of them. → GUI and screens

Section — a 16-cubed piece of a chunk: one paletted container of block states, one of biomes, and four counters. Its light lives in the light engine’s own storage, not on the section. → chunk anatomy

Section mesh — what one section compiled to (CompiledSectionMesh): a draw record per layer into the shared vertex arenas, the visibility set, the block entities and the translucent layer’s sort state, rebuilt when the section is both dirty and visible — usually on a worker, but inline on the Render thread when the chunk-builder option asks for it. → section meshing

Selector head — the single character after the @ (a, e, n, p, r, s) that sets a selector’s default limit, order and entity scope before any option is read; three of the six also pin the type to player, and two instead add an aliveness test. → entity selectors

Sensor (brains) — the half of brain AI that writes memories from the world, on a fixed interval. A sculk sensor is a block and a different subject (one footstep, and the ticks it takes to arrive). → AI

ServerEntity — the server’s per-tracked-entity bookkeeping: what the watching clients were last told, and what to send them next. → what the client is told

ServerPlayer — the server’s copy of a player: the entity, the connection’s listener, the game-mode object and the session state, all on one class. LocalPlayer is the client’s answer to it, RemotePlayer the client’s copy of anyone else, and all three share Player. → player anatomy

Shape update — the “your neighbour changed, recompute yourself” call that runs on both client and server, unlike a neighbour update. → blocks and states

Signed message — a chat message carrying a signature over its content and its place in a per-player chain, so the server, and every client that holds the sender’s session, can check who said it. → chat and signing

Simulation distance — how far the world ticks, as against how far you can see: the radius behind TicketType.PLAYER_SIMULATION, deciding which chunks tick blocks, fluids and entities. → tickets and loading

Special model renderer — a hand-written submitter for a shape no cuboid model can express, reached from an item model or a block state rather than from a block entity; thirteen of them. → block-entity rendering

Staging buffer — in the command engine, the list an executing action appends its spawned commands to, spliced onto the head of the queue after it runs — which is what makes an ArrayDeque behave as a call stack. → the execution engine

Status effect — a MobEffect held on a LivingEntity with an amplifier and a duration; the ones that change a number mostly do it by attaching an attribute modifier, and others are read where the number is used, jump boost, slow falling and levitation among them. → status effects

StreamCodec — the wire counterpart of a Codec: encodes to and decodes from a ByteBuf, with no schema and no field names. → packets and stream codecs

Structure — a generated building or landmark: a placement lottery, a start assembled in memory, and pieces written a chunk at a time. → structure placement

StructurePiece — one room, corridor or slab of a structure. In the hand-built half it is a Java class that writes its own blocks and, in the procedural graphs, constructs its own neighbours, chosen by no pool; the jigsaw half’s PoolElementStructurePiece is one too. Every piece carries a registered StructurePieceType, which is how it comes back off disk. → hand-built structures

StructureStart — one decided structure: the Structure, the chunk it started in, a PiecesContainer, a reference count and a cached bounding box, stored on the chunk it began in. → structure placement

Submit node — one thing to draw that is not terrain, written into SubmitNodeStorage by the submit pass out of the render states extract left behind, and sorted into a phase before the feature renderers turn it into vertices; the fifteen phases and the twelve renderers are listed in submit phases. → entity rendering

SynchedEntityData — the per-entity table of small values the server pushes to watching clients, keyed by class-tree ordinal. → synched entity data

T

Tag — a named set of registry entries defined by data packs and merged across them, unless a higher pack sets replace. (The unrelated NBT sense of the word belongs to NBT.) → tags

Team — a named set of score holders carrying a colour, a friendly-fire flag, a collision rule and a nametag rule — so a class in the scores package is read by collision and by rendering. → scores, teams and stored data

Tick — one step of the server’s simulation, 50 ms at the default rate that /tick rate can change, or one step of the client’s; a client behind the clock catches up to ten accumulated ticks in a frame and discards the rest. → the server tick, the client loop

Ticket — the reason a chunk is loaded: a type and a level, fed by its type’s flags into one or both of two separate graphs, with ChunkLevel deciding what the level buys — a holder still generating toward some status, then full, then block-ticking, then entity-ticking. → tickets and loading

Timeline — one clock’s data-driven curve set: an optional period, the named instants on that clock, and one AttributeTrack per environment attribute — keyframed over modifier arguments, which for an override are the values themselves. → environment attributes and timelines

Trigger (advancements) — the server-side hook that tells one player’s advancement state that something happened, by sweeping that player’s listener map for this trigger. Nothing broadcasts. The scoreboard’s trigger criterion and the /trigger command are a different thing entirely (scores, teams and stored data). → advancements

U

Unattended command — a command the player did not type: a dialog button or a chat click event, sent through ClientPacketListener.sendUnattendedCommand. The client re-parses it and asks first if it fails to parse, needs a signature, or needs any permission at all; a clean one goes without a prompt. A sign’s command is not one of these — it runs on the server at gamemaster level, only on a sign whose allow_op_features flag is set, and the client is never asked. → permissions

V

View distance — how far the server sends chunks. A client’s render-distance request only clamps what it is sent; the ticket radius comes from the server’s own number. Not simulation distance, which is how far the world ticks. → tickets and loading

VoxelShape — the collision or outline volume of a block state, a set of boxes over a bit grid, with fast merge and sweep operations. → math and primitives

W

Watchdog — ServerWatchdog, the daemon that treats a tick longer than max-tick-time as a dead server: it writes a crash report, calls System.exit, and halts the JVM ten seconds later if the shutdown has not ended it by then. → how a server dies

Widget — an AbstractWidget, the reusable piece of a screen: a button, a slider, an edit box. It is usually in all three of a screen’s lists at once — the children that get input, the renderables that get extracted, and the narratables that get described. → GUI and screens

Window — the SDL window handle the whole client hangs off: the framebuffer size, the GUI scale, fullscreen, and the nineteen kinds of event Window.handleEvent answers — not the input ones, which SDLEventHandler hands to KeyboardHandler and MouseHandler. → the window

World clock — the identity a timeline is sampled against: a unit record in Registries.WORLD_CLOCK, two of them in vanilla, holding nothing at all. The tick count, the rate and the paused flag are ServerClockManager.ServerClockInstance’s, one per clock, and /time can move or pause each independently. → environment attributes and timelines

World gen settings — WorldGenSettings: a WorldOptions (the seed, generate structures, bonus chest and a legacy string) and the LevelStem map, a SavedData written to data/minecraft/world_gen_settings.dat. It is the one piece of world generation’s own settings that is saved; the worldgen registries are re-read from the enabled packs on every world open, and a template is looked for in the world’s own files before the packs’. → creating a world

World-limited — a parse-time flag, set by any of seven positional selector options, that confines a selector’s resolve to the source’s own level instead of every level on the server. → entity selectors

World preset — a WorldPreset registry entry holding one LevelStem per dimension; what the world-type button selects, and what level-type names on a dedicated server. → creating a world

World stem — WorldStem, the four things WorldLoader.load hands the server constructor in one bundle: the resource manager, the reloadable server resources, the layered registries, and the level data with its gen settings. → starting a server

WorldGenRegion — the bounded, write-guarded view of the world a generation step is given; it throws rather than loading a chunk, which is why cascading worldgen cannot happen. → the chunk generation pipeline


Rules: names, never code · how the system works, not how the code reads · newest version only · every backticked name passes tools/verify_names.py.