Last updated
Last updated
A process file is the recipe file that the machine process to produce an output
This is the processing length required to complete the process, this is measured in ticks, there is 20 ticks per second
so a duration of...
20 = 1 second
100 = 5 seconds
200 = 10 seconds
400 = 20 seconds
1200 = 1 minute
6000 = 5 minutes
Example
this can be either text
or a translation
key
This is the structure id you set in one of your structure.json files
Do note that the namespace for the structureId is actually the namespace of the folder you put the structures into. so the namespace
folder in this example datapackName\data\namespace\mm\recipes\
Do note if you have your structure files in a folder you will need to write the entire path to them, for example if your structure is in a folder called structure1 datapackName\data\namespace\mm\structures\structure1\cheese_maker.json
then your structure id is
The mm:port_designated
recipe entry, simple takes other recipe entries, but only checks and applies them to the designated port of the given id
This example (as an input) will consume 10000FE
of energy from the energy port which has been given the id (when defined in the structure) of "my_funky_port"
If you need to use multiple requirements and processes within a single entry, use the mm:gate/and
Entry Type.
This can be used inside of an mm:gate/or
to effectively require "(a group on inputs) OR (an alternate group of inputs)"
This is a recursive recipe entry; meaning, you can effectively put recipe entries inside of recipe entries. Note this can get confusing (remember discord support is always an option. We are happy to help)
For inputs, mm:per_tick
will consume the specified ingredient every tick that the recipe is processing for.
For outputs, mm:per_tick
will output the specified ingredient every tick that the recipe is processing for.
For inputs, the mm:simple
recipe entry defines a required ingredient with the option to specify a chance of the input being consumed.
For outputs, the mm:simple
recipe entry defines an output ingredient also with the option to specify a chance of whether the ingredient will be output or not.
These are the ingredient types inside the input and output sections of a recipe.
This page defines what type of ingredient you can use as an input for your recipes.
These types are already implemented into Masterful Machinery no extra addons are required.
Example
Full Example
mm:energy
This type will allow you to use RF Energy as part of the recipe
Example
Full Example
mm:fluid
This type will allow you to use liquids in your recipe.
Example
Full Example
mm:dimension
This type will allow you to limit what dimension your recipe can process in. You can only use this as a input requirement.
Example
Full Example
In order to use these ingredient types you must first have these dependencies
Create mod and its dependencies installed in your modpack
Created a create_rotation
capable port inside your config/ports
folder
mm:create_rotation
This type will allow you to use creates rotational force in order for your machine to operate.
Example
Full Example
In order to use these ingredient types you must first have these dependencies
Mekanism mod and its dependencies installed in your modpack
Created a mekanism_X
capable port inside your config/ports
folder
mm:mekanism_laser
This can onl be used as a input
, output
will not work.
This type will accept Mekanism Lasers energy beams as an input for your machine.
Example
Full Example
mm:mekanism_gas
This type will allow mekanism gasses to be used as an input for your machine.
Example
Full Example
mm:mekanism_heat
This type will allow mekanism heat to be used as an input for your machine.
Example
Full Example
mm:mekanism_infuse
This type will allow mekanism infuse types to be used as an input for your machine.
Example
Full Example
mm:mekanism_pigment
This type will allow mekanism pigments to be used as an input for your machine.
Example
Full Example
mm:mekanism_slurry
This type will allow mekanism slurries to be used as an input for your machine.
Example
Full Example
This page defines what type of ingredient you can use as an output for your recipes.
These types are already implemented into Masterful Machinery no extra addons are required.
mm:item
This type will allow you to use items as part of the recipe, you CANNOT use tags it must be a single item output, though you can have multiple item output entries.
Example
Full Example
mm:energy
This type will allow you to use RF Energy as part of the recipe
Example
Full Example
mm:fluid
This type will allow you to use liquids in your recipe.
Example
Full Example
In order to use these ingredient types you must first have these dependencies
Created a create_rotation
capable port inside your config/ports
folder
mm:create_rotation
This type will allow you to use creates rotational force in order for your machine to operate.
Example
Full Example
In order to use these ingredient types you must first have these dependencies
Created a mekanism_X
capable port inside your config/ports
folder
Do note you cannot use Mekanism Laser as an output.
mm:mekanism_gas
This type will allow mekanism gasses to be used as an input for your machine.
Example
Full Example
mm:mekanism_heat
This type will allow mekanism heat to be used as an input for your machine.
Example
Full Example
mm:mekanism_infuse
This type will allow mekanism infuse types to be used as an input for your machine.
Example
Full Example
mm:mekanism_pigment
This type will allow mekanism pigments to be used as an input for your machine.
Example
Full Example
mm:mekanism_slurry
This type will allow mekanism slurries to be used as an input for your machine.
Example
Full Example
structures are the json defined blocks and their placement relative to the controller.
This is the id you set in the controller file in the config folder
These are arrays of strings where each line represents a block layout like you where looking down on a slice of your machine.
The top of the array is north
, bottom south
, right is east
, left is west
Each array is a different Y level in your structure, the top layer in the file is the very top layer of your structure
A capital C
is specifically reserved for the controller, this is automatically defined by setting the controllerId
at the top of the file
For a structure file to be valid it needs to have a capital C
in the layout somewhere
The code below is of a 3x3x3 structure, where...
1 = cobblestone (Very top layer)
2 = stone (Central layer)
3 = oak_log (Very bottom layer)
C = the controller
this can be either text
or a translation
key
The mm:and
structure part is quite a cool part, this structure part will make it so the one block space MUST have both of the required properties inorder for it to be correct. e.g. A daylight detector and a specific power level of that daylight detector.
Each key has to be unique and must be one of these characters a-z
, A-Z
, 0-9
, !@#$%^&*
, but not capital C
as this is reserved for the controller
Note: a-z and A-Z are different characters so having "a" and "A" as 2 keys is perfectly valid
Structure Parts are different types of json objects which can be used in the key of a structure. To define what and where each block goes. You can have and / or gates in this as well.
The mm:block
structure part is simply a key for a specific block in a structure.
The mm:or
structure part is quite a cool part, this structure part will make it so the one block space can have EITHER the first entry or the second inorder for it to be correct.
e.g. A daylight detector and a sponge, inorder for it to detect complete one of these 2 blocks must be in the blockspace.
The mm:port
structure part defines a key for a port block as defined in the config jsons
The mm:block
structure part is simply a key for a specific block in a structure.
and its dependencies installed in your modpack
and its dependencies installed in your modpack