From 31a64ac417d3b6db755b48922f85e1384316bd85 Mon Sep 17 00:00:00 2001 From: MasterEnderman Date: Sun, 18 Aug 2024 10:49:53 +0200 Subject: [PATCH] add Embers + Aetherworks GrS docs (#19) * add Embers GrS docs * add Aetherworks GrS docs * fix Aetherwork Links --- docs/groovy-script/mods/aetherworks/anvil.md | 158 ++++++++++++++++++ docs/groovy-script/mods/aetherworks/index.md | 15 ++ .../mods/aetherworks/metal_former.md | 120 +++++++++++++ docs/groovy-script/mods/embers/alchemy.md | 153 +++++++++++++++++ docs/groovy-script/mods/embers/heat_coil.md | 110 ++++++++++++ docs/groovy-script/mods/embers/index.md | 23 +++ docs/groovy-script/mods/embers/melter.md | 108 ++++++++++++ docs/groovy-script/mods/embers/mixer.md | 101 +++++++++++ .../mods/embers/reaction_chamber.md | 127 ++++++++++++++ docs/groovy-script/mods/embers/stamper.md | 124 ++++++++++++++ docs/groovy-script/mods/index.md | 2 + 11 files changed, 1041 insertions(+) create mode 100644 docs/groovy-script/mods/aetherworks/anvil.md create mode 100644 docs/groovy-script/mods/aetherworks/index.md create mode 100644 docs/groovy-script/mods/aetherworks/metal_former.md create mode 100644 docs/groovy-script/mods/embers/alchemy.md create mode 100644 docs/groovy-script/mods/embers/heat_coil.md create mode 100644 docs/groovy-script/mods/embers/index.md create mode 100644 docs/groovy-script/mods/embers/melter.md create mode 100644 docs/groovy-script/mods/embers/mixer.md create mode 100644 docs/groovy-script/mods/embers/reaction_chamber.md create mode 100644 docs/groovy-script/mods/embers/stamper.md diff --git a/docs/groovy-script/mods/aetherworks/anvil.md b/docs/groovy-script/mods/aetherworks/anvil.md new file mode 100644 index 0000000..1b258df --- /dev/null +++ b/docs/groovy-script/mods/aetherworks/anvil.md @@ -0,0 +1,158 @@ +--- +title: "Aetherium Anvil" +titleTemplate: "Aetherworks | CleanroomMC" +description: "Converts an input item into an output item using the Aetherium Forge Anvil. The anvil requires a specific temperature range and a number of hits to process the item. The anvil can fail up to 3 times before the item is destroyed." +source_code_link: "https://github.com/Ender-Development/Aetherworks-Extended-Life/blob/master/src/main/java/v0id/aw/compat/groovyscript/Anvil.java" +--- + +# Aetherium Anvil (Aetherworks) + +## Description + +Converts an input item into an output item using the Aetherium Forge Anvil. The anvil requires a specific temperature range and a number of hits to process the item. The anvil can fail up to 3 times before the item is destroyed. + +## Identifier + +Refer to this via any of the following: + +```groovy:no-line-numbers {1} +mods.aetherworks.anvil/* Used as page default */ // [!code focus] +mods.aetherworks.Anvil +``` + + +## Adding Recipes + +### Recipe Builder + +Just like other recipe types, the Aetherium Anvil also uses a recipe builder. + +Don't know what a builder is? Check [the builder info page](../../getting_started/builder.md) out. + +:::::::::: details mods.aetherworks.anvil.recipeBuilder() {open id="abstract"} +- `IngredientList`. Sets the item inputs of the recipe. Requires exactly 1. + + ```groovy:no-line-numbers + input(IIngredient) + input(IIngredient...) + input(Collection) + ``` + +- `ItemStackList`. Sets the item outputs of the recipe. Requires exactly 1. + + ```groovy:no-line-numbers + output(ItemStack) + output(ItemStack...) + output(Collection) + ``` + +- `int`. Sets the value of the difficulty. Requires greater than or equal to 1 and less than or equal to 10. (Default `1`). + + ```groovy:no-line-numbers + difficulty(int) + ``` + +- `int`. Sets the value how much ember is used per hit. Requires greater than or equal to 1. (Default `1`). + + ```groovy:no-line-numbers + embersPerHit(int) + ``` + +- `int`. Sets the value how many hits are required to process the item. Requires greater than or equal to 1. (Default `1`). + + ```groovy:no-line-numbers + hits(int) + ``` + +- `int`. Sets the maximum temperature the anvil can have. Requires greater than or equal to 1. (Default `1`). + + ```groovy:no-line-numbers + temperature(int, int) + temperature(int, int, int) + maxTemperature(int) + ``` + +- `int`. Sets the minimum temperature the anvil can have. Requires greater than or equal to 1. (Default `1`). + + ```groovy:no-line-numbers + temperature(int, int) + temperature(int, int, int) + minTemperature(int) + ``` + +- `int`. Sets the value how much the temperature can fluctuate, while processing the item. Requires greater than or equal to 1. (Default `1`). + + ```groovy:no-line-numbers + temperature(int, int, int) + temperatureFluctuation(int) + ``` + +- First validates the builder, returning `null` and outputting errors to the log file if the validation failed, then registers the builder and returns the registered object. (returns `null` or `v0id.aw.common.recipe.AetheriumAnvilRecipes$AetheriumAnvilRecipe`). + + ```groovy:no-line-numbers + register() + ``` + +::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.aetherworks.anvil.recipeBuilder() + .input(item('minecraft:iron_ingot')) + .output(item('minecraft:iron_nugget') * 9) + .difficulty(2) + .embersPerHit(100) + .hits(10) + .temperature(1900, 2500, 10) + .register() + +mods.aetherworks.anvil.recipeBuilder() + .input(ore('plateGold')) + .output(item('minecraft:gold_ingot') * 9) + .difficulty(4) + .embersPerHit(150) + .hits(5) + .minTemperature(2000) + .maxTemperature(2100) + .temperatureFluctuation(50) + .register() +``` + +::::::::: + +:::::::::: + +## Removing Recipes + +- Removes all recipes that match the given input: + + ```groovy:no-line-numbers + mods.aetherworks.anvil.removeByInput(IIngredient) + ``` + +- Removes all recipes that match the given output: + + ```groovy:no-line-numbers + mods.aetherworks.anvil.removeByOutput(IIngredient) + ``` + +- Removes all registered recipes: + + ```groovy:no-line-numbers + mods.aetherworks.anvil.removeAll() + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.aetherworks.anvil.removeByInput(item('aetherworks:item_resource', 9)) +mods.aetherworks.anvil.removeByOutput(item('aetherworks:item_resource', 7)) +mods.aetherworks.anvil.removeAll() +``` + +:::::::::: + +## Getting the value of recipes + +- Iterates through every entry in the registry, with the ability to call remove on any element to remove it: + + ```groovy:no-line-numbers + mods.aetherworks.anvil.streamRecipes() + ``` diff --git a/docs/groovy-script/mods/aetherworks/index.md b/docs/groovy-script/mods/aetherworks/index.md new file mode 100644 index 0000000..868c689 --- /dev/null +++ b/docs/groovy-script/mods/aetherworks/index.md @@ -0,0 +1,15 @@ +--- +aside: false +--- + + +# Aetherworks + +## Categories + +Has 2 subcategories. + +* [Aetherium Anvil](./anvil.md) + +* [Metal Former](./metal_former.md) + diff --git a/docs/groovy-script/mods/aetherworks/metal_former.md b/docs/groovy-script/mods/aetherworks/metal_former.md new file mode 100644 index 0000000..00ee79d --- /dev/null +++ b/docs/groovy-script/mods/aetherworks/metal_former.md @@ -0,0 +1,120 @@ +--- +title: "Metal Former" +titleTemplate: "Aetherworks | CleanroomMC" +description: "Converts an input item in addition of an input fluid into an output item using the Aetherium Forge Metal Former." +source_code_link: "https://github.com/Ender-Development/Aetherworks-Extended-Life/blob/master/src/main/java/v0id/aw/compat/groovyscript/MetalFormer.java" +--- + +# Metal Former (Aetherworks) + +## Description + +Converts an input item in addition of an input fluid into an output item using the Aetherium Forge Metal Former. + +## Identifier + +Refer to this via any of the following: + +```groovy:no-line-numbers {1} +mods.aetherworks.metal_former/* Used as page default */ // [!code focus] +mods.aetherworks.metalformer +mods.aetherworks.metalFormer +mods.aetherworks.MetalFormer +``` + + +## Adding Recipes + +### Recipe Builder + +Just like other recipe types, the Metal Former also uses a recipe builder. + +Don't know what a builder is? Check [the builder info page](../../getting_started/builder.md) out. + +:::::::::: details mods.aetherworks.metal_former.recipeBuilder() {open id="abstract"} +- `IngredientList`. Sets the item inputs of the recipe. Requires exactly 1. + + ```groovy:no-line-numbers + input(IIngredient) + input(IIngredient...) + input(Collection) + ``` + +- `FluidStackList`. Sets the fluid inputs of the recipe. Requires exactly 1. + + ```groovy:no-line-numbers + fluidInput(FluidStack) + fluidInput(FluidStack...) + fluidInput(Collection) + ``` + +- `ItemStackList`. Sets the item outputs of the recipe. Requires exactly 1. + + ```groovy:no-line-numbers + output(ItemStack) + output(ItemStack...) + output(Collection) + ``` + +- `int`. Sets the temperature the metal former requires at minimum to process the item. Requires greater than or equal to 1. (Default `1`). + + ```groovy:no-line-numbers + temperature(int) + ``` + +- First validates the builder, returning `null` and outputting errors to the log file if the validation failed, then registers the builder and returns the registered object. (returns `null` or `v0id.aw.common.recipe.MetalFormerRecipes$MetalFormerRecipe`). + + ```groovy:no-line-numbers + register() + ``` + +::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.aetherworks.metal_former.recipeBuilder() + .fluidInput(fluid('water') * 100) + .input(item('minecraft:iron_ingot')) + .output(item('minecraft:iron_nugget') * 9) + .temperature(2000) + .register() +``` + +::::::::: + +:::::::::: + +## Removing Recipes + +- Removes all recipes that match the given input: + + ```groovy:no-line-numbers + mods.aetherworks.metal_former.removeByInput(IIngredient) + ``` + +- Removes all recipes that match the given output: + + ```groovy:no-line-numbers + mods.aetherworks.metal_former.removeByOutput(IIngredient) + ``` + +- Removes all registered recipes: + + ```groovy:no-line-numbers + mods.aetherworks.metal_former.removeAll() + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.aetherworks.metal_former.removeByInput(item('minecraft:diamond')) +mods.aetherworks.metal_former.removeByOutput(item('aetherworks:item_resource', 4)) +mods.aetherworks.metal_former.removeAll() +``` + +:::::::::: + +## Getting the value of recipes + +- Iterates through every entry in the registry, with the ability to call remove on any element to remove it: + + ```groovy:no-line-numbers + mods.aetherworks.metal_former.streamRecipes() + ``` diff --git a/docs/groovy-script/mods/embers/alchemy.md b/docs/groovy-script/mods/embers/alchemy.md new file mode 100644 index 0000000..6c3f15c --- /dev/null +++ b/docs/groovy-script/mods/embers/alchemy.md @@ -0,0 +1,153 @@ +--- +title: "Alchemy" +titleTemplate: "Embers | CleanroomMC" +description: "Convert input items into an output item on a Exchange Tablet." +source_code_link: "https://github.com/Ender-Development/Embers-Extended-Life/blob/master/src/main/java/teamroots/embers/compat/groovyscript/Alchemy.java" +--- + +# Alchemy (Embers) + +## Description + +Convert input items into an output item on a Exchange Tablet. + +## Identifier + +Refer to this via any of the following: + +```groovy:no-line-numbers {1} +mods.embers.alchemy/* Used as page default */ // [!code focus] +mods.embers.Alchemy +``` + + +## Editing Values + +- Returns the name of the aspect of an item: + + ```groovy:no-line-numbers + mods.embers.alchemy.getAspect(IIngredient) + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.embers.alchemy.getAspect(item('embers:aspectus_iron')) +``` + +:::::::::: + +## Adding Recipes + +- Register the given Aspect with the given IIngredient: + + ```groovy:no-line-numbers + mods.embers.alchemy.addAspect(String, IIngredient) + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.embers.alchemy.addAspect('copper',item('minecraft:gold_ingot')) +mods.embers.alchemy.addAspect('glass',item('minecraft:glass')) +``` + +:::::::::: + +### Recipe Builder + +Just like other recipe types, the Alchemy also uses a recipe builder. + +Don't know what a builder is? Check [the builder info page](../../getting_started/builder.md) out. + +:::::::::: details mods.embers.alchemy.recipeBuilder() {open id="abstract"} +- `IngredientList`. Sets the item inputs of the recipe. Requires greater than or equal to 1 and less than or equal to 5. + + ```groovy:no-line-numbers + input(IIngredient) + input(IIngredient...) + input(Collection) + ``` + +- `ItemStackList`. Sets the item outputs of the recipe. Requires exactly 1. + + ```groovy:no-line-numbers + output(ItemStack) + output(ItemStack...) + output(Collection) + ``` + +- `AspectList.AspectRangeList`. Sets what aspects are part of the recipe and their minimum/maximum value. Requires not empty. + + ```groovy:no-line-numbers + setAspect(String, int, int) + ``` + +- First validates the builder, returning `null` and outputting errors to the log file if the validation failed, then registers the builder and returns the registered object. (returns `null` or `teamroots.embers.recipe.AlchemyRecipe`). + + ```groovy:no-line-numbers + register() + ``` + +::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.embers.alchemy.recipeBuilder() + .input(item('minecraft:clay'),item('minecraft:clay'),item('minecraft:clay'),item('minecraft:clay')) + .output(item('minecraft:gravel')) + .setAspect('dawnstone', 2, 17) + .setAspect('glass', 1, 8) + .register() + +mods.embers.alchemy.recipeBuilder() + .input(item('minecraft:gravel'),ore('dyeGreen'),ore('dyeGreen'),ore('dyeGreen'),item('minecraft:rotten_flesh')) + .output(item('minecraft:grass')) + .setAspect('iron', 2, 17) + .setAspect('copper', 1, 8) + .register() +``` + +::::::::: + +:::::::::: + +## Removing Recipes + +- Remove the given Aspect: + + ```groovy:no-line-numbers + mods.embers.alchemy.removeAspect(String) + ``` + +- Removes all recipes with the center item matching the given IIngredient: + + ```groovy:no-line-numbers + mods.embers.alchemy.removeByCenter(IIngredient) + ``` + +- Removes all recipes that match the given output: + + ```groovy:no-line-numbers + mods.embers.alchemy.removeByOutput(IIngredient) + ``` + +- Removes all registered recipes: + + ```groovy:no-line-numbers + mods.embers.alchemy.removeAll() + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.embers.alchemy.removeAspect('copper') +mods.embers.alchemy.removeByCenter(item('minecraft:wool')) +mods.embers.alchemy.removeByOutput(item('embers:ember_pipe')) +mods.embers.alchemy.removeAll() +``` + +:::::::::: + +## Getting the value of recipes + +- Iterates through every entry in the registry, with the ability to call remove on any element to remove it: + + ```groovy:no-line-numbers + mods.embers.alchemy.streamRecipes() + ``` diff --git a/docs/groovy-script/mods/embers/heat_coil.md b/docs/groovy-script/mods/embers/heat_coil.md new file mode 100644 index 0000000..57addde --- /dev/null +++ b/docs/groovy-script/mods/embers/heat_coil.md @@ -0,0 +1,110 @@ +--- +title: "Heat Coil" +titleTemplate: "Embers | CleanroomMC" +description: "Convert an input item into an output item in a Heat Coil." +source_code_link: "https://github.com/Ender-Development/Embers-Extended-Life/blob/master/src/main/java/teamroots/embers/compat/groovyscript/HeatCoil.java" +--- + +# Heat Coil (Embers) + +## Description + +Convert an input item into an output item in a Heat Coil. + +## Identifier + +Refer to this via any of the following: + +```groovy:no-line-numbers {1} +mods.embers.heat_coil/* Used as page default */ // [!code focus] +mods.embers.heatcoil +mods.embers.heatCoil +mods.embers.HeatCoil +``` + + +## Adding Recipes + +### Recipe Builder + +Just like other recipe types, the Heat Coil also uses a recipe builder. + +Don't know what a builder is? Check [the builder info page](../../getting_started/builder.md) out. + +:::::::::: details mods.embers.heat_coil.recipeBuilder() {open id="abstract"} +- `IngredientList`. Sets the item inputs of the recipe. Requires exactly 1. + + ```groovy:no-line-numbers + input(IIngredient) + input(IIngredient...) + input(Collection) + ``` + +- `ItemStackList`. Sets the item outputs of the recipe. Requires exactly 1. + + ```groovy:no-line-numbers + output(ItemStack) + output(ItemStack...) + output(Collection) + ``` + +- First validates the builder, returning `null` and outputting errors to the log file if the validation failed, then registers the builder and returns the registered object. (returns `null` or `teamroots.embers.recipe.HeatCoilRecipe`). + + ```groovy:no-line-numbers + register() + ``` + +::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.embers.heat_coil.recipeBuilder() + .input(item('minecraft:clay')) + .output(item('minecraft:gravel')) + .register() + +mods.embers.heat_coil.recipeBuilder() + .input(item('minecraft:gravel')) + .output(item('minecraft:grass')) + .register() +``` + +::::::::: + +:::::::::: + +## Removing Recipes + +- Removes all recipes that match the given input: + + ```groovy:no-line-numbers + mods.embers.heat_coil.removeByInput(IIngredient) + ``` + +- Removes all recipes that match the given output: + + ```groovy:no-line-numbers + mods.embers.heat_coil.removeByOutput(IIngredient) + ``` + +- Removes all registered recipes: + + ```groovy:no-line-numbers + mods.embers.heat_coil.removeAll() + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.embers.heat_coil.removeByInput(item('minecraft:iron_ore')) +mods.embers.heat_coil.removeByOutput(item('minecraft:iron_ingot')) +mods.embers.heat_coil.removeByOutput(item('minecraft:glass')) +mods.embers.heat_coil.removeAll() +``` + +:::::::::: + +## Getting the value of recipes + +- Iterates through every entry in the registry, with the ability to call remove on any element to remove it: + + ```groovy:no-line-numbers + mods.embers.heat_coil.streamRecipes() + ``` diff --git a/docs/groovy-script/mods/embers/index.md b/docs/groovy-script/mods/embers/index.md new file mode 100644 index 0000000..c2ba682 --- /dev/null +++ b/docs/groovy-script/mods/embers/index.md @@ -0,0 +1,23 @@ +--- +aside: false +--- + + +# Embers + +## Categories + +Has 6 subcategories. + +* [Alchemy](./alchemy.md) + +* [Heat Coil](./heat_coil.md) + +* [Melter](./melter.md) + +* [Mixer](./mixer.md) + +* [Reaction Chamber](./reaction_chamber.md) + +* [Stamper](./stamper.md) + diff --git a/docs/groovy-script/mods/embers/melter.md b/docs/groovy-script/mods/embers/melter.md new file mode 100644 index 0000000..0477407 --- /dev/null +++ b/docs/groovy-script/mods/embers/melter.md @@ -0,0 +1,108 @@ +--- +title: "Melter" +titleTemplate: "Embers | CleanroomMC" +description: "Converts an input item into an output fluidstack in a Melter with the ability to have a secondary output fluidstack by adding a Geologic Separator." +source_code_link: "https://github.com/Ender-Development/Embers-Extended-Life/blob/master/src/main/java/teamroots/embers/compat/groovyscript/Melter.java" +--- + +# Melter (Embers) + +## Description + +Converts an input item into an output fluidstack in a Melter with the ability to have a secondary output fluidstack by adding a Geologic Separator. + +## Identifier + +Refer to this via any of the following: + +```groovy:no-line-numbers {1} +mods.embers.melter/* Used as page default */ // [!code focus] +mods.embers.Melter +``` + + +## Adding Recipes + +### Recipe Builder + +Just like other recipe types, the Melter also uses a recipe builder. + +Don't know what a builder is? Check [the builder info page](../../getting_started/builder.md) out. + +:::::::::: details mods.embers.melter.recipeBuilder() {open id="abstract"} +- `IngredientList`. Sets the item inputs of the recipe. Requires exactly 1. + + ```groovy:no-line-numbers + input(IIngredient) + input(IIngredient...) + input(Collection) + ``` + +- `FluidStackList`. Sets the fluid outputs of the recipe. Requires greater than or equal to 1 and less than or equal to 2. + + ```groovy:no-line-numbers + fluidOutput(FluidStack) + fluidOutput(FluidStack...) + fluidOutput(Collection) + ``` + +- First validates the builder, returning `null` and outputting errors to the log file if the validation failed, then registers the builder and returns the registered object. (returns `null` or `teamroots.embers.recipe.ItemMeltingRecipe`). + + ```groovy:no-line-numbers + register() + ``` + +::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.embers.melter.recipeBuilder() + .input(item('minecraft:clay')) + .fluidOutput(fluid('water') * 100) + .register() + +mods.embers.melter.recipeBuilder() + .input(item('minecraft:gravel')) + .fluidOutput(fluid('lava') * 50, fluid('water') * 50) + .register() +``` + +::::::::: + +:::::::::: + +## Removing Recipes + +- Removes all recipes that match the given input: + + ```groovy:no-line-numbers + mods.embers.melter.removeByInput(IIngredient) + ``` + +- Removes all recipes that match the given output: + + ```groovy:no-line-numbers + mods.embers.melter.removeByOutput(IIngredient) + ``` + +- Removes all registered recipes: + + ```groovy:no-line-numbers + mods.embers.melter.removeAll() + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.embers.melter.removeByInput(item('minecraft:redstone_block')) +mods.embers.melter.removeByOutput(fluid('oil_soul')) +mods.embers.melter.removeByOutput(fluid('iron')) +mods.embers.melter.removeAll() +``` + +:::::::::: + +## Getting the value of recipes + +- Iterates through every entry in the registry, with the ability to call remove on any element to remove it: + + ```groovy:no-line-numbers + mods.embers.melter.streamRecipes() + ``` diff --git a/docs/groovy-script/mods/embers/mixer.md b/docs/groovy-script/mods/embers/mixer.md new file mode 100644 index 0000000..ce8e5d2 --- /dev/null +++ b/docs/groovy-script/mods/embers/mixer.md @@ -0,0 +1,101 @@ +--- +title: "Mixer" +titleTemplate: "Embers | CleanroomMC" +description: "Converts up to 3 input fluidstacks into an output fluidstack in a Mixer." +source_code_link: "https://github.com/Ender-Development/Embers-Extended-Life/blob/master/src/main/java/teamroots/embers/compat/groovyscript/Mixer.java" +--- + +# Mixer (Embers) + +## Description + +Converts up to 3 input fluidstacks into an output fluidstack in a Mixer. + +## Identifier + +Refer to this via any of the following: + +```groovy:no-line-numbers {1} +mods.embers.mixer/* Used as page default */ // [!code focus] +mods.embers.Mixer +``` + + +## Adding Recipes + +### Recipe Builder + +Just like other recipe types, the Mixer also uses a recipe builder. + +Don't know what a builder is? Check [the builder info page](../../getting_started/builder.md) out. + +:::::::::: details mods.embers.mixer.recipeBuilder() {open id="abstract"} +- `FluidStackList`. Sets the fluid inputs of the recipe. Requires greater than or equal to 2 and less than or equal to 3. + + ```groovy:no-line-numbers + fluidInput(FluidStack) + fluidInput(FluidStack...) + fluidInput(Collection) + ``` + +- `FluidStackList`. Sets the fluid outputs of the recipe. Requires exactly 1. + + ```groovy:no-line-numbers + fluidOutput(FluidStack) + fluidOutput(FluidStack...) + fluidOutput(Collection) + ``` + +- `double`. 0. Requires greater than 0. (Default `0.5`). + + ```groovy:no-line-numbers + powerRatio(int) + ``` + +- First validates the builder, returning `null` and outputting errors to the log file if the validation failed, then registers the builder and returns the registered object. (returns `null` or `teamroots.embers.recipe.FluidMixingRecipe`). + + ```groovy:no-line-numbers + register() + ``` + +::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.embers.mixer.recipeBuilder() + .fluidInput(fluid('water') * 100, fluid('lava') * 100) + .fluidOutput(fluid('dawnstone') * 100) + .register() +``` + +::::::::: + +:::::::::: + +## Removing Recipes + +- Removes all recipes that match the given output: + + ```groovy:no-line-numbers + mods.embers.mixer.removeByOutput(IIngredient) + ``` + +- Removes all registered recipes: + + ```groovy:no-line-numbers + mods.embers.mixer.removeAll() + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.embers.mixer.removeByOutput(fluid('dawnstone')) +mods.embers.mixer.removeAll() +``` + +:::::::::: + +## Getting the value of recipes + +- Iterates through every entry in the registry, with the ability to call remove on any element to remove it: + + ```groovy:no-line-numbers + mods.embers.mixer.streamRecipes() + ``` diff --git a/docs/groovy-script/mods/embers/reaction_chamber.md b/docs/groovy-script/mods/embers/reaction_chamber.md new file mode 100644 index 0000000..24eaf27 --- /dev/null +++ b/docs/groovy-script/mods/embers/reaction_chamber.md @@ -0,0 +1,127 @@ +--- +title: "Reaction Chamber" +titleTemplate: "Embers | CleanroomMC" +description: "Converts an input fluidstack into an output fluidstack in a Reaction Chamber." +source_code_link: "https://github.com/Ender-Development/Embers-Extended-Life/blob/master/src/main/java/teamroots/embers/compat/groovyscript/ReactionChamber.java" +--- + +# Reaction Chamber (Embers) + +## Description + +Converts an input fluidstack into an output fluidstack in a Reaction Chamber. + +## Identifier + +Refer to this via any of the following: + +```groovy:no-line-numbers {1} +mods.embers.reaction_chamber/* Used as page default */ // [!code focus] +mods.embers.reactionchamber +mods.embers.reactionChamber +mods.embers.ReactionChamber +``` + + +## Adding Recipes + +### Recipe Builder + +Just like other recipe types, the Reaction Chamber also uses a recipe builder. + +Don't know what a builder is? Check [the builder info page](../../getting_started/builder.md) out. + +:::::::::: details mods.embers.reaction_chamber.recipeBuilder() {open id="abstract"} +- `FluidStackList`. Sets the fluid inputs of the recipe. Requires exactly 1. + + ```groovy:no-line-numbers + fluidInput(FluidStack) + fluidInput(FluidStack...) + fluidInput(Collection) + ``` + +- `FluidStackList`. Sets the fluid outputs of the recipe. Requires exactly 1. + + ```groovy:no-line-numbers + fluidOutput(FluidStack) + fluidOutput(FluidStack...) + fluidOutput(Collection) + ``` + +- `float`. Sets the red value of the color. Requires greater than or equal to 0 and less than or equal to 1. (Default `0.0f`). + + ```groovy:no-line-numbers + red(float) + color(int) + color(float...) + particleColor(int) + particleColor(float...) + ``` + +- `float`. Sets the blue value of the color. Requires greater than or equal to 0 and less than or equal to 1. (Default `0.0f`). + + ```groovy:no-line-numbers + blue(float) + color(int) + color(float...) + particleColor(int) + particleColor(float...) + ``` + +- `float`. Sets the green value of the color. Requires greater than or equal to 0 and less than or equal to 1. (Default `0.0f`). + + ```groovy:no-line-numbers + green(float) + color(int) + color(float...) + particleColor(int) + particleColor(float...) + ``` + +- First validates the builder, returning `null` and outputting errors to the log file if the validation failed, then registers the builder and returns the registered object. (returns `null` or `teamroots.embers.recipe.FluidReactionRecipe`). + + ```groovy:no-line-numbers + register() + ``` + +::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.embers.reaction_chamber.recipeBuilder() + .fluidInput(fluid('lava') * 10) + .fluidOutput(fluid('steam') * 50) + .register() +``` + +::::::::: + +:::::::::: + +## Removing Recipes + +- Removes all recipes that match the given output: + + ```groovy:no-line-numbers + mods.embers.reaction_chamber.removeByOutput(IIngredient) + ``` + +- Removes all registered recipes: + + ```groovy:no-line-numbers + mods.embers.reaction_chamber.removeAll() + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.embers.reaction_chamber.removeByOutput(fluid('steam')) +mods.embers.reaction_chamber.removeAll() +``` + +:::::::::: + +## Getting the value of recipes + +- Iterates through every entry in the registry, with the ability to call remove on any element to remove it: + + ```groovy:no-line-numbers + mods.embers.reaction_chamber.streamRecipes() + ``` diff --git a/docs/groovy-script/mods/embers/stamper.md b/docs/groovy-script/mods/embers/stamper.md new file mode 100644 index 0000000..520cd1e --- /dev/null +++ b/docs/groovy-script/mods/embers/stamper.md @@ -0,0 +1,124 @@ +--- +title: "Stamper" +titleTemplate: "Embers | CleanroomMC" +description: "Converts an input fluid into an output item with a provided stamp in a Stamper." +source_code_link: "https://github.com/Ender-Development/Embers-Extended-Life/blob/master/src/main/java/teamroots/embers/compat/groovyscript/Stamper.java" +--- + +# Stamper (Embers) + +## Description + +Converts an input fluid into an output item with a provided stamp in a Stamper. + +## Identifier + +Refer to this via any of the following: + +```groovy:no-line-numbers {1} +mods.embers.stamper/* Used as page default */ // [!code focus] +mods.embers.Stamper +``` + + +## Adding Recipes + +### Recipe Builder + +Just like other recipe types, the Stamper also uses a recipe builder. + +Don't know what a builder is? Check [the builder info page](../../getting_started/builder.md) out. + +:::::::::: details mods.embers.stamper.recipeBuilder() {open id="abstract"} +- `IngredientList`. Sets the item inputs of the recipe. Requires greater than or equal to 0 and less than or equal to 1. + + ```groovy:no-line-numbers + input(IIngredient) + input(IIngredient...) + input(Collection) + ``` + +- `FluidStackList`. Sets the fluid inputs of the recipe. Requires greater than or equal to 0 and less than or equal to 1. + + ```groovy:no-line-numbers + fluidInput(FluidStack) + fluidInput(FluidStack...) + fluidInput(Collection) + ``` + +- `ItemStackList`. Sets the item outputs of the recipe. Requires exactly 1. + + ```groovy:no-line-numbers + output(ItemStack) + output(ItemStack...) + output(Collection) + ``` + +- `IIngredient`. Sets the stamp used for the recipe. Requires Stamp Required. (Default `IIngredient.EMPTY`). + + ```groovy:no-line-numbers + stamp(IIngredient) + ``` + +- First validates the builder, returning `null` and outputting errors to the log file if the validation failed, then registers the builder and returns the registered object. (returns `null` or `teamroots.embers.recipe.ItemStampingRecipe`). + + ```groovy:no-line-numbers + register() + ``` + +::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.embers.stamper.recipeBuilder() + .stamp(item('minecraft:clay')) + .fluidInput(fluid('water') * 100) + .output(item('minecraft:brick')) + .register() + +mods.embers.stamper.recipeBuilder() + .input(item('minecraft:gravel')) + .stamp(item('minecraft:flint')) + .output(item('minecraft:glass')) + .register() +``` + +::::::::: + +:::::::::: + +## Removing Recipes + +- Removes all recipes that match the given input: + + ```groovy:no-line-numbers + mods.embers.stamper.removeByInput(IIngredient) + ``` + +- Removes all recipes that match the given output: + + ```groovy:no-line-numbers + mods.embers.stamper.removeByOutput(IIngredient) + ``` + +- Removes all registered recipes: + + ```groovy:no-line-numbers + mods.embers.stamper.removeAll() + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.embers.stamper.removeByInput(item('embers:shard_ember')) +mods.embers.stamper.removeByOutput(item('embers:plate_iron')) +mods.embers.stamper.removeByOutput(item('embers:dust_ash')) +mods.embers.stamper.removeAll() +``` + +:::::::::: + +## Getting the value of recipes + +- Iterates through every entry in the registry, with the ability to call remove on any element to remove it: + + ```groovy:no-line-numbers + mods.embers.stamper.streamRecipes() + ``` diff --git a/docs/groovy-script/mods/index.md b/docs/groovy-script/mods/index.md index ab19362..59fcc07 100644 --- a/docs/groovy-script/mods/index.md +++ b/docs/groovy-script/mods/index.md @@ -8,6 +8,7 @@ search: * [Actually Additions](./actuallyadditions/) * [Advanced Mortars](./advancedmortars/) * [Aether Legacy](./aether_legacy/) +* [Aetherworks Unofficial Extended Life](./aetherworks/) * [Alchemistry](./alchemistry/) * [Applied Energistics 2](./appliedenergistics2/) * [Arcane Archives](./arcanearchives/) @@ -23,6 +24,7 @@ search: * [Compact Machines 3](./compactmachines3/) * [Cyclic](./cyclicmagic/) * [Draconic Evolution](./draconicevolution/) +* [Embers Unofficial Extended Life](./embers/) * [Ender IO](./enderio/) * [EssentialCraft 4](./essentialcraft/) * [EvilCraft](./evilcraft/)