// Botany Pots

import crafttweaker.api.item.IItemStack;
import mods.botanypots.ZenCrop;
val crops = <recipetype:botanypots:crop>;
val soils = <recipetype:botanypots:soil>;

// The Metal Bushes
// ---------------------------------------------------------------------------------------------------------------------------------------------
val copperBush = crops.create("copper_bush", <item:metalbushesmod:copper_bush>, <blockstate:metalbushesmod:copper_bush:age=2>, 1800, "dirt");
copperBush.addDrop(<item:occultism:copper_nugget>, 0.9);

val tinBush = crops.create("tin_bush", <item:metalbushesmod:tin_bush>, <blockstate:metalbushesmod:tin_bush:age=2>, 1800, "dirt");
tinBush.addDrop(<item:mysticalworld:tin_nugget>, 0.9);

val leadBush = crops.create("lead_bush", <item:metalbushesmod:osmium_bush>, <blockstate:metalbushesmod:osmium_bush:age=2>, 1800, "dirt");
leadBush.addDrop(<item:eidolon:lead_nugget>, 0.9);

val silverBush = crops.create("silver_bush", <item:metalbushesmod:zinc_bush>, <blockstate:metalbushesmod:zinc_bush:age=2>, 1800, "dirt");
silverBush.addDrop(<item:occultism:silver_nugget>, 0.9);
// ---------------------------------------------------------------------------------------------------------------------------------------------

// Snowberries and Feverweed
// ---------------------------------------------------------------------------------------------------------------------------------------------
val snowberries = crops.create("snowberry", <item:astral:snowberry>, <blockstate:astral:snowberry_bush:age=3>, 800, "dirt");
snowberries.addDrop(<item:astral:snowberry>, 0.9);

val feverweed = crops.create("feverweed", <item:astral:feverweed>, <blockstate:astral:feverweed>, 1600, "dirt");
feverweed.addDrop(<item:astral:feverweed>, 0.75);
// ---------------------------------------------------------------------------------------------------------------------------------------------

// Twilight Forest Plants
// torchberries from trollvidr, the special saplings, the normal ones
// ---------------------------------------------------------------------------------------------------------------------------------------------
val stoneSoil = soils.create("botanypots:soil/stone", <tag:items:forge:stone>, <blockstate:minecraft:stone>, 0.0, "stone");
val trollvidr = crops.create("trollvidr", <item:twilightforest:trollvidr>, <blockstate:twilightforest:unripe_trollber>, 800, "stone");
trollvidr.addDrop(<item:twilightforest:trollvidr>, 0.9);
trollvidr.addDrop(<item:twilightforest:unripe_trollber>, 0.5);
trollvidr.addDrop(<item:twilightforest:trollber>, 0.1);
trollvidr.addDrop(<item:twilightforest:torchberries>, 0.5);

val twilight_oak = crops.create("twilight_oak", <item:twilightforest:twilight_oak_sapling>, <blockstate:twilightforest:twilight_oak_sapling:stage=0>, 2400, "dirt");
twilight_oak.addDrop(<item:twilightforest:twilight_oak_log>, 0.5);
twilight_oak.addDrop(<item:minecraft:stick>, 0.10, 1, 2);
twilight_oak.addDrop(<item:twilightforest:twilight_oak_sapling>, 0.05, 1, 2);
twilight_oak.addDrop(<item:twilightforest:root_strand>, 0.10, 1, 2);
twilight_oak.addDrop(<item:twilightforest:liveroot>, 0.05);

val twilight_canopy = crops.create("twilight_canopy", <item:twilightforest:canopy_sapling>, <blockstate:twilightforest:canopy_sapling:stage=0>, 2400, "dirt");
twilight_canopy.addDrop(<item:twilightforest:canopy_log>, 0.5);
twilight_canopy.addDrop(<item:minecraft:stick>, 0.10, 1, 2);
twilight_canopy.addDrop(<item:twilightforest:canopy_sapling>, 0.05, 1, 2);
twilight_canopy.addDrop(<item:twilightforest:root_strand>, 0.10, 1, 2);
twilight_canopy.addDrop(<item:twilightforest:liveroot>, 0.05);
twilight_canopy.addDrop(<item:twilightforest:firefly>, 0.05);

