Skip to content

Commit c2c2aff

Browse files
GrS docs for Soot UEL (#39)
* GrS docs for Soot UEL * export against GrS 1.2.4 * Change registry description for still catalysts
1 parent ca13516 commit c2c2aff

File tree

5 files changed

+361
-0
lines changed

5 files changed

+361
-0
lines changed

docs/groovy-script/mods/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ search:
7070
* [Rustic](./rustic/)
7171
* [SelectionGUI Crafting](./selectionguicrafting/)
7272
* [Silent's Gems](./silentgems/)
73+
* [Soot Unofficial Extended Life](./soot/)
7374
* [Tech Reborn](./techreborn/)
7475
* [Thaumcraft](./thaumcraft/)
7576
* [The Aurorian](./theaurorian/)
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
---
2+
title: "Alchemical Mixer"
3+
titleTemplate: "Soot | CleanroomMC"
4+
description: "The Alchemical Mixer is a device that can be used to mix fluids and ash to create new fluids. The Mixer requires a globe to be placed on top of it, and pedestals to be placed around it. The Mixer will then mix the fluids and ash in the pedestals to create new fluids."
5+
source_code_link: "https://github.com/Ender-Development/Soot-Extended-Life/blob/master/src/main/java/soot/compat/groovyscript/AlchemicalMixer.java"
6+
---
7+
8+
# Alchemical Mixer (Soot)
9+
10+
## Description
11+
12+
The Alchemical Mixer is a device that can be used to mix fluids and ash to create new fluids. The Mixer requires a globe to be placed on top of it, and pedestals to be placed around it. The Mixer will then mix the fluids and ash in the pedestals to create new fluids.
13+
14+
## Identifier
15+
16+
Refer to this via any of the following:
17+
18+
```groovy:no-line-numbers {1}
19+
mods.soot.alchemical_mixer/* Used as page default */ // [!code focus]
20+
mods.soot.alchemicalmixer
21+
mods.soot.alchemicalMixer
22+
mods.soot.AlchemicalMixer
23+
```
24+
25+
26+
## Adding Recipes
27+
28+
### Recipe Builder
29+
30+
Just like other recipe types, the Alchemical Mixer also uses a recipe builder.
31+
32+
Don't know what a builder is? Check [the builder info page](../../getting_started/builder.md) out.
33+
34+
:::::::::: details Recipe Builder {open id="abstract"}
35+
36+
---
37+
38+
- Create the Recipe Builder.
39+
40+
```groovy:no-line-numbers
41+
mods.soot.alchemical_mixer.recipeBuilder()
42+
```
43+
44+
---
45+
46+
- `FluidStackList`. Sets the fluid inputs of the recipe. Requires greater than or equal to 2 and less than or equal to 3.
47+
48+
```groovy:no-line-numbers
49+
fluidInput(FluidStack)
50+
fluidInput(FluidStack...)
51+
fluidInput(Collection<FluidStack>)
52+
```
53+
54+
- `FluidStackList`. Sets the fluid outputs of the recipe. Requires exactly 1.
55+
56+
```groovy:no-line-numbers
57+
fluidOutput(FluidStack)
58+
fluidOutput(FluidStack...)
59+
fluidOutput(Collection<FluidStack>)
60+
```
61+
62+
- `AspectList.AspectRangeList`. Sets what aspects are part of the recipe and their minimum/maximum values. Requires not empty.
63+
64+
```groovy:no-line-numbers
65+
setAspect(String, int, int)
66+
```
67+
68+
---
69+
70+
- 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 `soot.recipe.RecipeAlchemicalMixer`).
71+
72+
```groovy:no-line-numbers
73+
register()
74+
```
75+
76+
---
77+
78+
::::::::: details Example {open id="example"}
79+
```groovy:no-line-numbers
80+
mods.soot.alchemical_mixer.recipeBuilder()
81+
.fluidInput(fluid('water') * 10, fluid('lava') * 10, fluid('iron') * 16, fluid('gold') * 16)
82+
.fluidOutput(fluid('dawnstone') * 16)
83+
.setAspect('dawnstone', 1, 2)
84+
.setAspect('copper', 2, 3)
85+
.register()
86+
```
87+
88+
:::::::::
89+
90+
::::::::::
91+
92+
## Removing Recipes
93+
94+
- Removes all recipes that match the given output:
95+
96+
```groovy:no-line-numbers
97+
mods.soot.alchemical_mixer.removeByOutput(IIngredient)
98+
```
99+
100+
- Removes all registered recipes:
101+
102+
```groovy:no-line-numbers
103+
mods.soot.alchemical_mixer.removeAll()
104+
```
105+
106+
:::::::::: details Example {open id="example"}
107+
```groovy:no-line-numbers
108+
mods.soot.alchemical_mixer.removeByOutput(fluid('antimony'))
109+
mods.soot.alchemical_mixer.removeAll()
110+
```
111+
112+
::::::::::
113+
114+
## Getting the value of recipes
115+
116+
- Iterates through every entry in the registry, with the ability to call remove on any element to remove it:
117+
118+
```groovy:no-line-numbers
119+
mods.soot.alchemical_mixer.streamRecipes()
120+
```
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
aside: false
3+
---
4+
5+
6+
# Soot
7+
8+
## Categories
9+
10+
Has 3 subcategories.
11+
12+
* [Alchemical Mixer](./alchemical_mixer.md)
13+
14+
* [Still](./still.md)
15+
16+
* [Still Catalyst](./still_catalyst.md)
17+
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
---
2+
title: "Still"
3+
titleTemplate: "Soot | CleanroomMC"
4+
description: "The Still is a device that can be used to distill fluids. The Still requires a heat source to operate."
5+
source_code_link: "https://github.com/Ender-Development/Soot-Extended-Life/blob/master/src/main/java/soot/compat/groovyscript/Still.java"
6+
---
7+
8+
# Still (Soot)
9+
10+
## Description
11+
12+
The Still is a device that can be used to distill fluids. The Still requires a heat source to operate.
13+
14+
## Identifier
15+
16+
Refer to this via any of the following:
17+
18+
```groovy:no-line-numbers {1}
19+
mods.soot.still/* Used as page default */ // [!code focus]
20+
mods.soot.Still
21+
```
22+
23+
24+
## Adding Recipes
25+
26+
### Recipe Builder
27+
28+
Just like other recipe types, the Still also uses a recipe builder.
29+
30+
Don't know what a builder is? Check [the builder info page](../../getting_started/builder.md) out.
31+
32+
:::::::::: details Recipe Builder {open id="abstract"}
33+
34+
---
35+
36+
- Create the Recipe Builder.
37+
38+
```groovy:no-line-numbers
39+
mods.soot.still.recipeBuilder()
40+
```
41+
42+
---
43+
44+
- `IngredientList<IIngredient>`. Sets the item inputs of the recipe. Requires greater than or equal to 0 and less than or equal to 1.
45+
46+
```groovy:no-line-numbers
47+
input(IIngredient)
48+
input(IIngredient...)
49+
input(Collection<IIngredient>)
50+
```
51+
52+
- `FluidStackList`. Sets the fluid inputs of the recipe. Requires exactly 1.
53+
54+
```groovy:no-line-numbers
55+
fluidInput(FluidStack)
56+
fluidInput(FluidStack...)
57+
fluidInput(Collection<FluidStack>)
58+
```
59+
60+
- `FluidStackList`. Sets the fluid outputs of the recipe. Requires exactly 1.
61+
62+
```groovy:no-line-numbers
63+
fluidOutput(FluidStack)
64+
fluidOutput(FluidStack...)
65+
fluidOutput(Collection<FluidStack>)
66+
```
67+
68+
- `int`. Sets how many of the catalyst item is consumed in the recipe. Requires greater than or equal to 1 and less than or equal to 1000. (Default `1`).
69+
70+
```groovy:no-line-numbers
71+
catalystConsumed(int)
72+
```
73+
74+
---
75+
76+
- 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 `soot.recipe.RecipeStill`).
77+
78+
```groovy:no-line-numbers
79+
register()
80+
```
81+
82+
---
83+
84+
::::::::: details Example {open id="example"}
85+
```groovy:no-line-numbers
86+
mods.soot.still.recipeBuilder()
87+
.fluidInput(fluid('water') * 10)
88+
.input(item('minecraft:iron_ingot'))
89+
.fluidOutput(fluid('lava') * 10)
90+
.catalystConsumed(10)
91+
.register()
92+
93+
mods.soot.still.recipeBuilder()
94+
.fluidInput(fluid('iron') * 10)
95+
.fluidOutput(fluid('copper') * 2)
96+
.register()
97+
```
98+
99+
:::::::::
100+
101+
::::::::::
102+
103+
## Removing Recipes
104+
105+
- Removes all recipes that match the given input:
106+
107+
```groovy:no-line-numbers
108+
mods.soot.still.removeByInput(IIngredient)
109+
```
110+
111+
- Removes all recipes that match the given output:
112+
113+
```groovy:no-line-numbers
114+
mods.soot.still.removeByOutput(IIngredient)
115+
```
116+
117+
- Removes all registered recipes:
118+
119+
```groovy:no-line-numbers
120+
mods.soot.still.removeAll()
121+
```
122+
123+
:::::::::: details Example {open id="example"}
124+
```groovy:no-line-numbers
125+
mods.soot.still.removeByInput(fluid('boiling_wort'))
126+
mods.soot.still.removeByOutput(fluid('inner_fire'))
127+
mods.soot.still.removeAll()
128+
```
129+
130+
::::::::::
131+
132+
## Getting the value of recipes
133+
134+
- Iterates through every entry in the registry, with the ability to call remove on any element to remove it:
135+
136+
```groovy:no-line-numbers
137+
mods.soot.still.streamRecipes()
138+
```
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
title: "Still Catalyst"
3+
titleTemplate: "Soot | CleanroomMC"
4+
description: "Tweak the values of various Catalysts used in the Still. If a catalyst is not defined, it will have a default value of 1000."
5+
source_code_link: "https://github.com/Ender-Development/Soot-Extended-Life/blob/master/src/main/java/soot/compat/groovyscript/StillCatalyst.java"
6+
---
7+
8+
# Still Catalyst (Soot)
9+
10+
## Description
11+
12+
Tweak the values of various Catalysts used in the Still. If a catalyst is not defined, it will have a default value of 1000.
13+
14+
## Identifier
15+
16+
Refer to this via any of the following:
17+
18+
```groovy:no-line-numbers {1}
19+
mods.soot.still_catalyst/* Used as page default */ // [!code focus]
20+
mods.soot.stillcatalyst
21+
mods.soot.stillCatalyst
22+
mods.soot.StillCatalyst
23+
```
24+
25+
26+
## Editing Values
27+
28+
- Return the amount of value that is removed from the catalyst:
29+
30+
```groovy:no-line-numbers
31+
mods.soot.still_catalyst.getAmount(IIngredient)
32+
```
33+
34+
:::::::::: details Example {open id="example"}
35+
```groovy:no-line-numbers
36+
mods.soot.still_catalyst.getAmount(item('minecraft:snowball'))
37+
```
38+
39+
::::::::::
40+
41+
## Adding Entries
42+
43+
- Adds a new catalyst with the specified amount:
44+
45+
```groovy:no-line-numbers
46+
mods.soot.still_catalyst.addCatalyst(IIngredient, int)
47+
```
48+
49+
:::::::::: details Example {open id="example"}
50+
```groovy:no-line-numbers
51+
mods.soot.still_catalyst.addCatalyst(item('minecraft:iron_ingot'), 600)
52+
mods.soot.still_catalyst.addCatalyst(item('minecraft:glass'), 50)
53+
```
54+
55+
::::::::::
56+
57+
## Removing Entries
58+
59+
- Removes the specified value from the catalyst. Recipes with this Catalyst won't be removed. Instead the Catalyst will have the default value of 1000:
60+
61+
```groovy:no-line-numbers
62+
mods.soot.still_catalyst.removeCatalyst(IIngredient)
63+
```
64+
65+
- Removes all registered recipes:
66+
67+
```groovy:no-line-numbers
68+
mods.soot.still_catalyst.removeAll()
69+
```
70+
71+
:::::::::: details Example {open id="example"}
72+
```groovy:no-line-numbers
73+
mods.soot.still_catalyst.removeCatalyst(ore('logWood'))
74+
mods.soot.still_catalyst.removeAll()
75+
```
76+
77+
::::::::::
78+
79+
## Getting the value of entries
80+
81+
- Returns a stream of all specified Catalysts:
82+
83+
```groovy:no-line-numbers
84+
mods.soot.still_catalyst.streamCatalysts()
85+
```

0 commit comments

Comments
 (0)