From 8a82fb2bb57083e4d72ec3dd02d4294fe932490b Mon Sep 17 00:00:00 2001 From: crabman77 Date: Wed, 26 Aug 2015 03:16:22 +0200 Subject: [PATCH] added farming refill placed plant --- minetestforfun_game/mods/farming/beanpole.lua | 3 ++ minetestforfun_game/mods/farming/init.lua | 35 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/minetestforfun_game/mods/farming/beanpole.lua b/minetestforfun_game/mods/farming/beanpole.lua index f9ba1327..0d194fb3 100755 --- a/minetestforfun_game/mods/farming/beanpole.lua +++ b/minetestforfun_game/mods/farming/beanpole.lua @@ -17,6 +17,9 @@ minetest.register_craftitem("farming:beans", { end if not minetest.setting_getbool("creative_mode") then itemstack:take_item() + if itemstack:get_count() == 0 then--MFF DEBUT crabman(26/08/2015) refill placed plant + minetest.after(0.20, farming.refill_plant, placer, "farming:beans", placer:get_wield_index()) + end --MFF FIN end return itemstack end diff --git a/minetestforfun_game/mods/farming/init.lua b/minetestforfun_game/mods/farming/init.lua index 02048a24..84293e4c 100755 --- a/minetestforfun_game/mods/farming/init.lua +++ b/minetestforfun_game/mods/farming/init.lua @@ -390,6 +390,38 @@ if farming.DEBUG then end end +--MFF DEBUT1 crabman(26/08/2015) refill placed plant +local can_refill_plant = { + ["farming:blueberry_1"] = "farming:blueberries", + ["farming:carrot_1"] = "farming:carrot", + ["farming:coffee_1"] = "farming:coffee_beans", + ["farming:corn_1"] = "farming:corn", + ["farming:cotton_1"] = "farming:seed_cotton", + ["farming:cucumber_1"] = "farming:cucumber", + ["farming:melon_1"] = "farming:melon_slice", + ["farming:potato_1"] = "farming:potato", + ["farming:pumpkin_1"] = "farming:pumpkin_slice", + ["farming:raspberry_1"] = "farming:raspberries", + ["farming:rhubarb_1"] = "farming:rhubarb", + ["farming:tomato_1"] = "farming:tomato", + ["farming:wheat_1"] = "farming:seed_wheat" + } + +function farming.refill_plant(player, plantname, index) + local inv = player:get_inventory() + local old_stack = inv:get_stack("main", index) + if old_stack:get_name() ~= "" then return end + for i,stack in ipairs(inv:get_list("main")) do + if stack:get_name() == plantname and i ~= index then + inv:set_stack("main", index, stack) + stack:clear() + inv:set_stack("main", i, stack) + --minetest.log("action", "farming: refilled stack("..plantname..") of " .. player:get_player_name() ) + return + end + end +end --MFF FIN1 + -- Place Seeds on Soil function farming.place_seed(itemstack, placer, pointed_thing, plantname) @@ -426,6 +458,9 @@ function farming.place_seed(itemstack, placer, pointed_thing, plantname) minetest.add_node(pt.above, {name=plantname}) if not minetest.setting_getbool("creative_mode") then itemstack:take_item() + if itemstack:get_count() == 0 and can_refill_plant[plantname] then--MFF DEBUT2 crabman(26/08/2015) refill placed plant + minetest.after(0.10, farming.refill_plant, placer, can_refill_plant[plantname], placer:get_wield_index()) + end --MFF FIN2 end return itemstack end