val twilight_mangrove = crops.create("twilight_mangrove", <item:twilightforest:mangrove_sapling>, <blockstate:twilightforest:mangrove_sapling:stage=0>, 2400, "dirt");
twilight_mangrove.addDrop(<item:twilightforest:mangrove_log>, 0.5);
twilight_mangrove.addDrop(<item:minecraft:stick>, 0.10, 1, 2);
twilight_mangrove.addDrop(<item:twilightforest:mangrove_sapling>, 0.05, 1, 2);
twilight_mangrove.addDrop(<item:twilightforest:root_strand>, 0.10, 1, 2);
twilight_mangrove.addDrop(<item:twilightforest:liveroot>, 0.05);

val twilight_darkwood = crops.create("twilight_darkwood", <item:twilightforest:darkwood_sapling>, <blockstate:twilightforest:darkwood_sapling:stage=0>, 2400, "dirt");
twilight_darkwood.addDrop(<item:twilightforest:dark_log>, 0.5);
twilight_darkwood.addDrop(<item:minecraft:stick>, 0.10, 1, 2);
twilight_darkwood.addDrop(<item:twilightforest:darkwood_sapling>, 0.05, 1, 2);
twilight_darkwood.addDrop(<item:twilightforest:root_strand>, 0.10, 1, 2);
twilight_darkwood.addDrop(<item:twilightforest:liveroot>, 0.05);

val twilight_robust = crops.create("twilight_robust", <item:twilightforest:hollow_oak_sapling>, <blockstate:twilightforest:hollow_oak_sapling:stage=0>, 2400, "dirt");
twilight_robust.addDrop(<item:twilightforest:twilight_oak_log>, 1, 4);
twilight_robust.addDrop(<item:minecraft:stick>, 1);
twilight_robust.addDrop(<item:twilightforest:root_strand>, 1);
twilight_robust.addDrop(<item:twilightforest:liveroot>, 0.5);
twilight_robust.addDrop(<item:twilightforest:cicada>, 0.05);

val twilight_rainbow = crops.create("twilight_rainbow", <item:twilightforest:rainboak_sapling>, <blockstate:twilightforest:rainboak_sapling:stage=0>, 2400, "dirt");
twilight_rainbow.addDrop(<item:twilightforest:twilight_oak_log>, 0.5);
twilight_rainbow.addDrop(<item:minecraft:stick>, 0.10, 1, 2);
twilight_rainbow.addDrop(<item:twilightforest:rainboak_sapling>, 0.05, 1, 2);
twilight_rainbow.addDrop(<item:twilightforest:root_strand>, 0.10, 1, 2);
twilight_rainbow.addDrop(<item:twilightforest:liveroot>, 0.05);

val twilight_time = crops.create("twilight_time", <item:twilightforest:time_sapling>, <blockstate:twilightforest:time_sapling:stage=0>, 2400, "dirt");
twilight_time.addDrop(<item:twilightforest:time_log>, 0.5);
twilight_time.addDrop(<item:twilightforest:time_log_core>, 0.01);
twilight_time.addDrop(<item:minecraft:stick>, 0.10, 1, 2);
twilight_time.addDrop(<item:twilightforest:time_sapling>, 0.01, 1, 2);
twilight_time.addDrop(<item:twilightforest:root_strand>, 0.10, 1, 2);
twilight_time.addDrop(<item:twilightforest:liveroot>, 0.05);

val twilight_transformation = crops.create("twilight_transformation", <item:twilightforest:transformation_sapling>, <blockstate:twilightforest:transformation_sapling:stage=0>, 2400, "dirt");
twilight_transformation.addDrop(<item:twilightforest:transformation_log>, 0.5);
twilight_transformation.addDrop(<item:twilightforest:transformation_log_core>, 0.01);
twilight_transformation.addDrop(<item:minecraft:stick>, 0.10, 1, 2);
twilight_transformation.addDrop(<item:twilightforest:transformation_sapling>, 0.01, 1, 2);
twilight_transformation.addDrop(<item:twilightforest:root_strand>, 0.10, 1, 2);
twilight_transformation.addDrop(<item:twilightforest:liveroot>, 0.05);

val twilight_mining = crops.create("twilight_mining", <item:twilightforest:mining_sapling>, <blockstate:twilightforest:mining_sapling:stage=0>, 2400, "dirt");
twilight_mining.addDrop(<item:twilightforest:mining_log>, 0.5);
twilight_mining.addDrop(<item:twilightforest:mining_log_core>, 0.01);
twilight_mining.addDrop(<item:minecraft:stick>, 0.10, 1, 2);
twilight_mining.addDrop(<item:twilightforest:mining_sapling>, 0.01, 1, 2);
twilight_mining.addDrop(<item:twilightforest:root_strand>, 0.10, 1, 2);
twilight_mining.addDrop(<item:twilightforest:liveroot>, 0.05);

