diff --git a/docs/groovy-script/mods/matteroverdrive/android.md b/docs/groovy-script/mods/matteroverdrive/android.md new file mode 100644 index 00000000..43dbb71b --- /dev/null +++ b/docs/groovy-script/mods/matteroverdrive/android.md @@ -0,0 +1,107 @@ +--- +title: "Android Biotic Stats" +titleTemplate: "MatterOverdrive: Refitted | CleanroomMC" +description: "Tweak Android biotic stat parameters such as XP cost, required items, and enabled state." +source_code_link: "https://github.com/Refitbench/MatterOverdrive/blob/master/src/main/java/matteroverdrive/compat/modules/groovyscript/Android.java" +--- + +# Android Biotic Stats (MatterOverdrive: Refitted) + +## Description + +Tweak Android biotic stat parameters such as XP cost, required items, and enabled state. + +:::::::::: details Info {open id="info"} +Use the `androidStat(name)` bracket handler to obtain an AbstractBioticStat. +:::::::::: + +:::::::::: details Tip {open id="tip"} +Use the command `/android list` to print all registered biotic stat names to chat. +:::::::::: + +## Identifier + +The identifier `mods.matteroverdrive.android` will be used as the default on this page. + +:::::::::: details All Identifiers {open id="quote"} + +Any of these can be used to refer to this compat: + +```groovy:no-line-numbers {1} +mods.matteroverdrive.android/* Used as page default */ // [!code focus] +mods.matteroverdrive.Android +``` + +:::::::::: + +## Modify Stat State + +- Set the given biotic stat to be enabled, overriding config-based rules: + + ```groovy:no-line-numbers + mods.matteroverdrive.android.enable(AbstractBioticStat) + ``` + +- Set the given biotic stat to be disabled, overriding config-based rules, disabling the stat features: + + ```groovy:no-line-numbers + mods.matteroverdrive.android.disable(AbstractBioticStat) + ``` + +- Set the given biotic stat to be delisted. Cannot be installed from the Android Station, but current installs continue to function: + + ```groovy:no-line-numbers + mods.matteroverdrive.android.unregister(AbstractBioticStat) + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.matteroverdrive.android.unregister(androidStat('cloak')) +``` + +:::::::::: + +## Modify Stat Requirements + +- Set the XP cost in levels required for the given biotic stat: + + ```groovy:no-line-numbers + mods.matteroverdrive.android.setXp(AbstractBioticStat, int) + ``` + +- Add an item that must be present in the player's inventory to install the given biotic stat: + + ```groovy:no-line-numbers + mods.matteroverdrive.android.addRequiredItem(AbstractBioticStat, ItemStack) + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.matteroverdrive.android.setXp(androidStat('shield'), 25) +mods.matteroverdrive.android.addRequiredItem(androidStat('shield'), item('minecraft:iron_ingot') * 5) +``` + +:::::::::: + +## Remove Stat Requirements + +- Remove all required installation items from the given biotic stat: + + ```groovy:no-line-numbers + mods.matteroverdrive.android.clearRequiredItems(AbstractBioticStat) + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.matteroverdrive.android.clearRequiredItems(androidStat('shield')) +``` + +:::::::::: + +## Query Biotic Stats + +- Returns a sorted list of all currently registered biotic stat unlocalized names: + + ```groovy:no-line-numbers + mods.matteroverdrive.android.getStatNames() + ``` diff --git a/docs/groovy-script/mods/matteroverdrive/index.md b/docs/groovy-script/mods/matteroverdrive/index.md new file mode 100644 index 00000000..b3221b69 --- /dev/null +++ b/docs/groovy-script/mods/matteroverdrive/index.md @@ -0,0 +1,19 @@ +--- +aside: false +--- + + +# MatterOverdrive: Refitted + +## Categories + +Has 4 subcategories. + +* [Android Biotic Stats](./android.md) + +* [Inscriber](./inscriber.md) + +* [Matter Registry](./matter.md) + +* [Replicator Blacklist](./replicator.md) + diff --git a/docs/groovy-script/mods/matteroverdrive/inscriber.md b/docs/groovy-script/mods/matteroverdrive/inscriber.md new file mode 100644 index 00000000..b7756be5 --- /dev/null +++ b/docs/groovy-script/mods/matteroverdrive/inscriber.md @@ -0,0 +1,148 @@ +--- +title: "Inscriber" +titleTemplate: "MatterOverdrive: Refitted | CleanroomMC" +description: "Add or remove recipes from the Inscriber." +source_code_link: "https://github.com/Refitbench/MatterOverdrive/blob/master/src/main/java/matteroverdrive/compat/modules/groovyscript/Inscriber.java" +--- + +# Inscriber (MatterOverdrive: Refitted) + +## Description + +Add or remove recipes from the Inscriber. + +## Identifier + +The identifier `mods.matteroverdrive.inscriber` will be used as the default on this page. + +:::::::::: details All Identifiers {open id="quote"} + +Any of these can be used to refer to this compat: + +```groovy:no-line-numbers {1} +mods.matteroverdrive.inscriber/* Used as page default */ // [!code focus] +mods.matteroverdrive.Inscriber +``` + +:::::::::: + +## Adding Recipes + +- Add the given recipe to the recipe list: + + ```groovy:no-line-numbers + mods.matteroverdrive.inscriber.add(InscriberRecipe) + ``` + +### Recipe Builder + +Just like other recipe types, the Inscriber also uses a recipe builder. + +Don't know what a builder is? Check [the builder info page](../../getting_started/builder.md) out. + +:::::::::: details Recipe Builder {open id="abstract"} + +--- + +- Build and register a new Inscriber recipe with two inputs, one output, an energy cost, and a processing time. + + ```groovy:no-line-numbers + mods.matteroverdrive.inscriber.recipeBuilder() + ``` + +--- + +- `IngredientList`. Sets the item inputs of the recipe. Requires exactly 2. + + ```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`. Ticks required to complete the recipe. Must be greater than 0. (Default `300`). + + ```groovy:no-line-numbers + time(int) + ``` + +- `int`. Energy consumed per recipe in RF. Must be greater than 0. (Default `64000`). + + ```groovy:no-line-numbers + energy(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 `matteroverdrive.data.recipes.InscriberRecipe`). + + ```groovy:no-line-numbers + register() + ``` + +--- + +::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.matteroverdrive.inscriber.recipeBuilder() + .input(item('minecraft:redstone')) + .input(item('minecraft:gold_ingot')) + .output(item('matteroverdrive:circuit_basic')) + .energy(32000) + .time(120) + .register() +``` + +::::::::: + +:::::::::: + +## Removing Recipes + +- Removes the given recipe from the recipe list: + + ```groovy:no-line-numbers + mods.matteroverdrive.inscriber.remove(InscriberRecipe) + ``` + +- Remove all Inscriber recipes whose main and secondary inputs match the given ingredients: + + ```groovy:no-line-numbers + mods.matteroverdrive.inscriber.removeByInputs(IIngredient, IIngredient) + ``` + +- Remove all Inscriber recipes whose output matches the given ingredient: + + ```groovy:no-line-numbers + mods.matteroverdrive.inscriber.removeByOutput(IIngredient) + ``` + +- Removes all registered recipes: + + ```groovy:no-line-numbers + mods.matteroverdrive.inscriber.removeAll() + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.matteroverdrive.inscriber.removeByInputs(item('matteroverdrive:isolinear_circuit'), item('minecraft:gold_ingot')) +mods.matteroverdrive.inscriber.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.matteroverdrive.inscriber.streamRecipes() + ``` diff --git a/docs/groovy-script/mods/matteroverdrive/matter.md b/docs/groovy-script/mods/matteroverdrive/matter.md new file mode 100644 index 00000000..71b543da --- /dev/null +++ b/docs/groovy-script/mods/matteroverdrive/matter.md @@ -0,0 +1,72 @@ +--- +title: "Matter Registry" +titleTemplate: "MatterOverdrive: Refitted | CleanroomMC" +description: "Modify the matter value table used by Matter Overdrive's scanner, replicator, and decomposer. Supports individual items, ore dictionary, or entire modIDs." +source_code_link: "https://github.com/Refitbench/MatterOverdrive/blob/master/src/main/java/matteroverdrive/compat/modules/groovyscript/Matter.java" +--- + +# Matter Registry (MatterOverdrive: Refitted) + +## Description + +Modify the matter value table used by Matter Overdrive's scanner, replicator, and decomposer. Supports individual items, ore dictionary, or entire modIDs. + +## Identifier + +The identifier `mods.matteroverdrive.matter` will be used as the default on this page. + +:::::::::: details All Identifiers {open id="quote"} + +Any of these can be used to refer to this compat: + +```groovy:no-line-numbers {1} +mods.matteroverdrive.matter/* Used as page default */ // [!code focus] +mods.matteroverdrive.Matter +``` + +:::::::::: + +## Adding Entries + +- Set the matter value for an item or ore dictionary group, replacing any existing entry: + + ```groovy:no-line-numbers + mods.matteroverdrive.matter.add(IIngredient, int) + ``` + +- Set the matter value for an item or ore dictionary group, replacing any existing entry: + + ```groovy:no-line-numbers + mods.matteroverdrive.matter.add(IIngredient, IMatterEntryHandler) + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.matteroverdrive.matter.add(item('minecraft:gold_ingot'), 256) +mods.matteroverdrive.matter.add(ore('blockGold'), 256) +``` + +:::::::::: + +## Removing Entries + +- Remove the matter entry for an item or ore dictionary group: + + ```groovy:no-line-numbers + mods.matteroverdrive.matter.remove(IIngredient) + ``` + +- Prevent a mod's items from being automatically assigned matter values during scanning. Use modID: + + ```groovy:no-line-numbers + mods.matteroverdrive.matter.blacklistMod(String) + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.matteroverdrive.matter.remove(item('minecraft:apple')) +mods.matteroverdrive.matter.remove(ore('ingotCopper')) +mods.matteroverdrive.matter.blacklistMod('thaumcraft') +``` + +:::::::::: diff --git a/docs/groovy-script/mods/matteroverdrive/replicator.md b/docs/groovy-script/mods/matteroverdrive/replicator.md new file mode 100644 index 00000000..2b6538a2 --- /dev/null +++ b/docs/groovy-script/mods/matteroverdrive/replicator.md @@ -0,0 +1,43 @@ +--- +title: "Replicator Blacklist" +titleTemplate: "MatterOverdrive: Refitted | CleanroomMC" +description: "Add items to the replicator blacklist. Blacklisted items cannot be replicated even if they have a matter value assigned." +source_code_link: "https://github.com/Refitbench/MatterOverdrive/blob/master/src/main/java/matteroverdrive/compat/modules/groovyscript/Replicator.java" +--- + +# Replicator Blacklist (MatterOverdrive: Refitted) + +## Description + +Add items to the replicator blacklist. Blacklisted items cannot be replicated even if they have a matter value assigned. + +## Identifier + +The identifier `mods.matteroverdrive.replicator` will be used as the default on this page. + +:::::::::: details All Identifiers {open id="quote"} + +Any of these can be used to refer to this compat: + +```groovy:no-line-numbers {1} +mods.matteroverdrive.replicator/* Used as page default */ // [!code focus] +mods.matteroverdrive.Replicator +``` + +:::::::::: + +## Adding Entries + +- Add an item, item stack, or ingredient to the replicator blacklist: + + ```groovy:no-line-numbers + mods.matteroverdrive.replicator.addBlacklist(IIngredient) + ``` + +:::::::::: details Example {open id="example"} +```groovy:no-line-numbers +mods.matteroverdrive.replicator.addBlacklist(item('matteroverdrive:matter_dust')) +mods.matteroverdrive.replicator.addBlacklist(ore('blockGold')) +``` + +::::::::::