Home Getting Started With Scripts Using this wiki Commands CTGUI Global functions Bracket Handlers
This page relates to Immersive Intelligence, which has built-in support!

Chemical Painter

The ChemicalPainter package can be used to modify the Immersive Intelligence Chemical Painter recipes.

Importing the Package

script.zs
import mods.immersiveintelligence.ChemicalPainter;

Adding Recipes

Parameters

TypeNameRequired
Type
IIngredient
Name
Item Input
Required
Yes
Type
IItemStack
Name
Item Output
Required
Yes
Type
int
Name
Paint Amount
Required
Yes
Type
int
Name
Energy
Required
Yes
Type
int
Name
Time
Required
Yes

Paint amount is the total amount of ink in mB used for a single process.
Amounts of specific ink are based on their percentage in the CMYK color model.

Syntax

script.zs
mods.immersiveintelligence.ChemicalPainter.addRecipe(IIngredient itemInput, IChemicalPainterFunction function, int paintAmount, int energy, int time);

IChemicalPainterFunction

IChemicalPainterFunction is a function used to determine the output item of a recipe based on the stack and selected paint color.
For example, it can be used to get the core NBT tag or merge the core and casing’s NBT tags.

TypeName
Type
IItemStack
Name
Input
Type
int
Name
RGB Int Color
Type
int
Name
Vanilla Color

The Vanilla Color is a number 0-15 and represents a dye color based on damage value.

Returns: IItemStack

Example

script.zs
mods.immersiveintelligence.ChemicalPainter.addRecipe(
<ore:ingotIron>,
function(input, color, baseColor) {
val nbt as IData = {key1 : color};
return input.withTag(input.tag+nbt);
},
100, 2000, 200
);

Adding Washing Recipes

Washing recipes are functionally the same as regular recipes, but are placed in a different category in JEI.

Parameters

TypeNameRequired
Type
IIngredient
Name
Item Input
Required
Yes
Type
IItemStack
Name
Item Output
Required
Yes
Type
ILiquidStack
Name
Fluid Input
Required
Yes
Type
int
Name
Energy
Required
Yes
Type
int
Name
Time
Required
Yes

Syntax

script.zs
mods.immersiveintelligence.ChemicalPainter.addWashingRecipe(IIngredient itemInput, IItemStack itemOutput, ILiquidStack fluidInput, int energy, int time);

Example

script.zs
mods.immersiveintelligence.ChemicalPainter.addWashingRecipe(<ore:ingotIron>, <minecraft:diamond>, <liquid:water>, 2000, 200);

Removing Recipes

Parameters

TypeNameRequired
Type
IItemStack
Name
Output
Required
Yes

Syntax

script.zs
mods.immersiveintelligence.ChemicalPainter.removeRecipe(IItemStack output);

Example

script.zs
mods.immersiveintelligence.ChemicalPainter.removeRecipe(<minecraft:diamond>);