check for old wheat/cotton seeds and grow to stage_1 via abm

This commit is contained in:
tenplus1 2023-04-07 14:41:51 +01:00
parent 02cf5688fa
commit b5f71d8025
5 changed files with 58 additions and 39 deletions

View File

@ -8,15 +8,16 @@ minetest.register_node("farming:seed_barley", {
inventory_image = "farming_barley_seed.png", inventory_image = "farming_barley_seed.png",
wield_image = "farming_barley_seed.png", wield_image = "farming_barley_seed.png",
drawtype = "signlike", drawtype = "signlike",
groups = {seed = 1, snappy = 3, attached_node = 1}, groups = {seed = 1, snappy = 3, attached_node = 1, growing = 1},
paramtype = "light", paramtype = "light",
paramtype2 = "wallmounted", paramtype2 = "wallmounted",
walkable = false, walkable = false,
sunlight_propagates = true, sunlight_propagates = true,
next_plant = "farming:barley_1",
selection_box = farming.select, selection_box = farming.select,
on_place = function(itemstack, placer, pointed_thing) -- on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "farming:barley_1") -- return farming.place_seed(itemstack, placer, pointed_thing, "farming:barley_1")
end -- end
}) })
-- harvested barley -- harvested barley

View File

@ -34,15 +34,16 @@ minetest.register_node("farming:seed_cotton", {
inventory_image = "farming_cotton_seed.png", inventory_image = "farming_cotton_seed.png",
wield_image = "farming_cotton_seed.png", wield_image = "farming_cotton_seed.png",
drawtype = "signlike", drawtype = "signlike",
groups = {seed = 1, snappy = 3, attached_node = 1, flammable = 4}, groups = {seed = 1, snappy = 3, attached_node = 1, flammable = 4, growing = 1},
paramtype = "light", paramtype = "light",
paramtype2 = "wallmounted", paramtype2 = "wallmounted",
walkable = false, walkable = false,
sunlight_propagates = true, sunlight_propagates = true,
selection_box = farming.select, selection_box = farming.select,
on_place = function(itemstack, placer, pointed_thing) next_plant = "farming:cotton_1",
return farming.place_seed(itemstack, placer, pointed_thing, "farming:cotton_1") -- on_place = function(itemstack, placer, pointed_thing)
end -- return farming.place_seed(itemstack, placer, pointed_thing, "farming:cotton_1")
-- end
}) })
-- cotton -- cotton

View File

@ -8,15 +8,16 @@ minetest.register_node("farming:seed_hemp", {
inventory_image = "farming_hemp_seed.png", inventory_image = "farming_hemp_seed.png",
wield_image = "farming_hemp_seed.png", wield_image = "farming_hemp_seed.png",
drawtype = "signlike", drawtype = "signlike",
groups = {seed = 1, snappy = 3, attached_node = 1}, groups = {seed = 1, snappy = 3, attached_node = 1, growing = 1},
paramtype = "light", paramtype = "light",
paramtype2 = "wallmounted", paramtype2 = "wallmounted",
walkable = false, walkable = false,
sunlight_propagates = true, sunlight_propagates = true,
selection_box = farming.select, selection_box = farming.select,
on_place = function(itemstack, placer, pointed_thing) next_plant = "farming:hemp_1",
return farming.place_seed(itemstack, placer, pointed_thing, "farming:hemp_1") -- on_place = function(itemstack, placer, pointed_thing)
end -- return farming.place_seed(itemstack, placer, pointed_thing, "farming:hemp_1")
-- end
}) })
-- harvested hemp -- harvested hemp

View File

@ -8,15 +8,16 @@ minetest.register_node("farming:seed_wheat", {
inventory_image = "farming_wheat_seed.png", inventory_image = "farming_wheat_seed.png",
wield_image = "farming_wheat_seed.png", wield_image = "farming_wheat_seed.png",
drawtype = "signlike", drawtype = "signlike",
groups = {seed = 1, snappy = 3, attached_node = 1, flammable = 4}, groups = {seed = 1, snappy = 3, attached_node = 1, flammable = 4, growing = 1},
paramtype = "light", paramtype = "light",
paramtype2 = "wallmounted", paramtype2 = "wallmounted",
walkable = false, walkable = false,
sunlight_propagates = true, sunlight_propagates = true,
selection_box = farming.select, selection_box = farming.select,
on_place = function(itemstack, placer, pointed_thing) next_plant = "farming:wheat_1",
return farming.place_seed(itemstack, placer, pointed_thing, "farming:wheat_1") -- on_place = function(itemstack, placer, pointed_thing)
end -- return farming.place_seed(itemstack, placer, pointed_thing, "farming:wheat_1")
-- end
}) })
-- harvested wheat -- harvested wheat

View File

@ -7,7 +7,7 @@
farming = { farming = {
mod = "redo", mod = "redo",
version = "20230122", version = "20230407",
path = minetest.get_modpath("farming"), path = minetest.get_modpath("farming"),
select = { select = {
type = "fixed", type = "fixed",
@ -198,8 +198,8 @@ local function reg_plant_stages(plant_name, stage, force_last)
local old_constr = node_def.on_construct local old_constr = node_def.on_construct
local old_destr = node_def.on_destruct local old_destr = node_def.on_destruct
minetest.override_item(node_name, minetest.override_item(node_name, {
{
on_construct = function(pos) on_construct = function(pos)
if old_constr then if old_constr then
@ -313,8 +313,23 @@ minetest.register_abm({
chance = 1, chance = 1,
catch_up = false, catch_up = false,
action = function(pos, node) action = function(pos, node)
-- check if group:growing node is a seed
local def = minetest.registered_nodes[node.name]
if def.groups and def.groups.seed then
local next_stage = def.next_plant
local p2 = def.place_param2
-- change seed to stage_1 or crop
if next_stage then
minetest.set_node(pos, {name = next_stage, param2 = p2})
end
else
farming.handle_growth(pos, node) farming.handle_growth(pos, node)
end end
end
}) })
@ -542,7 +557,7 @@ farming.register_plant = function(name, def)
inventory_image = def.inventory_image, inventory_image = def.inventory_image,
wield_image = def.inventory_image, wield_image = def.inventory_image,
drawtype = "signlike", drawtype = "signlike",
groups = {seed = 1, snappy = 3, attached_node = 1, flammable = 2}, groups = {seed = 1, snappy = 3, attached_node = 1, flammable = 2, growing = 1},
paramtype = "light", paramtype = "light",
paramtype2 = "wallmounted", paramtype2 = "wallmounted",
walkable = false, walkable = false,
@ -552,8 +567,8 @@ farming.register_plant = function(name, def)
next_plant = mname .. ":" .. pname .. "_1", next_plant = mname .. ":" .. pname .. "_1",
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, return farming.place_seed(itemstack, placer, pointed_thing,
pointed_thing, mname .. ":" .. pname .. "_1") mname .. ":" .. pname .. "_1")
end end
}) })