-
Notifications
You must be signed in to change notification settings - Fork 0
Strainers KubeJS
Add this function to your JS then you can use strainerAuto to add multiple recipes for an output with different chances using mesh tiers
ServerEvents.recipes(event => { strainerAuto('contained:brown_asteroid_dust', 'contained:mysterious_alloy', 'oritech:small_gold_dust', 0.5, 0.05, 4, 10);
function strainerAuto(input, fluid, item, baseChance, addChance, minTier, maxTier) {
let results = [];
for (let tier = minTier; tier <= maxTier; tier++) {
let chance = baseChance + (tier - minTier) * addChance;
results.push([item, chance, `#strainers:tier_${tier}_meshes`]);
}
return event.recipes.strainers.strainer(input, fluid, results);
}
input(Ingredient), aboveBlock(BlockState), Results(MeshChanceResult) ServerEvents.recipes(event => { event.recipes.strainers.strainer("minecraft:iron_block", "minecraft:water", [ ["minecraft:iron_ingot", 0.75, "strainers:iron_mesh" ], ["minecraft:iron_ingot", 0.75, "#strainers:tier_10_meshes" ], ]) });
input (Ingredient), aboveBlock/fluid (String), output (ItemStack), meshTier (int), chance (double)
ServerEvents.recipes(event => {
event.recipes.strainers.strainer('minecraft:dirt', 'contained:mysterious_alloy', 'contained:earth_drop', 3, 0.75)
})input (Ingredient), damageChance (double)
ServerEvents.recipes(event => {
event.recipes.strainers.mesh_upgrade('minecraft:diamond_block', 0.4)
})input (Ingredient), outputChance (double)
ServerEvents.recipes(event => {
event.recipes.strainers.output_upgrade('minecraft:diamond_block', 0.4)
})