{"id":18623666,"url":"https://github.com/Ueaj-Kerman/Minecraft-Recipe-Format","last_synced_at":"2025-11-03T18:30:27.976Z","repository":{"id":111232663,"uuid":"275002835","full_name":"Devan-Kerman/Minecraft-Recipe-Format","owner":"Devan-Kerman","description":"An enhanced format for recipes","archived":false,"fork":false,"pushed_at":"2020-09-10T17:15:03.000Z","size":84,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-27T05:25:04.184Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Devan-Kerman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-25T19:52:56.000Z","updated_at":"2020-09-10T17:15:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"f1b62e3e-fb1c-4d03-931d-e8d517879c33","html_url":"https://github.com/Devan-Kerman/Minecraft-Recipe-Format","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devan-Kerman%2FMinecraft-Recipe-Format","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devan-Kerman%2FMinecraft-Recipe-Format/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devan-Kerman%2FMinecraft-Recipe-Format/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devan-Kerman%2FMinecraft-Recipe-Format/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Devan-Kerman","download_url":"https://codeload.github.com/Devan-Kerman/Minecraft-Recipe-Format/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239418575,"owners_count":19635208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T04:25:34.024Z","updated_at":"2025-11-03T18:30:27.905Z","avatar_url":"https://github.com/Devan-Kerman.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Minecraft-Recipe-Format\nAn enhanced format for recipes\n\n# Maven\n```\nrepositories {\n\tmaven {\n\t\turl = 'https://raw.githubusercontent.com/Devan-Kerman/Devan-Repo/master/'\n\t}\n}\ndependencies {\n  modImplementation group: 'net.devtech', name: 'Minecraft-Recipe-Format', version: '1.1.4'\n}\n```\n\n# MCRF developer documentation\nnet.devtech.mcrf.util.RefreshingRecipe\nand net.devtech.mcrf.recipes.RecipeSchema and it's inner classes\n\n# MCRF user documentation\n\n## Format\n\n`(input 1) + (input 2) + (input 3)... --[machine:id]-\u003e (output 1) + (output 2) + (output 3)`\n\ndifferent parsers have different specifications.\n\nan exception to remember, the string `--[`, may have different implications depending on the code of ther parser,\nso it is important for devs to remember to state they are using a retroactive parser or not. If you are a user:\nretroactive parsing requires you to escape `--[`, by using `\\--[` instead.\n\nThat's the entire format, I'll go over the default supported parsers here:\n\n## Comments\n```\n% this is a comment\n% it can start anywhere in the line\n% from the start of the percent sign to the end of the line is considered a comment\n% comments can be escaped with '\\', so for example\nThis mod is written 100\\% in java\n```\n\n## Floating Point Numbers\nthese all come in decimal format, so 1.4, and negatives are supported, no fractions.\n\n## Integers\nBinary is supported via the \"0b\" prefix, ex. 0b011010\nHexadecimal is also supported via the \"0x\" prefix, ex. 0xFFFFFF\nand of course decimal numbers are supported too, but no prefix is needed, ex. 142221\nnegatives are supported as well.\n\n## Lists\nlists are enclosed with a '[]', all elements inside are comma separated.\nex. [stone, iron, lead]\n\nthere are also list or singleton parsers, which, in the absence of a '[' character at the beginning of the element, will\ninstead just parse one element.\n\nso for example, both of the following are still valid:\n```\nstone --[test:test]-\u003e ...\n[stone, air] --[test:test]-\u003e ...\n```\n\n# Strings\nstrings are unquoted but require heavy escaping\nnewlines, commas, pluses, and dashes all need escaping\nthey can all be escaped with '\\', ex. a '\\' that does not\nescape anything is a '\\', if you want to end with a '\\' simply\nput \"\\\\\".\n```\n1\\+2=3\n/o\\ help, I my head hurts\n```\n\n## Wildcards\nsome recipes (anvil smashing result) will accept a wildcard, this can mean a variety of things and should be outlined by the mod maker\nthey are described with the '*' character\n```\n\\*\nhello\n```\n\n# Minecraft Specific Parsers\n\n## Blocks:\nMCRF blocks allow for adjusting properties and blockentity data.\n```\nnamespace:id\nnamespace:id[optional=blockstate, property=0]\nnamespace:id{optional:\"nbt_data\"}\nnamespace:id[optional=blockstate, property=0]{optional:\"nbt_data\"}\n```\n\n## Counted Tags: \ncounted tags are a list of tags with an amount\n```\ntag:id x3\ntag:id\n[tag:id, tag:id0]\n```\nhowever they're usually prefixed with a '#' to differentiate between tags and the other element\n```\n#tag:id\n\n```\n\n## Entities\nMCRF supports NBT in entities\n```\nentity:id\nentity:id{nbt:\"data\"}\n```\n\n## Identifiers\nidentifiers are just namespaced ids\n```\nnamespace:id\n```\n\n## Ingredients\nsupports arrays/singletons of tags and items\n```\n#[tag:id, tag2:id]\n#tag:id\nitem:id\n[item:id, item2:id]\n```\n\n## Items\nsame as identifiers but only for items\n\n## ItemStacks\nan identifier, nbt data and an amount\n```\nitem:id\nitem:id{nbt:\"data\"}\nitem:id{nbt:\"data\"} x4\nitem:id x5\n```\n\n## MCRF Ingredients\nMinecraft ingredients suck ass so I made my own\n```\n#tag:id\nitem:id\nitem:id{nbt:support}\nitem:id x10\n#[tag:id, multi:tags]\n```\n\n# Default recipes:\n## Anvils (Retroactive)\n`mcrf/falling_anvil`\nhas support for normal anvil recipes, and falling anvil recipes\nfor normal anvils, the format is\n\n```\n(ingredient) + (ingredient) + (int xp) --[minecraft:anvil]-\u003e mcrf:ingredient\n```\n\nor for falling anvils\n```\n% surface (air for any)+ ingredients            + require onFire          =        result surface + result itemstacks\n(block id | block tag) + list of mcrf ingredients + boolean --[mcrf:falling_anvil]-\u003e (* | block) + list of itemstacks\n```\n\n## Minecraft recipes (Retroactive)\nmcrf/minecraft\nall recipe's first ingredient is the identifier of the recipe, and yes, you can override vanilla recipes with this\n\n## crafting recipes\nshapeless recipes can be made with a single, non nested array, these only support vanilla ingredients.\n```\n(identifier) + (list of ingredient) --[minecraft:crafting_table]-\u003e (itemstack)\nrecipe:id + [stone, stone, iron_ingot] --[minecraft:crafting_table]-\u003e stone\n```\n\nshaped recipes are made with nested arays\n```\n(identifier) + (list of list of ingredient) --[minecraft:crafting_table]-\u003e (itemstack)\nrecipe:id + [[stone, stone, stone], [stone, air, stone], [stone, stone, stone]] --[minecraft:crafting_table]-\u003e stone x9\n```\n\n## stone cutting\n```\n(identifier) + (ingredient) --[minecraft:stone_cutter] -\u003e (itemstack)\nrecipe:id + stone --[minecraft:stone_cutter]-\u003e iron_ingot\n```\n\n## smithing table\n```\n(identifier) + (ingredient) + (ingredient) --[minecraft:smithing_table]-\u003e (itemstack)\n```\n\n## campfire, smoker, blast_furnace, furnace\n```\n(identifier) + (ingredient) + (int : time) --[minecraft:%MACHINE_ID%]-\u003e (itemstack) + (exp)\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FUeaj-Kerman%2FMinecraft-Recipe-Format","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FUeaj-Kerman%2FMinecraft-Recipe-Format","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FUeaj-Kerman%2FMinecraft-Recipe-Format/lists"}