Skip to content
This repository has been archived by the owner on Aug 11, 2024. It is now read-only.

CraftTweaker 1.16

Relentless edited this page Jun 4, 2022 · 2 revisions

This page shows everything you need to know about adjusting the recipes with the help of CraftTweaker.

Recipe IDs

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
centrifuge -> Pulse Centrifuge
energizer -> Crystal Energizer
etcher -> Circuit Etcher

Recipe Structure

Each recipe consists of up to 3 input ingredients, an output stack, a processing time and an energy cost. The Centrifuge and the Energizer only support one input since they only have one input slot.

Inputs are ingredients so they support tags.
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.

Methods

<recipetype:lazierae2:machineId>.addRecipe(recipeId: String, output: IItemStack, time: int, energy: int, inputs: IIngredient...);

The machineId has to be one of the values from the Recipe IDs section and defines the specific processing machine.

Builder

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: IIngredient)
    .input(input: IIngredient) // this adds more inputs for machines with multiple slots
    .processingTime(ticks: int) // optional
    .energyCost(energy: int) // optional
    .build();

Recipes can be removed with the following line:

<recipetype:lazierae2:machineId>.removeRecipe(output: IItemStack);

Examples

Adding a triple input (stone, apple, 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>, <item:minecraft:apple>, <item:minecraft:potato>);

Adding a double input (apple, 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>)
    .input(<item:minecraft:dirt>)
    .build();

A recipe removal from the Pulse Centrifuge.

<recipetype:lazierae2:centrifuge>.removeRecipe(<item:appliedenergistics2:ender_dust>);

General

Integration 1.18

Integration 1.16

Clone this wiki locally