CraftTweaker Integration - Zaexides/SteamWorld GitHub Wiki

As of the 0.3.X.X branch SteamWorld has CraftWeaker support for modifying the Assembler and Grinder recipes. If you need any information about how CraftTweaker works, please refer to the CraftTweaker Documentation.

Assembler

The Assembler adds recipes that allow you to traverse into Tier 3.
The Assembler's CraftTweaker methods can be accessed via mods.steamworld.assembler.[method(*)].

mods.steamworld.assembler.addRecipe(IItemstack output, int duration, IIngredient... input)

This method allows you to add a new recipe to the Assembler.
The output is the itemstack that will be the result of the recipe.
duration is specified in ticks (20 ticks = 1 second on a healthy server) and determines how long it'll take an Assembler to "assemble" the output (note: this affects the steam cost of the recipe).
Lastly, input takes in up to six (6) different ingredients (either an itemstack or an oredic entry) that will act as the input for the recipe.

mods.steamworld.assembler.removeRecipe(IIngredient output)

This method allows you to "blacklist" a recipe from the Assembler.
output refers to the item that the blacklisted recipe has, and can either be an itemstack or an oredic entry.
Note: This does not affect recipes added via CraftTweaker.

Grinder

The Grinder's recipes mostly allow you to turn ores, ingots and blocks into their dust counterparts. In some cases this may result into you getting more ingots out of one ore than you would from smelting it. Usually that means the higher the Grinder is, the higher your output will be for that.
Grinder recipes can be accessed via CraftTweaker using mods.steamworld.grinder.[method(*)].

mods.steamworld.grinder.addRecipe(IIngredient input, IItemStack output)

Adds a new recipe to the grinder. This is effectively mods.steamworld.grinder.addRecipe(IIngredient input, IItemStack output, boolean increaseByLevel) with increaseByLevel set to false.

mods.steamworld.grinder.addRecipe(IIngredient input, IItemStack output, boolean increaseByLevel)

Adds a new recipe to the grinder.
input is the itemstack or oredic entry that will act as the input.
output is the itemstack that is the result of the Grinder working on the input.
increaseByLevel makes it so that each tier, starting from Tier 2, increases the output by 1. So a tier 1 Grinder could give 2 dust, a tier 2 Grinder could give 3 dust.

mods.steamworld.grinder.removeRecipe(IIngredient input)

Kind of acts like a "blacklist". Makes it so the specified ingredient won't work as an input. This does not affect recipes added via CraftTweaker.
input is either an itemstack or oredic entry that functions as the "blocked out" recipe input.