Glossary
A plain-language reference to the terms used throughout this book, written for readers age 12 and up with no coding background. Terms are listed alphabetically.
Advancement — A built-in way the game guides players through Minecraft and hands out challenges to complete, similar to achievements; you can also make your own as JSON files in a data pack.
Argument types — The categories of value a command is allowed to accept in each of its slots — for example a true/false flag, a number, a player, or a position. Each spot in a command expects a particular argument type.
Assets — The folder (assets/<namespace>/...) inside a resource pack where the game looks for the pack’s files, such as textures, models, and sounds.
Attribute — A numeric property of a player, mob, or armor stand, such as max health or movement speed. Each entity has a base value plus modifiers that adjust it to a final value.
Biome (world generation) — A region of the world with its own geography, plants, mobs, temperature, and colors, chosen while the world is being generated. Data packs store biomes as JSON files that set things like rainfall and temperature.
Biome definition — The JSON file (at data/<namespace>/worldgen/biome/<name>.json) that defines one biome: its has_precipitation, temperature, downfall, color effects (such as the required water_color), the carvers and features it generates, and its spawners. Because biomes are a dynamic registry, the file loads when a world is created or opened — not on /reload.
Biome tag — A named group of biomes (a tag file under tags/worldgen/biome/). The game uses biome tags to control where structures generate, to set the spawn conditions of entities (including which animal variant spawns), and as a #namespace:tag biome argument in commands.
Downfall — A biome’s humidity value from 0.0 to 1.0, used mainly for grass and foliage colors; above 0.85 a biome counts as “humid.” Separate from has_precipitation, which simply turns rain/snow on or off.
Mob category (spawning) — One of the eight groups a biome’s spawners block sorts mobs into — monster, creature, ambient, water_creature, underground_water_creature, water_ambient, misc, or axolotls. Each spawn entry sets a mob type, a weight (how often), and a minCount/maxCount pack size. A category that is missing or empty spawns nothing.
Mob-variant definition registry — One of the dynamic registries holding a mob’s appearance variants — cat_variant, chicken_variant, cow_variant, frog_variant, pig_variant, wolf_variant, wolf_sound_variant, zombie_nautilus_variant — each its own data-pack folder. The matching minecraft:<mob>/variant item component (Chapter 23) is a string naming one of these entries. For the exact fields inside a variant definition file, see the Minecraft Wiki.
click_event — An optional part of a text component that makes something happen — like running a command or opening a link — when a player clicks the text.
Command storage — A general-purpose, named place where commands can save and read NBT data without needing a block or entity to hold it. Each storage has a namespaced ID so different packs don’t clash.
Components syntax [...] — In commands like /give, you write an item as item_id[component=value,...], listing its data components in square brackets right after the item’s ID. Putting ! in front of a component (item_id[!component]) removes it instead.
Configured feature — A JSON file describing a single thing world generation can place — like a tree, an ore blob, or a patch of flowers — already set up with its options.
Coordinates — Numbers marking a spot in the world. Absolute coordinates are exact; ~ (tilde) coordinates are measured relative to where the command runs; and ^ (caret) “local” coordinates are measured from the way the executor is facing (left, up, and forward).
Criterion / trigger — A criterion is one named requirement an advancement watches for. Each criterion names a trigger — the in-game event that sets it off, such as picking up an item — plus optional extra conditions that must also be true.
custom_data — A data component that stores extra key-value information the game itself ignores, so packs can stash their own tags on an item (for example custom_data={team:"red"}).
custom_model_data — A data component holding values (numbers, flags, strings, colors) that an item model definition reads to decide which custom model or color to show for that item.
Damage type — A JSON file in a data pack defining a kind of damage an entity can take, including its behavior and the death message shown when it kills something. Custom damage types are dealt with the /damage command.
/damage — A command that deals a chosen amount of damage to entities using the game’s normal damage logic, so protections like fire resistance can still reduce or cancel it.
Data component — A structured, named piece of data attached to something (most often an item) that stores information and defines behavior; each has a namespaced ID like minecraft:custom_name and a value. On items they are called item components.
Data component predicate — A test that checks an item’s data components and returns pass or fail. It’s used in places like item modifiers, loot conditions, advancement criteria, and entity or block checks.
Data pack — A folder or .zip file (containing a pack.mcmeta) full of data that configures Minecraft features such as advancements, dimensions, enchantments, loot tables, recipes, structures, and biomes. The vanilla game itself is defined with a built-in data pack.
/data — A command that gets, merges, modifies, or removes the NBT data of a block entity, an entity, or command storage, using the instructions get, merge, modify, and remove.
Density function — A JSON file holding a math expression that produces a number for any position in the world. The noise router uses these to shape terrain.
Dialog — A pop-up window you must respond to that can show information and take input from the player, using things like text boxes, toggles, sliders, and buttons that run commands.
Dimension — A parallel world inside a Minecraft world — its own separate 3D space (like the Overworld, Nether, and End) with its own generation, biomes, and structures.
Dimension type — A JSON file that sets a dimension’s properties, such as its build-height limits and how much ambient light it has.
Enchantment definition — A JSON file in a data pack describing one enchantment: which items it works on, its maximum level, its cost, and its effects.
enchantment_provider — A data-pack folder holding ready-made selections of enchantments for specific uses.
Entity tag — A named group of entity types, written with a leading #, so a command or condition can match any type in the group at once (for example in a selector’s type argument).
/execute — A command that runs another command while changing who runs it, where and at what angle, testing conditions first, or storing the result. You chain helper pieces (subcommands) and finish with run.
Fake player — A made-up name used as a scoreboard score holder that doesn’t belong to any real player, handy for storing global numbers.
Feature flag — A switch that turns on experimental features for a world. Flags can only be enabled when the world is created, and a data pack that needs an unenabled flag won’t load.
Function (.mcfunction) — A plain text file (ending in .mcfunction) in a data pack that lists commands, one per line and without the leading slash. Running the function carries out all those commands in order.
Function tag (minecraft:load / minecraft:tick) — A named group of functions you can run together. Functions in minecraft:load run once when the world loads or packs reload; functions in minecraft:tick run every tick.
Game rule — One of a set of adjustable on/off or value options for a single world, changeable from menus or with the /gamerule command.
hover_event — An optional part of a text component that shows a tooltip (a small pop-up box) when a player hovers the mouse over the text.
Identifier / resource location — A namespaced name in the form namespace:path that points to a game object (block, item, entity type, function, etc.) with no ambiguity. Also called a resource location or namespaced ID.
Item model definition — A JSON file in a resource pack (assets/<namespace>/items) that tells the game which model to draw for an item, possibly choosing different models based on the item’s components or situation.
Item modifier — A change (or list of changes) applied to an item stack — like setting its count or adding enchantments. It can be saved as its own JSON file or used inside a loot table.
Jigsaw / Jigsaw Block — A technical block used to build large structures out of smaller saved sections, connecting them together piece by piece during generation.
JSON — A simple text format of key-value pairs and lists used to store and share data. Minecraft uses JSON for many data-pack files like advancements, loot tables, tags, recipes, and predicates.
Loot context — The set of input values available to a loot table, predicate, item modifier, or number provider — for example which entity or position is involved — used to check whether they make sense for a given situation.
Loot function — A single change applied to an item that a loot table produces, such as setting its stack size or adding enchantments.
Loot table — A JSON file that decides which items appear in a situation — what’s inside generated chests, what a broken block or killed mob drops, what you fish up, and so on.
Macro / $(key) — A function line that starts with $ and pulls in values passed to the function. You write $(key) where a value should go, and the game swaps in that key’s value just before running the line.
min_format / max_format — Fields in pack.mcmeta giving the lowest (min_format) and highest (max_format) pack version a pack supports, so the game can tell whether the pack fits your version. Each is a number or a [major, minor] pair.
Mob variant — A data component recording which visual version a mob is (for example cat/variant storing a cat’s look). For the underlying variant definition files, see the Minecraft Wiki.
Namespace — A labeled grouping for content (the part before the colon in namespace:path) that keeps names from two packs from clashing. If you don’t give one, it defaults to minecraft.
NBT — “Named Binary Tag,” a tree-shaped data format Minecraft uses inside many save files. It’s built from tags, each with a type, a name, and a value.
NBT path — A short text string that points at specific data inside an NBT tree, written as nodes separated by dots, where each node selects which child tags to grab.
Noise router — A bundle of density functions used during terrain generation to shape land, place biomes, fill aquifers, run ore veins, and more. It’s part of a dimension’s noise settings.
Number provider — The way a loot table supplies a number where one is needed (like how many times to roll a pool): either a fixed constant, or a min/max range the game picks randomly from.
Pack format (legacy / pack_format) — An older single number in pack.mcmeta saying which Java version a pack was built for, used to check compatibility. It has been replaced by min_format and max_format.
pack.mcmeta — The metadata file whose presence tells Minecraft that a folder or .zip is a real data pack or resource pack, and which holds version and description info.
Pack overlay — An optional sub-pack applied on top of a pack’s normal contents for certain game versions. Each overlay has its own folder, and they’re applied in the order listed.
Placed feature — A JSON file that decides where a configured feature actually gets placed in the world, using placement rules, and can be pointed to by biomes.
Pool / entry / weight — A loot table holds pools; each pool is rolled a set number of times, and every roll picks one entry. An entry’s weight is a number setting how likely it is to be chosen — its share of the pool’s total weight.
Predicate — A JSON file that checks conditions in the world and returns pass or fail, letting data packs write “if this, then that” logic without real code. It can be called by data packs or commands.
/random — A command that produces a random whole number in a range you give (like 1..6), or manages the world’s random sequences.
Raycasting — A technique built from /execute using anchored eyes, positioned, and local ^ ^ ^ coordinates to step a point forward along the line of sight.
Recipe — A data-driven rule that lets players transform items and blocks: crafting, smelting, blasting, smoking, campfire cooking, stonecutting, and smithing all use it. Types include crafting_shaped, crafting_shapeless, crafting_transmute, crafting_dye, the hardcoded crafting_special_* recipes, smithing_transform, and smithing_trim.
Registry — A catalog of game objects that share a kind of identifier. Most registries are internal, but some “dynamic” ones can have content added through data packs.
/reload — A command that re-reads the current data packs so your latest edits take effect without leaving the world. Broken data is skipped and the previous working version is kept.
Resource pack — A folder or .zip that customizes the game’s look and feel — textures, models, sounds, music, languages, and fonts — without changing any code. Often paired with a data pack.
/return — A command used inside a function to stop it early and set the value it hands back to whatever called it. It can also cut off a forking /execute after the first branch.
/schedule — A command that tells the game to run a function (or a function tag) later, after a set delay, with options to replace or add to an existing schedule.
Scoreboard / objective — The command-driven system that tracks numbers for players and entities. An objective is one named counter on it (with a criterion saying what it tracks), and each holder’s value is a whole number.
SNBT — “Stringified NBT,” the readable text form of NBT data used a lot in Java commands. Its top level is usually a compound: key-value pairs inside curly braces { }.
Sounds.json — A resource-pack file that tells the game which sound files to play for each in-game sound event.
Structure / Structure Block — A structure is a naturally generated formation you can find with /locate and place with /place. A structure block is the in-game block used to save, load, and generate structures by hand.
Structure set — A JSON file that decides where structures appear during world generation; simply having the file makes those structures generate.
sulfur_cube_archetype — A JSON file in a data pack defining how sulfur cubes behave, such as their attribute modifiers and whether they float in liquids.
supported_formats — A pack.mcmeta field listing the major pack versions a pack supports — a single number, a list, or a min/max range — which must match the min_format and max_format values.
Surface rule — A decision-tree of conditions that decides which block goes at each surface spot of the terrain (grass and dirt, badlands bands, deepslate, bedrock, and so on), used in a pack’s noise settings.
Tag (registry) — A named group of game elements treated as one category, written with a leading #. For example #minecraft:logs stands for every log block at once, so a command or recipe using it applies to them all.
Target selector — A shorthand for picking players or entities in commands without naming them: @p (nearest player), @a (all players), @e (all entities), @s (the executor). You add [...] arguments to filter the targets.
/tellraw — A command that sends a formatted message — written as a text component, so you control color, styling, and click actions — to chosen players.
Template pool — A group of structure pieces for jigsaw structures, stored as a data-pack file, from which pieces are randomly chosen during generation.
Text component — The format Minecraft uses for rich, formatted text (historically called “raw JSON text”). A root component can hold child components, which inherit its formatting and interactivity.
Tick — One step of the game loop. Minecraft normally runs 20 ticks per second (one every 0.05 seconds), and most timed actions are measured in ticks.
/title — A command that shows big on-screen text: a large center title, an optional subtitle beneath it, and text on the action bar above the hotbar, with adjustable fade-in, stay, and fade-out times.
UUID — A “Universally Unique Identifier,” a 128-bit number Minecraft uses to tell things apart, usually written as hyphenated hexadecimal in an 8-4-4-4-12 pattern.
Villager trade / trade set — Trading is the mechanic for exchanging emeralds and items with villagers and wandering traders; a villager trade tag is a named group of such trades.
World preset — A setting that decides which dimensions a new world will have (picked with the “World Type” button when creating a world) and can be customized by a data pack.