Skip to main content

EFab

EFab is a steampunk styled crafting system meant for pack makers who want to gate based on recipes.

Introduction​

Using EFab you can define recipes (with a JSON system) that use various mechanics like the 3x3 crafting grid, liquids, steam, mana, RF and so on. In a way it extends the usual 3x3 crafting system with additional requirements. The recipes show up in JEI.

Commands​

A useful command to get started is the /efab_savedefaults command. With this command you get a dump of the standard built-in recipes in the config folder. You can then start modifying that to your wishes. The recipe format is JSON.

Configuration​

EFab is very configurable. For example, by default vanilla recipes are allowed in the EFab, but you can disable that in the config.

Usage​

The EFab is essentially a free-form multiblock. That means that you can arrange all EFab blocks as you wish as long as they touch. Adding blocks to this multi-block acts as a way to extend or speed up the functionality.

Examples​

{
"type": "shaped",
"output": {
"item": "efab:tank"
},
"input": [
"iii",
"i i",
"iii"
],
"inputmap": {
"i": "ingotIron"
},
"time": 10,
"tiers": [
"GEARBOX"
]
}

This is an example of the efab tank. It is a simple recipe using only iron ingots. Crafting requires 10 seconds, and it needs a gearbox to be present on the crafting system. Note that up to 4 gearboxes can be used to speed up this recipe.

{
"type": "shaped",
"output": {
"item": "minecraft:obsidian"
},
"input": [
"ccc",
"ccc",
"ccc"
],
"inputmap": {
"c": "cobblestone"
},
"time": 60,
"tiers": [
"STEAM",
"RF",
"LIQUID"
],
"rfpertick": 10,
"fluids": [
{
"fluid": "water",
"amount": 1000
},
{
"fluid": "lava",
"amount": 1000
}
]
}

This is the default recipe to make obsidian. It is a recipe that requires both water and lava.

{
"type": "shaped",
"output": {
"item": "efab:monitor"
},
"input": [
"dqd",
"qbq",
"dqd"
],
"inputmap": {
"q": {
"item": "minecraft:quartz"
},
"b": {
"item": "efab:base"
},
"d": "dyeBlack"
},
"time": 100,
"tiers": [
"RF",
"COMPUTING"
],
"rfpertick": 10
}

And here is an example of using RF based crafting.