val twilight_sorting = crops.create("twilight_sorting", <item:twilightforest:sorting_sapling>, <blockstate:twilightforest:sorting_sapling:stage=0>, 2400, "dirt");
twilight_sorting.addDrop(<item:twilightforest:sorting_log>, 0.5);
twilight_sorting.addDrop(<item:twilightforest:sorting_log_core>, 0.01);
twilight_sorting.addDrop(<item:minecraft:stick>, 0.10, 1, 2);
twilight_sorting.addDrop(<item:twilightforest:sorting_sapling>, 0.01, 1, 2);
twilight_sorting.addDrop(<item:twilightforest:root_strand>, 0.10, 1, 2);
twilight_sorting.addDrop(<item:twilightforest:liveroot>, 0.05);

val uberSoil = soils.create("botanypots:soil/uber", <item:twilightforest:uberous_soil>, <blockstate:twilightforest:uberous_soil>, 0.0, "uber");
val beans = crops.create("magic_beans", <item:twilightforest:magic_beans>, <blockstate:twilightforest:fiddlehead>, 800, "uber");
beans.addDrop(<item:twilightforest:huge_stalk>, 0.9);
beans.addDrop(<item:twilightforest:beanstalk_leaves>, 0.5);
beans.addDrop(<item:twilightforest:magic_beans>, 0.01);

val rose = crops.create("thorn_rose", <item:twilightforest:thorn_rose>, <blockstate:twilightforest:green_thorns:east=false,waterlogged=false,south=false,north=false,west=false,up=true,axis=y,down=true>, 800, "stone");
rose.addDrop(<item:twilightforest:thorn_rose>, 0.9);
// ---------------------------------------------------------------------------------------------------------------------------------------------


// Ars Nouveau Plants
// Source Berries and Magebloom, they already did Archwood
// ---------------------------------------------------------------------------------------------------------------------------------------------
val mana_berry = crops.create("mana_berry", <item:ars_nouveau:mana_berry>, <blockstate:ars_nouveau:mana_berry_bush:age=3>, 800, "dirt");
mana_berry.addDrop(<item:ars_nouveau:mana_berry>, 0.9);

val magebloom = crops.create("magebloom", <item:ars_nouveau:mana_bloom_crop>, <blockstate:ars_nouveau:mana_bloom_crop:age=7>, 1000, "dirt");
magebloom.addDrop(<item:ars_nouveau:mana_bloom>, 0.75);
magebloom.addDrop(<item:ars_nouveau:mana_bloom>, 0.05, 1, 2);
magebloom.addDrop(<item:ars_nouveau:mana_bloom_crop>, 0.05, 1, 2);
// ---------------------------------------------------------------------------------------------------------------------------------------------


// Tau Fruit
// ---------------------------------------------------------------------------------------------------------------------------------------------
val tau = crops.create("tau", <item:bloodmagic:weak_tau>, <blockstate:bloodmagic:weak_tau:age=7>, 1600, "dirt");
tau.addDrop(<item:bloodmagic:weak_tau>, 0.9);
// ---------------------------------------------------------------------------------------------------------------------------------------------

// Cave Roots
// ---------------------------------------------------------------------------------------------------------------------------------------------
val caveroots = crops.create("caveroots", <item:quark:root_item>, <blockstate:twilightforest:root>, 800, "stone");
caveroots.addDrop(<item:quark:root_item>, 0.9);
// ---------------------------------------------------------------------------------------------------------------------------------------------


// Otherworld Sapling
// ---------------------------------------------------------------------------------------------------------------------------------------------
val otherworld = crops.create("otherworld_sapling", <item:occultism:otherworld_sapling>, <blockstate:occultism:otherworld_sapling:stage=0>, 2400, "dirt");
otherworld.addDrop(<item:occultism:otherworld_log>, 0.5);
otherworld.addDrop(<item:minecraft:stick>, 0.10, 1, 2);
otherworld.addDrop(<item:occultism:otherworld_sapling>, 0.05, 1, 2);
// ---------------------------------------------------------------------------------------------------------------------------------------------























