-
Notifications
You must be signed in to change notification settings - Fork 5
CraftTweaker 1.18
This page shows everything you need to know about adjusting the recipes with the help of CraftTweaker.
Since all processing recipes have the same format, all methods can be applied to all 4 machines. They only differ in their ids which are the following:
aggregator -> Fluix Aggregator
etcher -> Circuit Etcher
grinder -> Pulse Grinder
infuser -> Matter Infuser
Each recipe consists of up to 3 input ingredients, an output stack, a processing time and an energy cost. One exception is the Grinder since it only has one input slot.
Inputs are ingredients so they support tags. They also support amounts which means a recipe with 3 stones, 2 dirt and 1 sand is completely valid.
Inputs need to be unique. A machine does not accept the same two items in different input slots. This is necessary to allow easy automation.
The recipe processing time defines the number of ticks it takes to craft the whole recipe. The energy cost defines how much energy the machine consumes for the whole recipe, not per tick.
If you are using the recipe builder pattern, the processing time and the energy cost will be optional. If they're not defined, the default values will be taken from the config.
<recipetype:lazierae2:machineId>.addRecipe(recipeId: String, output: IItemStack, time: int, energy: int, inputs: IIngredientWithAmount...);
The machineId
has to be one of the values from the Recipe IDs section and defines the specific processing machine.
The recipe builder pattern can also be used to construct a recipe and it supports optional values. As mentioned above, the processing time and energy cost can be omitted and will be taken from the config.
<recipetype:lazierae2:machineId>.builder(recipeId: String, output: IItemStack)
.input(input: IIngredientWithAmount)
.input(input: IIngredientWithAmount) // this adds more inputs for machines with multiple slots
.input(input: IIngredient, amount: int) // this is also supported
.processingTime(ticks: int) // optional
.energyCost(energy: int) // optional
.build();
Recipes can be removed with the following line:
<recipetype:lazierae2:machineId>.removeRecipe(output: IItemStack);
Adding a triple input (3x stone, apple, 5x potato) recipe to the Fluix Aggregator with 3x dirt being the result. It has a processing time of 200 ticks (10 seconds) and an energy cost of 300 FE.
<recipetype:lazierae2:aggregator>.addRecipe("myRecipe1", <item:minecraft:dirt> * 3, 200, 300, <item:minecraft:stone> * 3, <item:minecraft:apple>, <item:minecraft:potato> * 5);
Adding a double input (2x apple, 3x dirt) recipe to the Circuit Etcher with 2x stone being the result. The processing time and energy cost are omitted and are taken from the config.
<recipetype:lazierae2:etcher>.builder("myRecipe2", <item:minecraft:stone> * 2)
.input(<item:minecraft:apple>, 2)
.input(<item:minecraft:dirt> * 3)
.build();
A recipe removal from the Pulse Grinder.
<recipetype:lazierae2:grinder>.removeRecipe(<item:appliedenergistics2:ender_dust>);