farming_super = {} local modpath = minetest.get_modpath("farming_super") dofile(modpath.."/nodes.lua") dofile(modpath.."/api.lua") dofile(modpath.."/vines.lua") dofile(modpath.."/hops.lua") dofile(modpath.."/grapes.lua") dofile(modpath.."/trees.lua") dofile(modpath.."/durian.lua") --[[ TODO: crops artichoke asparagus barley beans black pepper broccoli brussels sprouts canola cassava celery eggplant garlic ginger green onions on harvesting young onions hemp jicama leeks lentils lettuce mustard oats okra peanuts peppers potatoes rhubarb rice sorghum squash strawberry sugar beets sugarcane sunflower sweet potatoes taro tomato turnips yams much later: cucumber -- gourds grapes hops kiwi lotus TODO: features corn oil processing sugar processing TODO: core pests, locusts like butterflies stick or strings for plants to grow on wilting on low water dead version of all plants yellowing on bad soil fruit trees apple, proper all citrus pears durian, jackfruit fruit flies rotten fruit on the ground converts dirt tree hybrids smudge pots keep flower level on tree growth vinegar scythe for harvesting larger squares better solution for excessive hoe clicking drop-in replacement for farming_plus BUGS: seed will move to first stage without wet soil fix on_place to not re-place the same plant and waste inventory ]] minetest.register_craftitem("farming_super:corn", { description = "Corn", inventory_image = "farming_super_corn.png", on_use = minetest.item_eat(1), }) minetest.register_craftitem("farming_super:cooked_corn", { description = "Cooked Corn", inventory_image = "farming_super_cooked_corn.png", on_use = minetest.item_eat(4), }) minetest.register_craft({ type = "cooking", cooktime = 10, output = "farming_super:cooked_corn", recipe = "farming_super:corn" }) local corndrop = { max_items = 6, items = { { items = {'farming_super:seed_corn'} }, { items = {'farming_super:seed_corn'}, rarity = 2}, { items = {'farming_super:seed_corn'}, rarity = 5}, { items = {'farming_super:corn 2'} }, { items = {'farming_super:corn'}, rarity = 2 }, { items = {'farming_super:corn'}, rarity = 5 } } } -- todo: extra step where corn dries out and gives no fruit but more seeds -- regular corn with standard yield farming_super.register_plant("farming_super:corn", { description = "Corn", paramtype2 = "meshoptions", inventory_image = "farming_super_seed_corn.png", seed_variants = { {minNitrogen=15, maxNitrogen=16, name="farming_super:corn_lg"}, {minNitrogen=10, maxNitrogen=14, name="farming_super:corn"}, {minNitrogen=3, maxNitrogen=9, name="farming_super:corn_sm"}, {minNitrogen=0, maxNitrogen=2, name="death"}, }, steps = {3, 2, 2}, -- phases, steps per tier default_drop = {}, drops = { p3s2t2 = corndrop, -- phase 3, step 2, tier 2 }, textures = { -- overrides default texture naming, allowing reuse p2s1t2 = "farming_super_corn_1_1_1.png", p2s2t1 = "farming_super_corn_2_1_1.png", p2s2t2 = "farming_super_corn_1_3_1.png", p3s1t1 = "farming_super_corn_2_1_1.png", p3s1t2 = "farming_super_corn_2_1_1.png", p3s1t3 = "farming_super_corn_1_2_1.png", p3s2t1 = "farming_super_corn_2_1_1.png", p3s2t2 = "farming_super_corn_4_2_2.png", p3s2t3 = "farming_super_corn_4_2_4.png", }, minlight = 13, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, use_nitrogen = 2}, place_param2 = 2, }) -- smaller corn with less yield farming_super.register_plant("farming_super:corn_sm", { description = "Corn", paramtype2 = "meshoptions", inventory_image = "farming_super_seed_corn.png", steps = {3, 4}, -- phases, steps per tier default_drop = {}, no_seed = true, -- seeds and harvests are already registered no_harvest = true, drops = { p2s4t1 = { max_items = 4, items = { { items = {'farming_super:seed_corn'} }, { items = {'farming_super:seed_corn'}, rarity = 5}, { items = {'farming_super:corn '} }, { items = {'farming_super:corn'}, rarity = 5 } } }, -- phase 3, step 2, tier 2 }, textures = { -- overrides default texture naming, allowing reuse base = "farming_super_corn", p2s1t2 = "farming_super_corn_1_1_1.png", p2s2t1 = "farming_super_corn_2_1_1.png", p2s2t2 = "farming_super_corn_1_2_1.png", p2s3t1 = "farming_super_corn_2_1_1.png", p2s3t2 = "farming_super_corn_1_3_1.png", p2s4t1 = "farming_super_corn_4_2_2.png", p2s4t2 = "farming_super_corn_4_2_4.png", }, minlight = 13, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, use_nitrogen = 1}, place_param2 = 2, }) -- large corn with large yield farming_super.register_plant("farming_super:corn_lg", { description = "Corn", paramtype2 = "meshoptions", inventory_image = "farming_super_seed_corn.png", steps = {3, 1, 1, 2}, -- phases, steps per tier default_drop = {}, no_seed = true, -- seeds and harvests are already registered no_harvest = true, drops = { p4s2t2 = corndrop, -- phase 4, step 2, tier 2 p4s2t3 = corndrop, }, textures = { -- overrides default texture naming, allowing reuse base = "farming_super_corn", p2s1t2 = "farming_super_corn_1_2_1.png", p3s1t1 = "farming_super_corn_2_1_1.png", p3s1t2 = "farming_super_corn_2_1_1.png", p3s1t3 = "farming_super_corn_1_2_1.png", p4s1t1 = "farming_super_corn_2_1_1.png", p4s1t2 = "farming_super_corn_2_1_1.png", p4s1t3 = "farming_super_corn_2_1_1.png", p4s1t4 = "farming_super_corn_1_2_1.png", p4s2t1 = "farming_super_corn_2_1_1.png", p4s2t3 = "farming_super_corn_4_2_2.png", }, minlight = 13, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, use_nitrogen = 3}, place_param2 = 2, }) --[[ minetest.register_decoration({ name = "farming_super:corn_sm", deco_type = "simple", place_on = {"default:dry_dirt_with_dry_grass", "default:dry_dirt"}, sidelen = 16, noise_params = { offset = -0.0003, scale = 0.0009, spread = {x = 200, y = 200, z = 200}, seed = 9752, octaves = 3, persist = 0.6 }, biomes = {"savanna",}, y_max = 128, y_min = 5, decoration = "farming_super:corn_sm", param2 = 3, }) ]] -- standard soybeans farming_super.register_plant("farming_super:soybeans", { description = "Soybeans", paramtype2 = "meshoptions", place_param2 = "X", inventory_image = "farming_super_seed_soybeans.png", steps = {5}, -- phases, steps per tier default_drop = {}, drops = { p1s5t1 = { max_items = 5, items = { { items = {'farming_super:seed_soybeans'} }, { items = {'farming_super:seed_soybeans'}, rarity = 2}, { items = {'farming_super:seed_soybeans'}, rarity = 5}, { items = {'farming_super:soybeans 2'} }, { items = {'farming_super:soybeans'}, rarity = 3 } } }, }, minlight = 13, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, fix_nitrogen = 1}, }) farming_super.register_plant("farming_super:onion_yellow", { description = "Yellow Onion", paramtype2 = "meshoptions", place_param2 = "hatch", inventory_image = "farming_super_seed_yellow_onion.png", steps = {4}, -- phases, steps per tier step_len = {1, 2, 3, 4}, default_drop = {}, drops = { p1s4t1 = { max_items = 4, items = { { items = {'farming_super:seed_onion_yellow'} }, { items = {'farming_super:seed_onion_yellow'}, rarity = 2}, { items = {'farming_super:seed_onion_yellow'}, rarity = 5}, { items = {'farming_super:onion_yellow'} }, } }, }, textures = { -- overrides default texture naming, allowing reuse base = "farming_super_onion", p1s4t1 = "farming_super_onion_yellow_1_4_1.png", }, minlight = 13, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4}, }) farming_super.register_plant("farming_super:onion_white", { description = "White Onion", paramtype2 = "meshoptions", place_param2 = "#", inventory_image = "farming_super_seed_white_onion.png", steps = {4}, -- phases, steps per tier step_len = {1, 2, 3, 4}, default_drop = {}, drops = { p1s4t1 = { max_items = 4, items = { { items = {'farming_super:seed_white_onion'} }, { items = {'farming_super:seed_white_onion'}, rarity = 2}, { items = {'farming_super:seed_white_onion'}, rarity = 5}, { items = {'farming_super:onion_white'} }, } }, }, textures = { -- overrides default texture naming, allowing reuse base = "farming_super_onion", p1s4t1 = "farming_super_onion_white_1_4_1.png", }, minlight = 13, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4}, }) farming_super.register_plant("farming_super:onion_red", { description = "Red Onion", paramtype2 = "meshoptions", place_param2 = "#", inventory_image = "farming_super_seed_red_onion.png", steps = {4}, -- phases, steps per tier step_len = {1, 2, 3, 4}, default_drop = {}, drops = { p1s4t1 = { max_items = 4, items = { { items = {'farming_super:seed_red_onion'} }, { items = {'farming_super:seed_red_onion'}, rarity = 2}, { items = {'farming_super:seed_red_onion'}, rarity = 5}, { items = {'farming_super:onion_red'} }, } }, }, textures = { -- overrides default texture naming, allowing reuse base = "farming_super_onion", p1s4t1 = "farming_super_onion_red_1_4_1.png", }, minlight = 13, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4}, }) minetest.register_decoration({ name = "farming_super:onion_5_1", deco_type = "simple", place_on = {"default:dry_dirt_with_dry_grass", "default:dry_dirt"}, sidelen = 16, noise_params = { offset = -0.0002, scale = 0.0009, spread = {x = 200, y = 200, z = 200}, seed = 2548, octaves = 3, persist = 0.6 }, biomes = {"savanna",}, y_max = 128, y_min = 5, decoration = { "farming_super:onion_red_4_1", "farming_super:onion_white_4_1", "farming_super:onion_yellow_4_1", }, param2 = 3, }) local function place_pineapple(itemstack, placer, pointedthing) local above = pointedthing.above local under = pointedthing.under local soil = minetest.get_node_or_nil(under) if not soil then return itemstack end if minetest.get_item_group(soil.name, "wet") < 1 then return itemstack end if minetest.get_item_group(soil.name, "desert") < 1 then return itemstack end minetest.set_node(above, {name="farming_super:pineapple_1_1", param2=2 }) farming_super.tick_node(above, 1) itemstack:take_item(1) return itemstack end minetest.register_craftitem("farming_super:pineapple_sucker", { description = "Pineapple Sucker", inventory_image = "farming_super_pineapple_sucker.png", on_place = place_pineapple, }) minetest.register_craftitem("farming_super:pineapple_top", { description = "Pineapple Top", inventory_image = "farming_super_pineapple_top.png", on_place = place_pineapple, }) minetest.register_craftitem("farming_super:pineapple", { description = "Pineapple", inventory_image = "farming_super_pineapple.png", on_use = minetest.item_eat(6, "farming_super:pineapple_top"), }) farming_super.register_plant("farming_super:pineapple", { description = "Pineapple", paramtype2 = "meshoptions", place_param2 = "hex", inventory_image = "farming_super_pineapple_top.png", steps = {5}, -- phases, steps per tier default_drop = {}, no_seed = true, -- pineapples don't have seeds in practice no_harvest = true, -- defined above for special behavior drops = { p1s5t1 = { max_items = 2, items = { { items = {'farming_super:pineapple'} }, { items = {'farming_super:pineapple_sucker'}, rarity = 4 }, } }, }, minlight = 13, maxlight = 15, fertility = {"desert"}, groups = {flammable = 4}, }) minetest.register_decoration({ name = "farming_super:pineapple_5_1", deco_type = "simple", place_on = {"default:desert_sand", "default:sand"}, sidelen = 16, noise_params = { offset = -0.0003, scale = 0.0009, spread = {x = 200, y = 200, z = 200}, seed = 3456, octaves = 3, persist = 0.6 }, biomes = {"desert", "sandstone_desert", "desert_ocean"}, y_max = 6, y_min = 0, decoration = "farming_super:pineapple_5_1", param2 = 2, }) -- standard soybeans farming_super.register_plant("farming_super:soybeans", { description = "Soybeans", paramtype2 = "meshoptions", place_param2 = "X", inventory_image = "farming_super_seed_soybeans.png", -- visual_scale = 1.3, step_len = {1, 2, 2, 2}, steps = {5}, -- phases, steps per tier default_drop = {}, drops = { p1s5t1 = { max_items = 5, items = { { items = {'farming_super:seed_soybeans'} }, { items = {'farming_super:seed_soybeans'}, rarity = 2}, { items = {'farming_super:seed_soybeans'}, rarity = 5}, { items = {'farming_super:soybeans 2'} }, { items = {'farming_super:soybeans'}, rarity = 3 } } }, }, minlight = 13, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, fix_nitrogen = 1}, }) minetest.register_decoration({ name = "farming_super:soybeans_5_1", deco_type = "simple", place_on = {"default:dirt_with_grass",}, sidelen = 16, noise_params = { offset = -0.0003, scale = 0.0009, spread = {x = 200, y = 200, z = 200}, seed = 9764, octaves = 3, persist = 0.6 }, biomes = {"grassland",}, y_max = 128, y_min = 5, decoration = "farming_super:soybeans_5_1", param2 = 0, }) -- standard cabbage farming_super.register_plant("farming_super:cabbage", { description = "Cabbage", paramtype2 = "meshoptions", place_param2 = "X", inventory_image = "farming_super_seed_cabbage.png", -- visual_scale = 1.3, steps = {4}, -- phases, steps per tier step_len = {1, 1, 2, 2}, textures = { -- overrides default texture naming, allowing reuse p1s1t1 = "farming_super_green_pixels_1.png", p1s2t1 = "farming_super_green_pixels_2.png", p1s3t1 = "farming_super_cabbage_3.png", p1s4t1 = "farming_super_cabbage_4.png", }, default_drop = {}, drops = { p1s4t1 = { max_items = 4, items = { { items = {'farming_super:seed_cabbage'} }, { items = {'farming_super:seed_cabbage'}, rarity = 2}, { items = {'farming_super:seed_cabbage'}, rarity = 5}, { items = {'farming_super:cabbage'} }, } }, }, minlight = 10, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, }, }) minetest.register_decoration({ name = "farming_super:cabbage_4_1", deco_type = "simple", place_on = {"default:dirt_with_rainforest_litter",}, sidelen = 16, noise_params = { offset = -0.0003, scale = 0.0009, spread = {x = 200, y = 200, z = 200}, seed = 5278, octaves = 3, persist = 0.6 }, biomes = {"jungle",}, y_max = 30, y_min = 1, decoration = "farming_super:cabbage_4_1", param2 = 0, }) -- standard cauliflower farming_super.register_plant("farming_super:cauliflower", { description = "Cauliflower", paramtype2 = "meshoptions", place_param2 = "X", inventory_image = "farming_super_seed_cauliflower.png", -- visual_scale = 1.3, steps = {4}, -- phases, steps per tier step_len = {1, 1, 2, 2}, textures = { -- overrides default texture naming, allowing reuse p1s1t1 = "farming_super_green_pixels_1.png", p1s2t1 = "farming_super_green_pixels_2.png", p1s3t1 = "farming_super_cabbage_3.png", p1s4t1 = "farming_super_cauliflower_4.png", }, default_drop = {}, drops = { p1s4t1 = { max_items = 4, items = { { items = {'farming_super:seed_cauliflower'} }, { items = {'farming_super:seed_cauliflower'}, rarity = 2}, { items = {'farming_super:seed_cauliflower'}, rarity = 5}, { items = {'farming_super:cauliflower'} }, } }, }, minlight = 10, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, }, }) minetest.register_decoration({ name = "farming_super:cauliflower_4_1", deco_type = "simple", place_on = {"default:dirt_with_rainforest_litter",}, sidelen = 16, noise_params = { offset = -0.0003, scale = 0.0009, spread = {x = 200, y = 200, z = 200}, seed = 8743, octaves = 3, persist = 0.6 }, biomes = {"jungle",}, y_max = 30, y_min = 1, decoration = "farming_super:cauliflower_4_1", param2 = 0, }) -- standard radish farming_super.register_plant("farming_super:radish", { description = "Radish", paramtype2 = "meshoptions", place_param2 = "hatch", inventory_image = "farming_super_seed_radish.png", -- visual_scale = 1.3, eat_value = 1, steps = {4}, -- phases, steps per tier step_len = {1, 2, 2, 2}, textures = { -- overrides default texture naming, allowing reuse p1s1t1 = "farming_super_2x_green_pixels_1.png", p1s2t1 = "farming_super_2x_green_pixels_2.png", p1s3t1 = "farming_super_radish_3.png", p1s4t1 = "farming_super_radish_4.png", }, default_drop = {}, drops = { p1s4t1 = { max_items = 4, items = { { items = {'farming_super:seed_radish'} }, { items = {'farming_super:seed_radish'}, rarity = 2}, { items = {'farming_super:seed_radish'}, rarity = 5}, { items = {'farming_super:radish 4'} }, } }, }, minlight = 10, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, }, }) minetest.register_decoration({ name = "farming_super:radish_4_1", deco_type = "simple", place_on = {"default:dirt_with_coniferous_litter",}, sidelen = 16, noise_params = { offset = -0.0003, scale = 0.0009, spread = {x = 200, y = 200, z = 200}, seed = 4782, octaves = 3, persist = 0.6 }, biomes = {"coniferous_forest", }, y_max = 30, y_min = 1, decoration = "farming_super:radish_4_1", param2 = 3, }) -- standard daikon farming_super.register_plant("farming_super:daikon", { description = "Daikon", paramtype2 = "meshoptions", place_param2 = "V", inventory_image = "farming_super_seed_daikon.png", -- visual_scale = 1.3, eat_value = 4, steps = {4}, -- phases, steps per tier step_len = {1, 2, 2, 2}, textures = { -- overrides default texture naming, allowing reuse p1s1t1 = "farming_super_green_pixels_1.png", p1s2t1 = "farming_super_green_pixels_2.png", p1s3t1 = "farming_super_daikon_3.png", p1s4t1 = "farming_super_daikon_4.png", }, default_drop = {}, drops = { p1s4t1 = { max_items = 4, items = { { items = {'farming_super:seed_daikon'} }, { items = {'farming_super:seed_daikon'}, rarity = 2}, { items = {'farming_super:seed_daikon'}, rarity = 5}, { items = {'farming_super:daikon 4'} }, } }, }, minlight = 10, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, }, }) minetest.register_decoration({ name = "farming_super:daikon_4_1", deco_type = "simple", place_on = {"default:dirt_with_jungle_litter",}, sidelen = 16, noise_params = { offset = -0.0003, scale = 0.0009, spread = {x = 200, y = 200, z = 200}, seed = 7362, octaves = 3, persist = 0.6 }, biomes = {"jungle", }, y_max = 30, y_min = 1, decoration = "farming_super:daikon_4_1", param2 = 4, }) -- standard beet farming_super.register_plant("farming_super:beet", { description = "Beet", paramtype2 = "meshoptions", place_param2 = "#", inventory_image = "farming_super_seed_beet.png", -- visual_scale = 1.3, eat_value = 2, steps = {4}, -- phases, steps per tier step_len = {1, 2, 2, 2}, textures = { -- overrides default texture naming, allowing reuse p1s1t1 = "farming_super_2x_green_pixels_1.png", p1s2t1 = "farming_super_2x_green_pixels_2.png", p1s3t1 = "farming_super_beet_3.png", p1s4t1 = "farming_super_beet_4.png", }, default_drop = {}, drops = { p1s4t1 = { max_items = 3, items = { { items = {'farming_super:seed_beet'} }, { items = {'farming_super:seed_beet'}, rarity = 2}, { items = {'farming_super:seed_beet'}, rarity = 5}, { items = {'farming_super:beet 4'} }, } }, }, minlight = 10, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, }, }) minetest.register_decoration({ name = "farming_super:beet_4_1", deco_type = "simple", place_on = {"default:dirt_with_grass",}, sidelen = 16, noise_params = { offset = -0.0003, scale = 0.0009, spread = {x = 200, y = 200, z = 200}, seed = 8421, octaves = 3, persist = 0.6 }, biomes = {"grassland", }, y_max = 70, y_min = 1, decoration = "farming_super:beet_4_1", param2 = 3, }) -- standard carrot farming_super.register_plant("farming_super:carrot", { description = "Carrot", paramtype2 = "meshoptions", place_param2 = "#", inventory_image = "farming_super_seed_carrot.png", -- visual_scale = 1.3, eat_value = 2, steps = {4}, -- phases, steps per tier step_len = {1, 2, 3, 3}, textures = { -- overrides default texture naming, allowing reuse p1s1t1 = "farming_super_2x_green_pixels_1.png", p1s2t1 = "farming_super_2x_green_pixels_2.png", p1s3t1 = "farming_super_carrot_3.png", p1s4t1 = "farming_super_carrot_4.png", }, default_drop = {}, drops = { p1s4t1 = { max_items = 3, items = { { items = {'farming_super:seed_carrot'} }, { items = {'farming_super:seed_carrot'}, rarity = 2}, { items = {'farming_super:seed_carrot'}, rarity = 5}, { items = {'farming_super:carrot 4'} }, } }, }, minlight = 10, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, }, }) minetest.register_decoration({ name = "farming_super:carrot_4_1", deco_type = "simple", place_on = {"default:dirt_with_grass",}, sidelen = 16, noise_params = { offset = -0.0003, scale = 0.0009, spread = {x = 200, y = 200, z = 200}, seed = 2679, octaves = 3, persist = 0.6 }, biomes = {"grassland", }, y_max = 70, y_min = 1, decoration = "farming_super:carrot_4_1", param2 = 3, }) -- standard carrot_red farming_super.register_plant("farming_super:carrot_red", { description = "Carrot, Red", paramtype2 = "meshoptions", place_param2 = "#", inventory_image = "farming_super_seed_carrot.png", -- visual_scale = 1.3, eat_value = 2, steps = {4}, -- phases, steps per tier step_len = {1, 2, 3, 3}, textures = { -- overrides default texture naming, allowing reuse p1s1t1 = "farming_super_2x_green_pixels_1.png", p1s2t1 = "farming_super_2x_green_pixels_2.png", p1s3t1 = "farming_super_carrot_3.png", p1s4t1 = "farming_super_carrot_red_4.png", }, default_drop = {}, drops = { p1s4t1 = { max_items = 3, items = { { items = {'farming_super:seed_carrot_red'} }, { items = {'farming_super:seed_carrot_red'}, rarity = 2}, { items = {'farming_super:seed_carrot_red'}, rarity = 5}, { items = {'farming_super:carrot_red 4'} }, } }, }, minlight = 10, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, }, }) minetest.register_decoration({ name = "farming_super:carrot_red_4_1", deco_type = "simple", place_on = {"default:dirt_with_grass",}, sidelen = 16, noise_params = { offset = -0.0003, scale = 0.0009, spread = {x = 200, y = 200, z = 200}, seed = 8432, octaves = 3, persist = 0.6 }, biomes = {"grassland", }, y_max = 70, y_min = 1, decoration = "farming_super:carrot_red_4_1", param2 = 3, }) -- standard carrot_yellow farming_super.register_plant("farming_super:carrot_yellow", { description = "Carrot, Yellow", paramtype2 = "meshoptions", place_param2 = "#", inventory_image = "farming_super_seed_carrot.png", -- visual_scale = 1.3, eat_value = 2, steps = {4}, -- phases, steps per tier step_len = {1, 2, 3, 3}, textures = { -- overrides default texture naming, allowing reuse p1s1t1 = "farming_super_2x_green_pixels_1.png", p1s2t1 = "farming_super_2x_green_pixels_2.png", p1s3t1 = "farming_super_carrot_3.png", p1s4t1 = "farming_super_carrot_yellow_4.png", }, default_drop = {}, drops = { p1s4t1 = { max_items = 3, items = { { items = {'farming_super:seed_carrot_yellow'} }, { items = {'farming_super:seed_carrot_yellow'}, rarity = 2}, { items = {'farming_super:seed_carrot_yellow'}, rarity = 5}, { items = {'farming_super:carrot_yellow 4'} }, } }, }, minlight = 10, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, }, }) minetest.register_decoration({ name = "farming_super:carrot_yellow_4_1", deco_type = "simple", place_on = {"default:dirt_with_grass",}, sidelen = 16, noise_params = { offset = -0.0003, scale = 0.0009, spread = {x = 200, y = 200, z = 200}, seed = 1437, octaves = 3, persist = 0.6 }, biomes = {"grassland", }, y_max = 70, y_min = 1, decoration = "farming_super:carrot_yellow_4_1", param2 = 3, }) -- standard carrot_purple farming_super.register_plant("farming_super:carrot_purple", { description = "Carrot, Purple", paramtype2 = "meshoptions", place_param2 = "#", inventory_image = "farming_super_seed_carrot.png", -- visual_scale = 1.3, eat_value = 2, steps = {4}, -- phases, steps per tier step_len = {1, 2, 3, 3}, textures = { -- overrides default texture naming, allowing reuse p1s1t1 = "farming_super_2x_green_pixels_1.png", p1s2t1 = "farming_super_2x_green_pixels_2.png", p1s3t1 = "farming_super_carrot_3.png", p1s4t1 = "farming_super_carrot_purple_4.png", }, default_drop = {}, drops = { p1s4t1 = { max_items = 3, items = { { items = {'farming_super:seed_carrot_purple'} }, { items = {'farming_super:seed_carrot_purple'}, rarity = 2}, { items = {'farming_super:seed_carrot_purple'}, rarity = 5}, { items = {'farming_super:carrot_purple 4'} }, } }, }, minlight = 10, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, }, }) minetest.register_decoration({ name = "farming_super:carrot_purple_4_1", deco_type = "simple", place_on = {"default:dirt_with_grass",}, sidelen = 16, noise_params = { offset = -0.0003, scale = 0.0009, spread = {x = 200, y = 200, z = 200}, seed = 9978, octaves = 3, persist = 0.6 }, biomes = {"grassland", }, y_max = 70, y_min = 1, decoration = "farming_super:carrot_purple_4_1", param2 = 3, }) -- rice farming_super.register_plant("farming_super:rice", { description = "Rice", paramtype2 = "meshoptions", place_param2 = "#", inventory_image = "farming_super_seed_rice.png", default_drop = {}, eat_value = 2, -- visual_scale = 1.3, steps = {8}, -- phases, steps per tier drops = { p1s8t1 = { max_items = 4, items = { { items = {'farming_super:seed_rice 3'} }, { items = {'farming_super:seed_rice'}, rarity = 2}, { items = {'farming_super:seed_rice'}, rarity = 5}, } }, }, minlight = 10, maxlight = 15, fertility = {"grassland"}, groups = {flammable = 4, }, }) minetest.register_craft({ output = "farming_super:rice", type = "cooking", recipe = "farming_super:seed_rice", }) minetest.register_decoration({ name = "farming_super:rice_8_1", deco_type = "simple", place_on = {"default:dirt_with_rainforest_litter",}, sidelen = 16, noise_params = { offset = -0.0003, scale = 0.0009, spread = {x = 200, y = 200, z = 200}, seed = 1365, octaves = 3, persist = 0.6 }, biomes = {"jungle",}, y_max = 30, y_min = 1, decoration = "farming_super:rice_8_1", param2 = 0, }) dofile(modpath.."/crafts.lua") minetest.register_node("farming_super:test", { description = "Tester", drawtype = "plantlike", -- waving = 1, -- visual_scale = 1.69, tiles = {"farming_super_trellis.png"}, inventory_image = "farming_super_test.png", paramtype = "light", paramtype2 = "meshoptions", sunlight_propagates = true, -- walkable = false, buildable_to = false, grape_color = color, groups = {snappy = 2, plant=1, oddly_breakable_by_hand = 1, }, sounds = default.node_sound_leaves_defaults(), selection_box = { type = "fixed", fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.5, 4 / 16}, }, collision_box = { type = "fixed", fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.5, 4 / 16}, }, place_param2 = 3, })