minetest_farming_super/init.lua

1149 lines
27 KiB
Lua

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,
})