Recipes and ingredients
Some content cannot ship with DigitalHeaven: a game’s models and textures, a paid avatar base, an asset pack someone bought. DigitalHeaven still has to work with it. Two words name the two halves of how.
The terms
Section titled “The terms”- Recipe: what DigitalHeaven ships. A recipe is public: the DH definitions, the shapes and mappings, and the integration code that know how to turn a platform’s content into DH content. Anyone can read one. It carries no one’s assets.
- Ingredients: your own files that DigitalHeaven cannot distribute. A game install, a Minecraft client jar, a world save, a paid avatar base, purchased assets. They stay with you; nothing about them is uploaded or stored by DH.
Recipe + ingredients → a local pallet that carries the shared platform ID. Two people who cook the same recipe from their own copies of the ingredients end up with pallets that answer to the same ID, so a map, a voxel container or an avatar can name that ID and resolve on both machines. The pallet is generated on your machine. DigitalHeaven never ships it; the recipe is what is published. Friends you play with can receive the pallet in multiplayer, as part of how DigitalHeaven shares content between players, so everyone in a session sees the same thing. That is DigitalHeaven’s model, not a statement about any publisher’s terms for the files you supplied.
Other projects name the same idea differently: “game data files” (OpenMW), “original files” (OpenRCT2, DevilutionX) or a “baserom” (Ship of Harkinian) are the ingredients, and “extraction” is the cooking. The closest precedent in tooling is Nix’s requireFile, where a recipe declares the file it needs and the user supplies it.
Ingredients by platform
Section titled “Ingredients by platform”| Recipe | Ingredients you supply | Makes | Page |
|---|---|---|---|
| Minecraft | A Java Edition client jar (found in your launchers), and for a world, its save folder | com.mojang.minecraft, and a map pallet per world | Minecraft |
| Source | The game install (and its Workshop addons) a map or material comes from | A map pallet, and the models and materials it needs | Source |
| Source 2 | A built map .vpk from your install | A map pallet | Source 2 |
| Unity games | The game’s AssetBundles and Addressables from your install (planned) | The game’s pallet | Unity import |
| Avatar bases | The package you bought, such as a .unitypackage or zip (planned) | A local pallet under the base’s shared ID | Offline library |
What a recipe holds
Section titled “What a recipe holds”A recipe is data and code, never content. It can include an importer compiled into DH, the table that maps one platform’s names to DH’s, the shapes DH draws for what the platform draws in code, and a descriptor that says which ingredients it expects. For a paid avatar base the plan is for that descriptor to list the package file names and SHA-256 hashes of the versions it knows, and to refuse a file that matches none (see the offline library); that check is designed, not built yet. A recipe does not include a single byte of what you own.
A recipe’s version moves when its output would change, so Studio can say that a recipe changed and offer to cook again from the same ingredients.
Not the same word
Section titled “Not the same word”“Recipe” has other meanings in nearby places. A Minecraft crafting recipe is a different thing: it is the game’s own, and DH does not read it. A mip or transition “recipe” elsewhere in the docs is a fixed set of steps in the engine. This page’s meaning is the one for importing content.