Home Commands Examples Getting Started With Scripts Global Keywords
Generic JSON Recipes

Fermenter

Allows you to add or remove Fermenter recipes.

Fermenter Recipes consist of an input, a fluid output and an item output either fluid or item output can be empty.

Importing the class

It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import at the very top of the file.

script.zs
import mods.immersiveengineering.Fermenter;

Implemented Interfaces

Fermenter implements the following interfaces. That means all methods defined in these interfaces are also available in Fermenter

Methods

script.zs
Fermenter.addJsonRecipe(name as string, mapData as MapData)
ParameterType
Parameter
name
Type
string
Parameter
mapData
Type
MapData

Adds a Fermenter recipe. The overload for only the fluid Output

script.zs
// Fermenter.addRecipe(recipePath as string, input as IIngredientWithAmount, energy as int, fluidOutput as IFluidStack)
<recipetype:immersiveengineering:fermenter>.addRecipe("fermenter_extract_water", <item:minecraft:wooden_hoe>, 1000, <fluid:minecraft:water> * 100);
ParameterTypeDescription
Parameter
recipePath
Type
string
Description
The recipe name, without the resource location
Parameter
input
Type
IIngredientWithAmount
Description
The recipe’s input
Parameter
energy
Type
int
Description
The total energy required for this recipe
Parameter
fluidOutput
Type
IFluidStack
Description
The fluid output (can be empty)

Adds a Fermenter recipe. The overload for only the item output

script.zs
// Fermenter.addRecipe(recipePath as string, input as IIngredientWithAmount, energy as int, itemOutput as IItemStack)
<recipetype:immersiveengineering:fermenter>.addRecipe("fermenter_upgrade_hoe", <item:minecraft:wooden_shovel>, 1000, <item:minecraft:stone_shovel>);
ParameterTypeDescription
Parameter
recipePath
Type
string
Description
The recipe name, without the resource location
Parameter
input
Type
IIngredientWithAmount
Description
The recipe’s input
Parameter
energy
Type
int
Description
The total energy required for this recipe
Parameter
itemOutput
Type
IItemStack
Description
The item output (can be empty)

Adds a Fermenter recipe. You need to provide an item output, a fluid output, or both

script.zs
// Fermenter.addRecipe(recipePath as string, input as IIngredientWithAmount, energy as int, itemOutput as IItemStack, fluidOutput as IFluidStack)
<recipetype:immersiveengineering:fermenter>.addRecipe("fermenter_upgrade_sword", <item:minecraft:wooden_sword>, 1000, <item:minecraft:stone_sword>, <fluid:minecraft:water> * 100);
ParameterTypeDescription
Parameter
recipePath
Type
string
Description
The recipe name, without the resource location
Parameter
input
Type
IIngredientWithAmount
Description
The recipe’s input
Parameter
energy
Type
int
Description
The total energy required for this recipe
Parameter
itemOutput
Type
IItemStack
Description
The item output (can be empty)
Parameter
fluidOutput
Type
IFluidStack
Description
The fluid output (can be empty)

Return Type: stdlib.List<T>

script.zs
// Fermenter.getAllRecipes() as stdlib.List<T>
<recipetype:immersiveengineering:fermenter>.getAllRecipes();

Return Type: T

script.zs
Fermenter.getRecipeByName(name as string) as T
ParameterType
Parameter
name
Type
string

Return Type: T[ResourceLocation]

script.zs
// Fermenter.getRecipeMap() as T[ResourceLocation]
<recipetype:immersiveengineering:fermenter>.getRecipeMap();

Return Type: stdlib.List<T>

script.zs
Fermenter.getRecipesByOutput(output as IIngredient) as stdlib.List<T>
ParameterType
Parameter
output
Type
IIngredient
script.zs
Fermenter.remove(output as IIngredient)
ParameterType
Parameter
output
Type
IIngredient
script.zs
// Fermenter.removeAll()
<recipetype:immersiveengineering:fermenter>.removeAll();
script.zs
Fermenter.removeByInput(input as IItemStack)
ParameterType
Parameter
input
Type
IItemStack
script.zs
Fermenter.removeByModid(modid as string, exclude as Predicate<string>)
ParameterTypeOptionalDefault Value
Parameter
modid
Type
string
Optional
false
Default Value
Parameter
exclude
Type
Predicate<string>
Optional
true
Default Value
(name as string) as bool => false
script.zs
Fermenter.removeByName(names as string[])
ParameterType
Parameter
names
Type
string[]
script.zs
Fermenter.removeByRegex(regex as string, exclude as Predicate<string>)
ParameterTypeOptionalDefault Value
Parameter
regex
Type
string
Optional
false
Default Value
Parameter
exclude
Type
Predicate<string>
Optional
true
Default Value
(name as string) as bool => false

Removes all recipes that return the given fluidStack. Takes stack sizes into account!

script.zs
// Fermenter.removeRecipe(output as IFluidStack)
<recipetype:immersiveengineering:fermenter>.removeRecipe(<fluid:immersiveengineering:ethanol> * 80);
ParameterTypeDescription
Parameter
output
Type
IFluidStack
Description
The fluid to remove

Removes all recipes that return the given output fluid. Since it uses a fluid and not a fluidStack it does not compare stack sizes

script.zs
// Fermenter.removeRecipe(outputFluid as Fluid)
<recipetype:immersiveengineering:fermenter>.removeRecipe(<fluid:immersiveengineering:ethanol>.fluid);
ParameterTypeDescription
Parameter
outputFluid
Type
Fluid
Description
The fluid to remove

Properties

NameTypeHas GetterHas Setter
Name
allRecipes
Type
stdlib.List<T>
Has Getter
true
Has Setter
false
Name
recipeMap
Type
T[ResourceLocation]
Has Getter
true
Has Setter
false