Modular Machinery Mod 1.12.2, — Reference
Blocks and Components
Machines are constructed using a variety of functional blocks. Every machine requires exactly one Machine Controller and a combination of hatches or buses to handle inputs and outputs.
Machine Controller
The brain of the multiblock. It stores the machine's state, checks for structure validity, and handles recipe processing. Right-clicking a controller with a Blueprint will show the required structure.
Input and Output Hatches
These blocks act as the interface between the machine and the world. They come in various tiers, each increasing the internal capacity.
| Component | Tiers | Function |
|---|---|---|
| Item Bus | Tiny, Small, Normal, Reinforced, Big, Huge, Ludicrous, Ultimate | Stores items for recipes. Higher tiers provide more slots (1 to 100+). |
| Fluid Hatch | Tiny, Small, Normal, Reinforced, Big, Huge, Ludicrous, Ultimate | Stores liquids. Capacity ranges from 1,000mB to 1,024,000mB+. |
| Energy Hatch | Tiny, Small, Normal, Reinforced, Big, Huge, Ludicrous, Ultimate | Stores FE/RF. Capacity scales exponentially per tier. |
Machine Casings
Decorative and structural blocks used to form the body of the multiblock. The standard casing is the Machine Casing, often crafted from Modularium.
Items and Tools
While primarily a block-based mod, several items are essential for machine creation and maintenance.
Key Items
- Modularium Ingot: The base alloy used for most components. Typically created in a furnace or alloy smelter.
- Machine Circuitry: Used in the crafting of controllers and high-tier hatches.
- Blueprint: A tool used to visualize machine structures. When bound to a machine type, it can project a 'ghost' of the blocks required in the world.
Crafting Materials
| Item | Usage |
|---|---|
| Modularium Ingot | Primary crafting ingredient for casings and hatches. |
| Machine Circuitry | Advanced component for controllers. |
| Machine Casing | The structural block for most multiblocks. |
Machine Definition (JSON)
Machines are defined in .json files located in the config/modularmachinery/machines folder. A machine definition requires a registry name, a localized name, and a structure layout.
Example Machine Format
{
"registryName": "alloy_smelter",
"localizedName": "Industrial Alloy Smelter",
"color": "#FF5500",
"structure": [
{
"z": 0, "y": 0, "x": 0,
"blocks": [ "modularmachinery:controller" ]
},
{
"z": 1, "y": 0, "x": 0,
"blocks": [ "modularmachinery:casing" ]
}
]
}
Structure Variables
- x, y, z: Coordinates relative to the controller.
- blocks: An array of block IDs (e.g.,
minecraft:stone) or tags that are valid for that position.
Recipe Definition
Recipes are defined in the config/modularmachinery/recipes folder. Each recipe is tied to a specific machine registry name.
Recipe Requirements
Recipes can require multiple types of inputs and produce various outputs: * Item: Specific items or OreDictionary entries. * Fluid: Specific fluids and millibucket amounts. * Energy: Total FE required for the process. * NBT: Advanced recipes can check for specific NBT data on input items.
Example Recipe JSON
{
"machine": "alloy_smelter",
"registryName": "steel_ingot_recipe",
"recipeTime": 200,
"requirements": [
{ "type": "item", "io-type": "input", "item": "minecraft:iron_ingot", "amount": 1 },
{ "type": "item", "io-type": "input", "item": "minecraft:coal", "amount": 2 },
{ "type": "item", "io-type": "output", "item": "thermalfoundation:material:160", "amount": 1 },
{ "type": "energy", "io-type": "input", "amount": 5000 }
]
}