Here is an example of this code being done in 1.18 in the pack Create: Arcane Engineering. I'm hoping to achieve something similar in 1.19
let spoutInteraction = (blockId, fluidId, fluidAmount, result, requiredAmount) => {
event.addSpoutHandler(blockId + "_spout_interaction", blockId, (block, fluid, simulate) => {
if (!requiredAmount)
requiredAmount = fluidAmount
if (fluid.id == fluidId && fluid.amount >= requiredAmount) {
if (!simulate)
if (result)
block.setBlockState(Block.getBlock(result).defaultBlockState(), 2);
else
block.blockState.randomTick(block.level.minecraftLevel, block.pos, block.level.minecraftLevel.random)
return fluidAmount;
}
return 0;
});
}
let corundum = ["red", "orange", "yellow", "green", "blue", "indigo", "violet", "white", "black"]
corundum.forEach(Color => {
spoutInteraction("quark:" + Color + "_corundum", "minecraft:water", 100)
});
})```