A Composite Entry is a powerful feature that allows you to group multiple entities or blocks into a single book page, or render custom scenes using NBT structures.
The individual components will automatically be removed from all categories.
You can define composites by creating a JSON file at:
data/<namespace>/fieldguide/composites/<filename>.json
Standard Composites
For a single static scene, use structure_nbt or render:
{"values": [{"id": "minecraft:mangrove_propagule","structure_nbt": "fieldguide:mangrove","components": ["minecraft:mangrove_log","minecraft:mangrove_leaves","minecraft:mangrove_roots","minecraft:muddy_mangrove_roots"]}]}
Visual Variants (Multi-Image Composites)
If you want a single entry to feature multiple cycleable images or structures (e.g., grouping multiple mods' trees into one page), you can define an array of visual_variants:
{"values": [{"id": "fieldguide:palm_tree_group","display": "minecraft:jungle_sapling","components": ["biomesoplenty:palm_log","beachparty:palm_log"],"visual_variants": [{"variant_id": "bop_palm","display_name": "Biomes O' Plenty Palm","structure_nbt": "biomesoplenty:palm_tree","components": ["biomesoplenty:palm_log", "biomesoplenty:palm_leaves"]},{"variant_id": "beachparty_palm","display_name": "Beachparty Palm","render": ["beachparty:palm_log", "beachparty:palm_leaves"]}]}]}
id: The unique identifier for this custom entry.display: The primary entity or block ID to represent this entry in the UI.components: An array of entity/block/item IDs that make up this composite entry.structure_nbt/render: Used for a single-image composite.visual_variants: An array of variant objects that create interactive tabs on the entry page. Each variant needs avariant_idanddisplay_name, plus exactly one display source:structure_nbtand/orrender: render a multi-block structure (as above).entity: render a mob by its entity ID (e.g."minecraft:husk"). Optionally addnbt(an SNBT string like"{IsBaby:1b}") to configure it.block: render a single block by ID.item: render an item by ID.components(optional): the entity/block/item IDs belonging to this variant, used to unlock it when scanned. Defaults to the variant'sentity/block/item(or itsrenderblocks). Scanning any listed target unlocks that specific variant.
This lets you group mobs, blocks, and items from different mods/namespaces under one entry — for example consolidating several mods' palm trees, the maple-tree color variants of Biomes O' Plenty and Mystic's Biomes, or related mobs that other mods register as separate entities.
When a variant uses entity/block/item, its name, description, and loot are taken from that target automatically (so each grouped mob/block/item shows its own info instead of the base entry's). You can still override per variant with a custom in-book edit or the lang keys fieldguide.<type>.<path>.<variant_id>.description and fieldguide.name.<type>.<path>.<variant_id>.
{"values": [{"id": "fieldguide:zombie_family","display": "minecraft:zombie","components": ["minecraft:zombie", "minecraft:husk", "minecraft:drowned"],"visual_variants": [{ "variant_id": "zombie", "display_name": "Zombie", "entity": "minecraft:zombie", "components": ["minecraft:zombie"] },{ "variant_id": "husk", "display_name": "Husk", "entity": "minecraft:husk", "components": ["minecraft:husk"] },{ "variant_id": "drowned", "display_name": "Drowned", "entity": "minecraft:drowned", "components": ["minecraft:drowned"] }]}]}