This page relates to Immersive Intelligence, which has built-in support!

Chemical Painter

Link to chemical-painter

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

Importing the Package

Link to importing-the-package

ZenScript
Copy
import mods.immersiveintelligence.ChemicalPainter;
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.

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

IChemicalPainterFunction

Link to 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

ZenScript
Copy
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

Link to adding-washing-recipes

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

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
ZenScript
Copy
mods.immersiveintelligence.ChemicalPainter.addWashingRecipe(IIngredient itemInput, IItemStack itemOutput, ILiquidStack fluidInput, int energy, int time);
ZenScript
Copy
mods.immersiveintelligence.ChemicalPainter.addWashingRecipe(<ore:ingotIron>, <minecraft:diamond>, <liquid:water>, 2000, 200);

Removing Recipes

Link to removing-recipes

TypeNameRequired
Type
IItemStack
Name
Output
Required
Yes
ZenScript
Copy
mods.immersiveintelligence.ChemicalPainter.removeRecipe(IItemStack output);
ZenScript
Copy
mods.immersiveintelligence.ChemicalPainter.removeRecipe(<minecraft:diamond>);