Skip to content

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.

  • 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.

RecipeIngredients you supplyMakesPage
MinecraftA Java Edition client jar (found in your launchers), and for a world, its save foldercom.mojang.minecraft, and a map pallet per worldMinecraft
SourceThe game install (and its Workshop addons) a map or material comes fromA map pallet, and the models and materials it needsSource
Source 2A built map .vpk from your installA map palletSource 2
Unity gamesThe game’s AssetBundles and Addressables from your install (planned)The game’s palletUnity import
Avatar basesThe package you bought, such as a .unitypackage or zip (planned)A local pallet under the base’s shared IDOffline library

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.

“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.