--[[ Beginners_chest mod Put some useful stuff in chests for the new players Version : 1.1 - 11/8/2014_14h48UTC Last modification by Mg on the : 14/3/2015 @ 14h48 UTC Mod ßý Mg, based on an idea of MinetestForFun/Darcidride ]]-- local chests = { [1] = { position = {x = 43, y = 48, z = -87}, interval_max = 3600, stuff = { [1] = "3d_armor:boots_steel", [2] = "default:pick_stone", [3] = "default:sword_stone", [32] = "" } }, [2] = { position = {x = 34, y = 20, z = 101}, interval_max = 600, stuff = { [1] = "3d_armor:steel_chest", [2] = "throwing:bow_stone", [3] = "default:sword_stone", [4] = "farming:carrot 3", [32] = "" } }, [3] = { position = {x = -36, y = 503, z = -14}, interval_max = 5*60, stuff = { [1] = "default:apple 10", [32] = "" } }, [4] = { position = {x = -44, y = 503, z = -27}, interval_max = 5*60, stuff = { [1] = "default:apple 10", [32] = "" } }, [5] = { position = {x = 22, y = 504, z = -28}, interval_max = 30*60, stuff = { [1] = "3d_armor:diamond_chest", [2] = "default:sword_diamond", [3] = "default:apple 10", [4] = "colormachine:colormachine", [32] = "" } }, [6] = { position = {x = -12, y = 589, z = -16}, interval_max = 30*60, stuff = { [1] = "maptools:gold_coin", [2] = "default:mese", [3] = "3d_armor:boots_mithril", [4] = "maptools:superapple 5", [32] = "" } }, [7] = { position = {x = 6, y = 593, z = -26}, interval_max = 5*60, stuff = { [1] = "default:apple 10", [32] = "" } }, [8] = { position = {x = 13, y = 581, z = -26}, interval_max = 30*60, stuff = { [1] = "default:obsidianbrick", [2] = "default:nyancat 5", [3] = "maptools:gold_coin 5", [4] = "default:axe_nyan", [5] = "maptools:superapple 10", [32] = "" } }, [9] = { position = {x = 25, y = 550, z = -8}, interval_max = 5*60, stuff = { [1] = "default:apple 10", [32] = "" } }, [10] = { position = {x = 32, y = 550, z = 5}, interval_max = 5*60, stuff = { [1] = "default:apple 20", [2] = "maptools:superapple 10", [32] = "" } }, [11] = { position = {x = 65, y = 505, z = 64}, interval_max = 5*60, stuff = { [1] = "homedecor:trophy", [32] = "" } } } minetest.register_globalstep(function(dtime) local i = 1 while i < table.getn(chests)+1 do if not chests[i].stuff then chests[i].stuff = { [1] = "default:wood", [32] = "" } end if not chests[i].interval_timer then chests[i].interval_timer = 0 end if not chests[i].interval_max then chests[i].interval_max = 7200 -- Using default value : 2h end chests[i].interval_timer = chests[i].interval_timer + dtime if chests[i].position.x and chests[i].position.y and chests[i].position.z and chests[i].interval_timer >= chests[i].interval_max then chests[i].interval_timer = 0 local node = minetest.get_node(chests[i].position) if node.name ~= "ignore" then if node.name ~= "default:chest" then if node.name == "air" then minetest.set_node(chests[i].position,{name = "default:chest"}) minetest.log("action","[b_chest]["..i.."] Chest placed at "..chests[i].position.x..", "..chests[i].position.y..", "..chests[i].position.z) if minetest.get_modpath("forceload") ~= nil and (minetest.get_node({chests[i].position.x,chests[i].position.y-1,chests[i].position.z}).name == "air" or minetest.get_node({chests[i].position.x,chests[i].position.y-1,chests[i].position.z}).name == "default:dirt") then -- Enable use of forceload anchors minetest.set_node({chests[i].position.x,chests[i].position.y-1,chests[i].position.z},{name = "forceload:anchor"}) minetest.log("action","[b_chest]["..i.."] Forceload anchor placed under chest") end else minetest.log("action","[b_chest]["..i.."] Unable to place chest at "..chests[i].position.x..", "..chests[i].position.y..", "..chests[i].position.z.." : place already in use.") break end end local meta = minetest.get_meta(chests[i].position) local inv = meta:get_inventory() inv:set_list("main", chests[i].stuff) minetest.log("action","[b_chest]["..i.."] Chest reloaded at "..chests[i].position.x..", "..chests[i].position.y..", "..chests[i].position.z) else minetest.log("action","[b_chest]["..i.."] Cannot reload chest at "..chests[i].position.x..", "..chests[i].position.y..", "..chests[i].position.z.." : area not loaded.") end end i = i + 1 end end)