mirror of
				https://codeberg.org/tenplus1/farming.git
				synced 2025-11-04 08:15:28 +01:00 
			
		
		
		
	check for old wheat/cotton seeds and grow to stage_1 via abm
This commit is contained in:
		@@ -8,15 +8,16 @@ minetest.register_node("farming:seed_barley", {
 | 
			
		||||
	inventory_image = "farming_barley_seed.png",
 | 
			
		||||
	wield_image = "farming_barley_seed.png",
 | 
			
		||||
	drawtype = "signlike",
 | 
			
		||||
	groups = {seed = 1, snappy = 3, attached_node = 1},
 | 
			
		||||
	groups = {seed = 1, snappy = 3, attached_node = 1, growing = 1},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "wallmounted",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	sunlight_propagates = true,
 | 
			
		||||
	next_plant = "farming:barley_1",
 | 
			
		||||
	selection_box = farming.select,
 | 
			
		||||
	on_place = function(itemstack, placer, pointed_thing)
 | 
			
		||||
		return farming.place_seed(itemstack, placer, pointed_thing, "farming:barley_1")
 | 
			
		||||
	end
 | 
			
		||||
--	on_place = function(itemstack, placer, pointed_thing)
 | 
			
		||||
--		return farming.place_seed(itemstack, placer, pointed_thing, "farming:barley_1")
 | 
			
		||||
--	end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- harvested barley
 | 
			
		||||
 
 | 
			
		||||
@@ -34,15 +34,16 @@ minetest.register_node("farming:seed_cotton", {
 | 
			
		||||
	inventory_image = "farming_cotton_seed.png",
 | 
			
		||||
	wield_image = "farming_cotton_seed.png",
 | 
			
		||||
	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",
 | 
			
		||||
	paramtype2 = "wallmounted",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	sunlight_propagates = true,
 | 
			
		||||
	selection_box = farming.select,
 | 
			
		||||
	on_place = function(itemstack, placer, pointed_thing)
 | 
			
		||||
		return farming.place_seed(itemstack, placer, pointed_thing, "farming:cotton_1")
 | 
			
		||||
	end
 | 
			
		||||
	next_plant = "farming:cotton_1",
 | 
			
		||||
--	on_place = function(itemstack, placer, pointed_thing)
 | 
			
		||||
--		return farming.place_seed(itemstack, placer, pointed_thing, "farming:cotton_1")
 | 
			
		||||
--	end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- cotton
 | 
			
		||||
 
 | 
			
		||||
@@ -8,15 +8,16 @@ minetest.register_node("farming:seed_hemp", {
 | 
			
		||||
	inventory_image = "farming_hemp_seed.png",
 | 
			
		||||
	wield_image = "farming_hemp_seed.png",
 | 
			
		||||
	drawtype = "signlike",
 | 
			
		||||
	groups = {seed = 1, snappy = 3, attached_node = 1},
 | 
			
		||||
	groups = {seed = 1, snappy = 3, attached_node = 1, growing = 1},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "wallmounted",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	sunlight_propagates = true,
 | 
			
		||||
	selection_box = farming.select,
 | 
			
		||||
	on_place = function(itemstack, placer, pointed_thing)
 | 
			
		||||
		return farming.place_seed(itemstack, placer, pointed_thing, "farming:hemp_1")
 | 
			
		||||
	end
 | 
			
		||||
	next_plant = "farming:hemp_1",
 | 
			
		||||
--	on_place = function(itemstack, placer, pointed_thing)
 | 
			
		||||
--		return farming.place_seed(itemstack, placer, pointed_thing, "farming:hemp_1")
 | 
			
		||||
--	end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- harvested hemp
 | 
			
		||||
 
 | 
			
		||||
@@ -8,15 +8,16 @@ minetest.register_node("farming:seed_wheat", {
 | 
			
		||||
	inventory_image = "farming_wheat_seed.png",
 | 
			
		||||
	wield_image = "farming_wheat_seed.png",
 | 
			
		||||
	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",
 | 
			
		||||
	paramtype2 = "wallmounted",
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	sunlight_propagates = true,
 | 
			
		||||
	selection_box = farming.select,
 | 
			
		||||
	on_place = function(itemstack, placer, pointed_thing)
 | 
			
		||||
		return farming.place_seed(itemstack, placer, pointed_thing, "farming:wheat_1")
 | 
			
		||||
	end
 | 
			
		||||
	next_plant = "farming:wheat_1",
 | 
			
		||||
--	on_place = function(itemstack, placer, pointed_thing)
 | 
			
		||||
--		return farming.place_seed(itemstack, placer, pointed_thing, "farming:wheat_1")
 | 
			
		||||
--	end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- harvested wheat
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										61
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										61
									
								
								init.lua
									
									
									
									
									
								
							@@ -7,7 +7,7 @@
 | 
			
		||||
 | 
			
		||||
farming = {
 | 
			
		||||
	mod = "redo",
 | 
			
		||||
	version = "20230122",
 | 
			
		||||
	version = "20230407",
 | 
			
		||||
	path = minetest.get_modpath("farming"),
 | 
			
		||||
	select = {
 | 
			
		||||
		type = "fixed",
 | 
			
		||||
@@ -198,30 +198,30 @@ local function reg_plant_stages(plant_name, stage, force_last)
 | 
			
		||||
			local old_constr = node_def.on_construct
 | 
			
		||||
			local old_destr  = node_def.on_destruct
 | 
			
		||||
 | 
			
		||||
			minetest.override_item(node_name,
 | 
			
		||||
				{
 | 
			
		||||
					on_construct = function(pos)
 | 
			
		||||
			minetest.override_item(node_name, {
 | 
			
		||||
 | 
			
		||||
						if old_constr then
 | 
			
		||||
							old_constr(pos)
 | 
			
		||||
						end
 | 
			
		||||
				on_construct = function(pos)
 | 
			
		||||
 | 
			
		||||
						farming.handle_growth(pos)
 | 
			
		||||
					end,
 | 
			
		||||
					if old_constr then
 | 
			
		||||
						old_constr(pos)
 | 
			
		||||
					end
 | 
			
		||||
 | 
			
		||||
					on_destruct = function(pos)
 | 
			
		||||
					farming.handle_growth(pos)
 | 
			
		||||
				end,
 | 
			
		||||
 | 
			
		||||
						minetest.get_node_timer(pos):stop()
 | 
			
		||||
				on_destruct = function(pos)
 | 
			
		||||
 | 
			
		||||
						if old_destr then
 | 
			
		||||
							old_destr(pos)
 | 
			
		||||
						end
 | 
			
		||||
					end,
 | 
			
		||||
					minetest.get_node_timer(pos):stop()
 | 
			
		||||
 | 
			
		||||
					on_timer = function(pos, elapsed)
 | 
			
		||||
						return farming.plant_growth_timer(pos, elapsed, node_name)
 | 
			
		||||
					end,
 | 
			
		||||
				})
 | 
			
		||||
					if old_destr then
 | 
			
		||||
						old_destr(pos)
 | 
			
		||||
					end
 | 
			
		||||
				end,
 | 
			
		||||
 | 
			
		||||
				on_timer = function(pos, elapsed)
 | 
			
		||||
					return farming.plant_growth_timer(pos, elapsed, node_name)
 | 
			
		||||
				end,
 | 
			
		||||
			})
 | 
			
		||||
		end
 | 
			
		||||
 | 
			
		||||
	elseif force_last then
 | 
			
		||||
@@ -313,7 +313,22 @@ minetest.register_abm({
 | 
			
		||||
	chance = 1,
 | 
			
		||||
	catch_up = false,
 | 
			
		||||
	action = function(pos, node)
 | 
			
		||||
		farming.handle_growth(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)
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -542,7 +557,7 @@ farming.register_plant = function(name, def)
 | 
			
		||||
		inventory_image = def.inventory_image,
 | 
			
		||||
		wield_image = def.inventory_image,
 | 
			
		||||
		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",
 | 
			
		||||
		paramtype2 = "wallmounted",
 | 
			
		||||
		walkable = false,
 | 
			
		||||
@@ -552,8 +567,8 @@ farming.register_plant = function(name, def)
 | 
			
		||||
		next_plant = mname .. ":" .. pname .. "_1",
 | 
			
		||||
 | 
			
		||||
		on_place = function(itemstack, placer, pointed_thing)
 | 
			
		||||
			return farming.place_seed(itemstack, placer,
 | 
			
		||||
				pointed_thing, mname .. ":" .. pname .. "_1")
 | 
			
		||||
			return farming.place_seed(itemstack, placer, pointed_thing,
 | 
			
		||||
					mname .. ":" .. pname .. "_1")
 | 
			
		||||
		end
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user