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

Cloche

Allows you to add or remove Crops from the Garden Cloche.

Cloche Recipes consist of a soil, an input item and output items.

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.Cloche;

Implemented Interfaces

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

Methods

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

Adds a recipe to the garden Cloche.

Requires an additional Block object that should be rendered in the game.
Also requires a render type that states how the block should “grow” inside the cloche.
These two parameters are solely for Rendering purposes and don’t change what the recipe returns.

By default these 4 renderers are present: “crop”, can be used for any 1-block crops with an age property “stacking”, can be used for stacking plants like sugarcane or cactus “stem”, can be used for stem-grown plants like melon or pumpkin “generic”, can be used for any block, making it grow in size, like mushrooms

script.zs
// Cloche.addRecipe(recipePath as string, seed as IIngredient, soil as IIngredient, time as int, outputs as IItemStack[], renderBlock as Block, renderType as string)
<recipetype:immersiveengineering:cloche>.addRecipe("bonsai_oak", <item:minecraft:oak_sapling>, <item:minecraft:dirt>, 100, [<item:minecraft:apple>, <item:minecraft:oak_sapling>, <item:minecraft:oak_wood> * 5], <blockstate:minecraft:oak_sapling>.block, "generic");
ParameterTypeDescriptionOptionalDefault Value
Parameter
recipePath
Type
string
Description
recipePath The recipe name, without the resource location
Optional
false
Default Value
Parameter
seed
Type
IIngredient
Description
The seed that needs to be inserted in the Cloche’s gui
Optional
false
Default Value
Parameter
soil
Type
IIngredient
Description
The soil that this seeds need to grow on
Optional
false
Default Value
Parameter
time
Type
int
Description
The time it takes for the crop to mature (without modifiers), in ticks
Optional
false
Default Value
Parameter
outputs
Type
IItemStack[]
Description
The outputs this crop produces when it matures
Optional
false
Default Value
Parameter
renderBlock
Type
Block
Description
The block that should be rendered in world
Optional
false
Default Value
Parameter
renderType
Type
string
Description
The render type that should be used
Optional
true
Default Value
”generic”

Return Type: stdlib.List<T>

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

Return Type: T

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

Return Type: T[ResourceLocation]

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

Return Type: stdlib.List<T>

script.zs
Cloche.getRecipesByOutput(output as IIngredient) as stdlib.List<T>
ParameterType
Parameter
output
Type
IIngredient
script.zs
// Cloche.removeAll()
<recipetype:immersiveengineering:cloche>.removeAll();
script.zs
Cloche.removeByInput(input as IItemStack)
ParameterType
Parameter
input
Type
IItemStack
script.zs
Cloche.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
Cloche.removeByName(names as string[])
ParameterType
Parameter
names
Type
string[]
script.zs
Cloche.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 the recipe based on its outputs. Removes the recipe as soon as one of its outputs matches the ingredient given.

script.zs
// Cloche.removeRecipe(output as IIngredient)
<recipetype:immersiveengineering:cloche>.removeRecipe(<item:minecraft:melon>);
ParameterTypeDescription
Parameter
output
Type
IIngredient
Description
The output to match for

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