settlements/init.lua

60 lines
1.7 KiB
Lua
Raw Normal View History

package.cpath = package.cpath .. ";/usr/share/lua/5.2/?.so"
package.path = package.path .. ";/usr/share/zbstudio/lualibs/mobdebug/?.lua"
require('mobdebug').start()
2018-06-14 12:29:21 -07:00
settlements = {}
settlements.modpath = minetest.get_modpath("settlements");
2018-06-18 11:20:03 -07:00
dofile(settlements.modpath.."/const.lua")
2018-06-14 12:29:21 -07:00
dofile(settlements.modpath.."/utils.lua")
2018-06-26 11:08:14 -07:00
dofile(settlements.modpath.."/foundation.lua")
--dofile(settlements.modpath.."/doors.lua")
2018-06-15 11:52:37 -07:00
dofile(settlements.modpath.."/buildings.lua")
2018-06-14 12:29:21 -07:00
2018-06-15 11:52:37 -07:00
local function place_settlement(minp, maxp)
-- wait xx seconds until building a new settlement
last_time = os.time() + 30
-- find locations for buildings
local location_list = settlements.find_locations(minp, maxp)
if location_list then
2018-06-19 11:45:26 -07:00
minetest.chat_send_all("Dorf")
2018-06-15 11:52:37 -07:00
-- for each location, build something
for i, mpos in ipairs(location_list) do
minetest.after(0.5, function()
2018-06-21 12:16:00 -07:00
settlements.build_schematic(mpos)
2018-06-15 11:52:37 -07:00
end)
end
end
end
2018-06-15 11:52:37 -07:00
--
-- on map generation, try to build a settlement
--
minetest.register_on_generated(function(minp, maxp, seed)
2018-06-15 11:52:37 -07:00
if maxp.y < 0 then
return
end
if math.random(0,10)<9 or os.time() < last_time then
return
2018-06-15 05:23:25 -07:00
end
2018-06-29 05:52:56 -07:00
-- place_settlement(minp, maxp)
settlements.place_settlement_circle(minp, maxp)
2018-06-15 05:23:25 -07:00
end)
2018-06-15 11:52:37 -07:00
--
-- manually place buildings, for debugging
--
minetest.register_craftitem("settlements:tool", {
2018-06-15 05:23:25 -07:00
description = "settlements build tool",
inventory_image = "default_tool_woodshovel.png",
on_use = function(itemstack, placer, pointed_thing)
local p = pointed_thing.under
if p then
settlements.build_schematic(p)
-- settlements.convert_mts_to_lua()
2018-06-26 06:02:25 -07:00
-- settlements.mts_save()
2018-06-15 05:23:25 -07:00
end
end
})