Custom content
content.luau declares what your experience adds to Minecraft: blocks, items, mobs, display models, font images, tags and recipes. It runs once when the experience is built, not during a match, and only the content global exists there.
Items
Coin Rush's whole content.luau is one line:
content.item("coin", { base = "minecraft:sunflower", name = "Coin", color = 0xFFD700, stack = 64 })
Scripts then give it by its key: player:give("coin"). A key without a namespace means your own item if you declared one, the vanilla item otherwise. See ItemDef for every field.
Blocks and mobs
content.block and content.mob take a BlockDef and a MobDef. Their models and textures live in assets/:
assets/models/<path>.json
assets/textures/<path>.png
Glowstone Create previews models, item definitions and Blockbench .bbmodel files in 3D beside the editor.
Recipes and tags
content.itemTag("gems", { "ruby", "minecraft:emerald" })
content.shaped("ruby_block", {
pattern = { "rrr", "rrr", "rrr" },
key = { r = "ruby" },
result = "ruby_block",
})
"#gems" names the tag wherever an ingredient is expected.
Mistakes are caught early
A malformed table, unknown field, duplicate key, missing asset or passed quota is refused when content is built, reported as the file:line of the call that caused it. The ContentApi page lists the quotas.