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.
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
Fermenter.addJsonRecipe(name as string, mapData as MapData)
Parameter | Type |
---|---|
Parameter name | Type string |
Parameter mapData | Type MapData |
Adds a Fermenter recipe. The overload for only the fluid Output
// 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);
Parameter | Type | Description |
---|---|---|
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
// 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>);
Parameter | Type | Description |
---|---|---|
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
// 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);
Parameter | Type | Description |
---|---|---|
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>
// Fermenter.getAllRecipes() as stdlib.List<T>
<recipetype:immersiveengineering:fermenter>.getAllRecipes();
Return Type: T
Fermenter.getRecipeByName(name as string) as T
Parameter | Type |
---|---|
Parameter name | Type string |
Return Type: T[ResourceLocation]
// Fermenter.getRecipeMap() as T[ResourceLocation]
<recipetype:immersiveengineering:fermenter>.getRecipeMap();
Return Type: stdlib.List<T>
Fermenter.getRecipesByOutput(output as IIngredient) as stdlib.List<T>
Parameter | Type |
---|---|
Parameter output | Type IIngredient |
Fermenter.remove(output as IIngredient)
Parameter | Type |
---|---|
Parameter output | Type IIngredient |
// Fermenter.removeAll()
<recipetype:immersiveengineering:fermenter>.removeAll();
Fermenter.removeByInput(input as IItemStack)
Parameter | Type |
---|---|
Parameter input | Type IItemStack |
Fermenter.removeByModid(modid as string, exclude as Predicate<string>)
Parameter | Type | Optional | Default Value |
---|---|---|---|
Parameter modid | Type string | Optional false | Default Value |
Parameter exclude | Type Predicate<string> | Optional true | Default Value (name as string) as bool => false |
Fermenter.removeByName(names as string[])
Parameter | Type |
---|---|
Parameter names | Type string[] |
Fermenter.removeByRegex(regex as string, exclude as Predicate<string>)
Parameter | Type | Optional | Default 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!
// Fermenter.removeRecipe(output as IFluidStack)
<recipetype:immersiveengineering:fermenter>.removeRecipe(<fluid:immersiveengineering:ethanol> * 80);
Parameter | Type | Description |
---|---|---|
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
// Fermenter.removeRecipe(outputFluid as Fluid)
<recipetype:immersiveengineering:fermenter>.removeRecipe(<fluid:immersiveengineering:ethanol>.fluid);
Parameter | Type | Description |
---|---|---|
Parameter outputFluid | Type Fluid | Description The fluid to remove |
Properties
Name | Type | Has Getter | Has Setter |
---|---|---|---|
Name allRecipes | Type stdlib.List<T> | Has Getter true | Has Setter false |
Name recipeMap | Type T[ResourceLocation] | Has Getter true | Has Setter false |