-
-
Notifications
You must be signed in to change notification settings - Fork 5
Recipes
# Data Overview
DataType: RECIPE/S
File Ending: .json
Has Own Item: no
Has TMT Model: no
Config location: ./assets/<packid>/config/recipes/<here>.json
Model location: none
The Goal of Recipes is to make various things craftable in survival mode.
These are the currently supported Recipe types in FVTM:
-
FCL BluePrintTable Recipe
- basic recipe type that takes a defined amount of input items and returns
one (or more if selected in the gui) output item
- basic recipe type that takes a defined amount of input items and returns
-
FVTM CraftBlockScript Recipe
- basic up to advanced recipes for multiblocks using the craftblockscript
- the input/output/consumtion/etc may vary depending on the target block
For vanilla crafting recipes (crafting table, furnace) see how they are handled
in vanilla/forge, FVTM does not handle these as forge/vanilla does that.
Some examples are as usual at GEP!
In case you want to make an FCL recipe, these are the fields:
-
block
- should befcl:bpt
orfcl:blueprinttable
, always -
category
- Category in the FCL BluePrintTable (GUI) (required) -
input
- json array containing the ingredients- define direct as a string
minecraft:stone
, - or with data as a json object, e.g.
{ "id": "minecraft:stone", //block or item registry name (id) "count": 2, //stack size, optional, default is 1 "damage": 0, //metadata, optional, default is 0, "tag" {} //NBT tag data, optional, default is none }
- define direct as a string
-
output
- same as in input entry, only one
And in case you want to make a CraftBlockScript Recipe:
(please make sure you know how the specific block works first!)
-
block
- the registry name of the target multiblock (core) -
input
- json array containing the ingredients
Each array entry (json object) should contain:-
inventory
- string, required, the inventory this item is to be taken from -
amount
- integer, self-explaining, for items can be replaced withcount
- Then depending on what you want this ingredient to be:
-
fluid
- for fluids, the fluid id -
item
- for a single item, should contain:- on simple init just the id as
string
, e.g.minecraft:slime_ball
ELSE -
id
- string, the registry name of the item/block -
damage
- int, optional, metadata, default is 0 -
tag
- NBT tag data, optional, default is none
- on simple init just the id as
-
items
- for "alternative" item ingredient (e.g. wood types)- json array with entries like
item
- json array with entries like
-
oredict
- Forge OreDictionary Support- enter the oredict id here (e.g.
ingotIron
,oreGold
)
- enter the oredict id here (e.g.
-
-
-
output
- json array containing output items/fluids/etc Each array entry (json object) should contain:-
inventory
- string, required, the inventory this item is to be put into -
amount
- integer, self-explaining, for items can be replaced withcount
-
overflow
- boolean, if true the item is "lost" when there is no space for it
in the target inventory or e.g. for fluids when the tank is full, default is false - Then depending on what you want the output to be:
-
fluid
- for fluids, the fluid id -
item
- normal item as output- on simple init just the id as
string
, e.g.minecraft:slime_ball
ELSE -
id
- string, the registry name of the item/block -
damage
- int, optional, metadata, default is 0 -
tag
- NBT tag data, optional, default is none
- on simple init just the id as
-
-
-
consume
- this is a special array with <string,integer> entries for the script
when the script cannot "fullfil" the consumption request, it is the same as if
it wouldn't have enough input items or space for output, it is defined as follows:-
"key": <value>
e.g."heat": 20
(see GEP Smeltery)
-
-
craft_time
- optional custom item craft time (in ticks) instead of the default one -
id
- unique id for this recipe, required
This datatype does NOT create an own item.
It's only scope is to provide crafting data to use in survival.
Need help in something that is not in the wiki, or is not there yet? Got issues or crashes?
Or want to help expand the Wiki? We have a discord server! https://discord.gg/AkMAzaA