4 function schems.get(name)
5 return schems.loaded[name].data
8 function schems.get_raw(name)
9 return schems.loaded[name].raw
12 function schems.load(name)
14 local file = io.open(minetest.get_modpath(minetest.get_current_modname()) .. "/schems/" .. name .. ".we", "r")
15 schem.raw = file:read()
17 local _, _, contents = file:read("*number", 1, "*all")
19 schem.data = minetest.deserialize(contents)
20 schems.loaded[name] = schem
23 function schems.check(pos, name)
24 local schem = schems.get(name)
25 for _, n in ipairs(schem) do
26 if minetest.get_node(vector.add(pos, n)).name ~= n.name then
33 function schems.remove(pos, name)
34 local schem = schems.get(name)
35 for _, n in ipairs(schem) do
36 minetest.remove_node(vector.add(pos, n))
40 function schems.add_schem(pos, schemname)
41 local schem_raw = schems.get_raw(schemname)
42 worldedit.deserialize(pos, schem_raw)
45 elidragon.schems = schems