Crusher
Allows you to add or remove Crusher recipes.
Crusher Recipes consist of an input, an output and a list of possible secondary outputs.
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.Crusher;
Implemented Interfaces
Crusher implements the following interfaces. That means all methods defined in these interfaces are also available in Crusher
Methods
Crusher.addJsonRecipe(name as string, mapData as MapData)
Parameter | Type |
---|---|
Parameter name | Type string |
Parameter mapData | Type MapData |
Adds a Crusher recipe.
// Crusher.addRecipe(recipePath as string, input as IIngredient, energy as int, mainOutput as IItemStack, additionalOutputs as Percentaged<IItemStack>[])
<recipetype:immersiveengineering:crusher>.addRecipe("tnt_discharge", <item:minecraft:tnt>, 500, <item:minecraft:gunpowder> * 4, <item:minecraft:coal> % 50, <item:minecraft:diamond> % 1);
Parameter | Type | Description |
---|---|---|
Parameter recipePath | Type string | Description The recipe name, without the resource location |
Parameter input | Type IIngredient | Description The input ingredient |
Parameter energy | Type int | Description The total energy required |
Parameter mainOutput | Type IItemStack | Description The main item that this recipe will return |
Parameter additionalOutputs | Type Percentaged<IItemStack>[] | Description All secondary items that can be returned |
Return Type: stdlib.List<T>
// Crusher.getAllRecipes() as stdlib.List<T>
<recipetype:immersiveengineering:crusher>.getAllRecipes();
Return Type: T
Crusher.getRecipeByName(name as string) as T
Parameter | Type |
---|---|
Parameter name | Type string |
Return Type: T[ResourceLocation]
// Crusher.getRecipeMap() as T[ResourceLocation]
<recipetype:immersiveengineering:crusher>.getRecipeMap();
Return Type: stdlib.List<T>
Crusher.getRecipesByOutput(output as IIngredient) as stdlib.List<T>
Parameter | Type |
---|---|
Parameter output | Type IIngredient |
// Crusher.removeAll()
<recipetype:immersiveengineering:crusher>.removeAll();
Crusher.removeByInput(input as IItemStack)
Parameter | Type |
---|---|
Parameter input | Type IItemStack |
Crusher.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 |
Crusher.removeByName(names as string[])
Parameter | Type |
---|---|
Parameter names | Type string[] |
Crusher.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 output the given IIngredient. Removes the recipe as soon as any of the recipe’s possible outputs matches the given IIngredient. Includes secondary outputs and chance-based outputs.
// Crusher.removeRecipe(output as IIngredient)
<recipetype:immersiveengineering:crusher>.removeRecipe(<item:immersiveengineering:dust_iron>);<recipetype:immersiveengineering:crusher>.removeRecipe(<tag:forge:dusts>);
Parameter | Type | Description |
---|---|---|
Parameter output | Type IIngredient | Description The output whose recipes should be removed |
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 |